JVM
文章平均质量分 84
关于jvm方面的学习
李嘉图呀李嘉图
觉得内容对你有帮助的话就点点关注吧
展开
-
JVM - 垃圾回收器
譬如把此参数设置为19, 那允许的最大垃圾收集时间就占总时间的5%(即1/(1+19)) , 默认值为99, 即允许最大1%(即1/(1+99)) 的垃圾收集时间。在JDK 5的默认设置下, CMS收集器当老年代使用了68%的空间后就会被激活, 这是一个偏保守的设置, 如果在实际应用中老年代增长并不是太快, 可以适当调高参数 -XX: CMSInitiatingOccu-pancyFraction的值 来提高CMS的触发百分比, 降低内存回收频率, 获取更好的性能。因此,年轻代和老年代都是同时收集的。...原创 2022-08-31 22:47:22 · 768 阅读 · 1 评论 -
JVM-垃圾收集算法
如果内存中多数对象都是存活的, 这种算法将会产生大量的内存间复制的开销, 但对于多数对象都是可回收的情况, 算法需要复制的就是占少数的存活对象, 而且每次都是针对整个半区进行内存回收, 分配内存时也就不用考虑有空间碎片的复杂情况, 只要移动堆顶指针, 按顺序分配即可.因此并不需要按照1∶1的比例来划分新生代的内存空间。算法分为“标记”和“清除”两个阶段: 首先标记出所有需要回收的对象, 在标记完成后,统一回收掉所有被标记的对象, 也可以反过来, 标记存活的对象, 统一回 收所有未被标记的对象。...原创 2022-08-31 21:28:29 · 318 阅读 · 0 评论 -
JVM垃圾回收机制及算法
即使在可达性分析算法中判定为不可达的对象,也不是“非死不可”的,这时候它们暂时还处于“缓刑”阶段,要真正宣告一个对象死亡,至少要经历两次标记过程:第一次标记:如果对象在进行可达性分析后发现没有与GCRoots相连接的引用链,那它将会被第一次标记,随后进行一次筛选,筛选的条件是此对象是否有必要执行finalize()方法。没有必要:假如对象没有覆盖finalize()方法,或者finalize()方法已经被虚拟机调用过,那么虚拟机将这两种情况...原创 2022-08-31 16:37:39 · 334 阅读 · 0 评论 -
JVM类加载机制详解
init()并不是程序员在Java代码中直接编写 的方法, 它是Javac编译器的 自动生成物,init()方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块(static{}块) 中的语句合并产 生的, 编译器收集的顺序是由语句在源文件中出现的顺序决定的, 静态语句块中只能访问到定义在静态语句块之前的变量, 定义在它之后的变量, 在前面的静态语句块可以赋值, 但是不能访问, 如代码所示。其中 static 字段和 static 代码块,是属于类的,在类的加载的初始化阶段就已经被执行。...原创 2022-08-31 14:55:54 · 852 阅读 · 0 评论 -
JVM常用调优及监控指令
该文章主要讲述JVM常规调优参数及调优命令原创 2022-08-15 18:34:30 · 543 阅读 · 0 评论 -
Windows多环境下Jinfo命令异常
Windows多环境下Jinfo命令异常处理方案原创 2022-08-11 14:17:17 · 715 阅读 · 0 评论 -
JVM内存模型详解
本文主要讲解JVM运行时内存模型原创 2022-08-09 18:02:42 · 3507 阅读 · 3 评论