- 博客(8)
- 收藏
- 关注
原创 【对线面试】JVM全网最强面试对答
文章目录面试官: 今天我们来聊聊JVM吧!!!面试官:那你先说一下 JVM 的内存区域有哪些?面试官:很好,你刚刚提到永久代,那你知道永久代和元空间的区别吗面试官:很不错,那我再问问,那你知道为什么 Java8 之后要移除永久代替换成元空间吗?面试官:JMM 是什么能简单说一下么?面试官:那你能聊聊主内存和工作内存是如何交互操作的吗?面试官:我们聊聊堆这块内存,你刚刚提到了对象是分配在堆内存里的,那怎么判断是否要回收呢?面试官:老年代的对象可能引用新生代的对象,那标记存活对象的时候,需要扫描老年代中的所有对
2022-05-11 20:53:58 653
原创 【大厂突击】七、全面的 G1 学习资料
背景在 G1 收集器之前 CMS 算的上是一款优秀的收集器,它主要的优点有:并发收集、低停顿等。但是它的缺点也很明显比如:CMS收集器对CPU资源非常敏感。在并发阶段,虽然不会导致用户线程停顿,但是会占用CPU资源而导致引用程序变慢,总吞吐量下降。CMS默认启动的回收线程数是:(CPU数量+3) / 4CMS收集器无法处理浮动垃圾,由于CMS并发清理阶段用户线程还在运行,伴随程序的运行自然会有新的垃圾不断产生,这一部分垃圾出现在标记过程之后,称为“浮动垃圾”,CMS 无法在本次收集中处理它们,只好留待
2022-05-04 20:42:42 424
原创 【大厂突击】六、Minor GC、Young GC、Full GC、Old GC、Major GC、Mixed GC 一文搞懂
Minor GC、Young GC、Full GC、Old GC、Major GC、Mixed GC 一文搞懂
2022-04-10 20:13:51 1753
原创 【大厂突击】四、虚拟机类加载机制(下)
深入分析类加载阶段的过程、类加载器、双亲委派、打破双亲委派等问题,并且提到了类加载过程分为加载、验证、准备、解析、初始化等阶段。那 JVM 是如何做验证、准备、解析、初始化等过程的呢?经常提到的符号引用和指针引用是什么呢?接下一一为看官解答,希望各位看的开心😄
2022-03-31 18:15:16 1253
原创 【大厂突击】三、虚拟机类加载机制(上)
虚拟机是如何进行类加载、解析、初始化的呢?类加载过程中虚拟机进行了哪些工作呢?什么是类加载器?什么是双亲委派?为什么又有打破双亲委派?
2022-03-27 17:59:42 1729
原创 【大厂突击】一、JVM运行时内存区域
1.基本概念JVM 可以理解成运行 Java 代码的虚机,虚拟机在执行 java 程序的过程中会把它管理的内存分割成几块区域,这几块区域各司其职,互相合作来保证程序的完整运行。如上图所示,运行时数据区被划分成为五块,分别是线程私有区域:程序计数器、java 虚拟机栈、本地方法栈,以及线程共享区域:java堆、方法区。接下来我们来逐一看看这些被划分的区域的用途。程序计数器程序计数器是一块相对较小的空间,它相当于一个执行程序的行号指示器,那到底什么是行号指示器呢?这里我们来举个例子,大家应该都玩过超级
2022-03-23 23:18:09 1364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人