
Java虚拟机
Mr丶D0ng
这个作者很懒,什么都没留下…
展开
-
能跟我说一下内存溢出的排查步骤么?
在排查之前,我想jvm的基础知识大家应该都是了解了的吧?我就是不了解,人家要你说给我听。行行行,诶真实拿你们没办法,那我就带大家回温一下JVM的内存模型(这玩意跟JAVA内存模型JMM可不一样,不要记错了)今天我就直说堆,因为溢出是发送在堆中的。JVM堆内存被分为两部分:年轻代(Young Generation)和老年代(Old Generation)。年轻代年轻代是所有新对象产生的地...转载 2020-04-17 19:12:55 · 229 阅读 · 0 评论 -
Java虚拟机垃圾收集详解(面试必备)
背景知识垃圾收集主要是针对堆和方法区进行。程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后就会消失,因此不需要对这三个区域进行垃圾回收。一、判断一个对象是否可被回收1. 引用计数算法为对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的对象可被回收。在两个对象出现循环引用的情况下,此时引用计...原创 2020-04-13 22:25:38 · 208 阅读 · 0 评论 -
Java内存模型的三大特性
内存间交互操作Java 内存模型定义了 8 个操作来完成主内存和工作内存的交互操作。read:把一个变量的值从主内存传输到工作内存中load:在 read 之后执行,把 read 得到的值放入工作内存的变量副本中use:把工作内存中一个变量的值传递给执行引擎assign:把一个从执行引擎接收到的值赋给工作内存的变量store:把工作内存的一个变量的值传送到主内存中write:在 ...原创 2020-04-06 23:35:42 · 528 阅读 · 0 评论