JVM 1、JVM 的位置 运行在操作系统之上的 java程序是排在 jre(jvm) 上的 所谓的JVM 调优就是在堆里面调,方法区就是 一个特殊的堆 2、JVM 的体系结构 3、类的加载器 作用 加载 class 文件 类加载器分为好几个,有等级 1、虚拟机自带的加载器 2、启动类(根)加载器 ...
分类:
其他好文 时间:
2020-08-20 18:22:08
阅读次数:
61
1.GC回收哪些内存区域呢?堆内存对象数组方法区该类所有的额实例都已经被回收,也就是java堆中不存在该类的任何实例加载该类的ClassLoader已经被回收该类对应的java.lang.Class对象在任何地方没有被引用,也无法通过反射访问该类方法。垃圾回收性价比比较低,一般不回收废弃常量无用的类(需要同时满足以下三个条件)2.GC是如何判断垃圾对象的?1.引用计数法给对象的对象头中添加一个co
分类:
编程语言 时间:
2020-08-18 13:42:33
阅读次数:
73
昨天和一个同事吃了一个饭,他要离职去深圳了,当时一起来到这个公司,还是我介绍他来这里的,辗转一年多了,我们才聚了一次,各自都在忙碌各自的生活。他是一个高材生,算法比我溜多了,昨天吃饭,深受打击,如果以后有机会去大公司面试,一定必考的就是算法题,还记得去年自己面试的时候,大公司的算法题是真的不会啊。想想就让自己觉得特别丧。我好菜啊。其实回头自己静下来想一想,自己其实也是有自己的优势的,那就是自己对运
分类:
编程语言 时间:
2020-08-18 13:39:48
阅读次数:
68
单例的7种设计思路 1:饿汉式:final类不允许被继承,static实例能利用jvm的<clinit>确保同步,缺点就是无法保证被ClassLoader加载的singleton04在什么时候使用, 这就意味着singleton04实例所开辟的堆内存空间会驻留更久的时间,这种情况对轻资源的类来说影响 ...
分类:
其他好文 时间:
2020-08-17 16:42:17
阅读次数:
61
之前在介绍JVM内存模型的时候(参看:了解JVM内存模型),提到了在运行时数据区之前,有个ClassLoader,这个就是类加载器。用以把Class文件中的描述信息加载到内存中运行和使用。以下是《深入理解Java虚拟机第二版》对类加载器机制的定义原文:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载
分类:
其他好文 时间:
2020-08-15 22:21:10
阅读次数:
62
通常,我们在写java程序的时候,似乎很少关注内存分配和垃圾回收的问题。因为,这部分工作,JVM已经帮我们自动实现了。这样看起来,好像很美好,但是任何事情都有两面性。虽然JVM会自动的进行垃圾回收,但是,如果遇到有些问题,JVM自己也处理不了呢?因此,我们需要了解一下JVM垃圾回收是怎样运作的,这样才能在遇到问题的时候,有的放矢。所以,今天就来聊一聊JVM的垃圾回收吧。首先,思考一下,为什么需要进
分类:
其他好文 时间:
2020-08-13 22:24:45
阅读次数:
97
设置datax java 堆栈内存大小python datax.py --jvm="-Xms5G -Xmx5G" 编译插件mvn -U clean package assembly:assembly -Dmaven.test.skip=true ...
分类:
其他好文 时间:
2020-08-13 11:49:41
阅读次数:
46
JVM类加载 1. Java对象的创建过程 类加载检查 > 分配内存 > 初始化零值 > 设置对象头 > 执行init方法 1.1 类加载检查 虚拟机遇到一条new指令时,首先检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有 ...
分类:
其他好文 时间:
2020-08-12 15:40:12
阅读次数:
54
本文带您重点理解GC原理,以及gc引起的磁盘不回收故障分析总结
分类:
数据库 时间:
2020-08-11 17:30:45
阅读次数:
93
我们把jdk安装完成后,在命名行输入java -version 不仅可以看到jdk版本相关信息,还会看到类似与 Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode) 这样的信息。 其中有个Server VM (build 25 ...
分类:
其他好文 时间:
2020-08-10 22:09:02
阅读次数:
89