jvm
文章平均质量分 90
介绍jvm相关内容
青鱼入云
这个作者很懒,什么都没留下…
展开
-
强引用、软引用、弱引用、虚引用的区别
弱引用也是用来描述那些非必须对象,但是它的强度比软引用更弱一些,被弱引用关联的对象只能生存到下一次垃圾收集发生为止。Java中的引用有四种,分为强引用(Strongly Reference)、软引用(Soft Reference)、弱引用(Weak Reference)和虚引用(Phantom Reference)4种,这4种引用强度依次逐渐减弱。强引用是最传统的引用的定义,是指在程序代码之中普遍存在的引用赋值,无论任何情况下,只要强引用关系还存在,垃圾收集器就永远不会回收掉被引用的对象。原创 2023-11-16 20:28:05 · 111 阅读 · 0 评论 -
面试:JVM问题
jvm面试相关问题原创 2023-08-03 19:09:39 · 744 阅读 · 0 评论 -
JVM序列:jvm工具集
(1)jps: 可以查看虚拟机进程状况工具 (2)jstat: 虚拟机统计信息监视工具 jstat -gc可以查看gc,jit等统计信息 (3)jinfo: Java配置信息工具 (4)jmap: Java内存映像工具 选项 作用 -dump 生成堆转储快照 -heap 线上堆详细信息,如:使用哪种回收器、参数配置、分代状况等 ...原创 2018-05-03 20:35:30 · 354 阅读 · 0 评论 -
JVM系列:内存分配策略
(1)对象优先在Eden分配 (2)大对象直接进入老年代 (3)长期存活对象将进入老年代 (4)动态对象年龄判定 (5)空间分配担保原创 2018-05-03 20:11:08 · 298 阅读 · 0 评论 -
JVM系列:垃圾收集器
常用的有那么几种垃圾收集器,java7中大家习惯用ParNew+CMS组合分别清理新生代和老年代,java8中使用G1收集器。 (1)ParNew收集器: ParNew收集器是Serial收集器的多线程版本,新生代使用复制算法,老年代使用标记-整理算法。 (2)CMS收集器: 基于“标记-清除”算法,亿获取最短回收停顿时间为目标,适合作为服务器的收集算法。 (3)G1收集器: 与cms...原创 2018-05-03 20:09:54 · 174 阅读 · 0 评论 -
JVM系列:垃圾收集算法
复制算法: 适用于“朝生夕死”的数据,每次收集将存活的对象一次性地复制到另外一块空间上,优点是效率高、实现简单,缺点是总有一块空内存作为轮换备份,所以新生代按8:1:1分配eden和survivor,这样浪费的只有1/10的部分了。如果survivor区不够复制过去,那么就需要老年代作“分配担保”了。 标记清除算法: 垃圾回收的时候首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记...原创 2018-05-03 19:48:34 · 202 阅读 · 0 评论 -
JVM系列:java运行时数据区域
jvm的运行时数据区域按线程隔离分为两类:线程共享区与线程独占区。 我们常说的堆栈分别对应里面的Java堆与虚拟机栈。堆是线程共享的,栈是线程私有的。 (1)程序计数器:Program Counter Register 程序计数器是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。 (2)Java虚拟机栈:Java Virtual Machine Stacks...原创 2018-05-03 18:21:22 · 222 阅读 · 0 评论 -
JVM系列(一):自己编译jdk遇到的一些坑
两个月前开始学习jvm,买了本书《深入理解Java虚拟机-JVM高级特性与最佳实践——周志明著》,卡在第一章自己编译JDK,一直报错,然后便停顿了两个月,前几天再一次拾起,终于搞定。过程中惊险刺激先不说,弄完就想着把经历的坑都写出来,避免下次遇见。 再然后,便遇着了卡了我两个月的问题,看下图: 后来这个问题其实很简单就解决了,在两个月后我重新编译的时候,熟原创 2017-10-21 12:35:04 · 4139 阅读 · 2 评论