JVM
奋斗的小小蚂蚁
无处安放的大长腿
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java 虚拟机JVM,内存模型JMM
JVM的JMM (Java Memory Model)线程共享:方法区、堆区线程私有:虚拟机栈、本地方法栈、程序计数器。一、方法区 (线程共享)存放已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等。特点1、线程共享,方法区是堆的一个逻辑部分,因此和堆一样,都是线程共享的。整个虚拟机中只有一个方法区。2、永久代,方法区中的信息一般需要长期存在,而且它又是堆的逻辑分区,因此用堆的划分...原创 2018-04-08 08:14:21 · 250 阅读 · 0 评论 -
JVM内存分配
堆内存JVM 初始分配的内存由-Xms 指定,默认是物理内存的 1/64;JVM 最大分配的内存由-Xmx 指定,默认是物理内存的 1/4;默认空余堆内存小于 40% 时,JVM 就会增大堆直到-Xmx 的最大限制;空余堆内存大于 70% 时,JVM 会减少堆直到 -Xms 的最小限制;因此服务器一般设置-Xms、-Xmx 相等以避免在每次 GC 后调整堆的大小。对象的堆内存由称为垃圾回收器的自动...原创 2018-05-17 10:05:15 · 293 阅读 · 0 评论 -
JVM中GC什么时候开始进行
GC 经常发生的区域是堆区,堆区还可以细分为新生代、老年代,新生代还分为一个 Eden 区和两个 Survivor 区。对象优先在 Eden 中分配,当 Eden 中没有足够空间时,虚拟机将发生一次 Minor GC,因为 Java 大多数对象都是朝生夕灭,所以 Minor GC 非常频繁,而且速度也很快;Full GC,发生在老年代的 GC,当老年代没有足够的空间时即发生 Full GC,发生 ...原创 2018-05-17 10:16:00 · 8253 阅读 · 0 评论 -
jvm可达性分析算法中,哪些可以作为root?
被启动类(bootstrap 加载器)加载的类和创建的对象;JavaStack 中的引用的对象 (栈内存中引用的对象);方法区中静态引用指向的对象;方法区中常量引用指向的对象;Native 方法中 JNI 引用的对象。...原创 2018-05-17 10:18:32 · 3560 阅读 · 0 评论
分享