
JVM从小白学成大佬
JVM的重要性毋庸置疑,可以毫不夸张的说Java虚拟机是整个Java平台的基石。 JVM方面的知识,也一直是BAT等大厂面试考核的重点。性能调优,你知道是从哪些方面入手吗? 此专栏结合自己对JVM的理解,从java运行时数据区、java内存模型(JMM)、什么是垃圾回收,垃圾回收算法、垃圾收集器、内存分配与回收策略等。 相信学习完专栏,在面试时被问到JVM,你定能跟面试官侃侃而谈,话聊人生!
猿人谷
【欢迎关注微信公众号:猿人谷】技术成长没有捷径,唯有积累。没有啥大佬,代码写多了,坑踩多了,想多了,写代码自然就顺手了。
展开
-
别总说CMS、G1,该聊聊ZGC了
在开始介绍前,我们可以剧透几点:根据不同分代的特点,收集器可能不同。有些收集器可以同时用于新生代和老年代,而有些时候,则需要分别为新生代或老年代选用合适的收集器。一般来说,新生代收集器的收集频率较高,应选用性能高效的收集器;而老年代收集器收集次数相对较少,对空间较为敏感,应当避免选择基于复制算法的收集器。在垃圾收集执行的时刻,应用程序需要暂停运行。可以串行收集,也可以并行收集。如果能做到...原创 2020-04-20 15:43:09 · 2344 阅读 · 0 评论 -
【面试必备】小伙伴栽在了JVM的内存分配策略。。。
周末有小伙伴留言说上周面试时被问到内存分配策略的问题,但回答的不够理想,小伙伴说之前公号里看过这一块的文章的,当时看时很清楚,也知道各个策略是干嘛的,但面试时脑子里清楚,心里很明白,但嘴里就是说不清楚,说出来的就是像云像雾又像风,最后面试官说他应该是不清楚这一块的内容这里给小伙伴要再次说明下,任何知识点,先抓主干,再摸细节。对于面试来说,能把各个主干捋清楚,只要面试官要求不是太高,都是能过...原创 2019-09-23 10:46:35 · 6249 阅读 · 4 评论 -
【JVM从小白学成大佬】6.创建对象及对象的访问定位
《JVM从小白学成大佬》系列推出到现在,收到了很多小伙伴的好评,也收到了一些小伙伴的建议,在此表示感谢。有几个小伙伴提出了希望出一篇介绍对象的创建及访问,猿人谷向来是没有原则的,小伙们要求啥,咱就尽力满足,毕竟文章就是对自己学习的一个总结及和各位小伙伴交流学习的机会。话不多说,直接开撸!1 创建对象在Java程序运行过程中无时无刻都有对象被创建出来,java中对象可以采用new或反射或clo...原创 2019-09-04 11:31:01 · 1602 阅读 · 0 评论 -
【JVM从小白学成大佬】5.垃圾收集器及内存分配策略
前面介绍了垃圾回收算法,接下来我们介绍垃圾收集器和内存分配的策略。有没有一种牛逼的收集器像银弹一样适配所有场景?很明显,不可能有,不然我也没必要单独搞一篇文章来介绍垃圾收集器了。熟悉不同收集器的优缺点,在实际的场景中灵活运用,才是王道。在开始介绍垃圾收集器前,我们可以剧透几点:根据不同分代的特点,收集器可能不同。有些收集器可以同时用于新生代和老年代,而有些时候,则需要分别为新生代或老年代选用...原创 2019-08-29 09:57:49 · 984 阅读 · 0 评论 -
【JVM从小白学成大佬】4.Java虚拟机何谓垃圾及垃圾回收算法
在Java中内存是由虚拟机自动管理的,虚拟机在内存中划出一片区域,作为满足程序内存分配请求的空间。内存的创建仍然是由程序猿来显示指定的,但是对象的释放却对程序猿是透明的。就是解放了程序猿手动回收内存的工作,交给垃圾回收器来自动回收。在虚拟机中,释放哪些不再被使用的对象所占空间的过程称为垃圾收集(Garbage Collection,GC)。负责垃圾收集的程序模块,成为垃圾收集器(Garbage...原创 2019-08-26 10:02:10 · 988 阅读 · 0 评论 -
【JVM从小白学成大佬】3.深入解析强引用、软引用、弱引用、幻象引用
关于强引用、软引用、弱引用、幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用。在java语言中,除了原始数据类型(boolean、byte、short、char、int、float、double、long)的变量,其他所有都是所谓的引用类型,指向各种不同的对象。理解这些引用的区别,对于掌握jav...原创 2019-09-03 15:04:08 · 733 阅读 · 0 评论 -
【JVM从小白学成大佬】2.Java虚拟机运行时数据区
目录1.运行时数据区介绍2.堆(Heap)是否可能有两个对象共用一段内存的事故?3.方法区(Method Area)4.程序计数器(Program Counter Register)5.虚拟机栈(VM Stack)6.本地方法栈(Native Method Stack)7.扩展知识点7.1 栈上分配和逃逸分析7.2 栈帧7.3 Java对象是不是都创建在...原创 2019-08-19 10:42:50 · 1072 阅读 · 4 评论 -
【JVM从小白学成大佬】1.开篇
JVM的重要性毋庸置疑,可以毫不夸张的说Java虚拟机是整个Java平台的基石。 JVM方面的知识,也一直是BAT等大厂面试考核的重点。特别是JVM调优,故障排查性能调优,你知道该从哪些方面入手吗?此专栏结合自己对JVM的理解,从java运行时数据区、java内存模型(JMM)、什么是垃圾回收,垃圾回收算法、垃圾收集器、内存分配与回收策略等,也会介绍安全点、安全区域等知识点,还有什么是“卡带”?...原创 2019-08-19 10:49:48 · 966 阅读 · 0 评论