请选择 进入手机版 | 继续访问电脑版

好程序员-千锋教育旗下高端IT职业教育品牌

400-811-9990
我的账户
好程序员

专注高端IT职业培训

亲爱的猿猿,欢迎!

已有账号,请

如尚未注册?

[JavaEE] 好程序员Java分享JVM从哪方面入手学习

[复制链接]
叶子老师 发表于 2019-9-19 15:16:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
  好程序员Java培训分享JVM从哪方面入手学习,无论什么级别的Java从业者,JVM都是进阶时必须迈过的坎。不管是工作还是面试中,JVM都是必考题。如果不懂JVM的话,薪酬会非常吃亏。掌握了JVM机制,就等于学会了深层次解决问题的方法。对于Java开发者而言,只有熟悉底层虚拟机的运行机制,才能通过JVM日志深入到字节码的层次去分析排查问题,发现隐性的系统缺陷,进而提升系统性能。

java.png

  一些技术人员开发工具用得很熟练,触及JVM问题时却是模棱两可,甚至连内存模型和内存区域,HotSpot和JVM规范,都混淆不清。工作很长时间,在生产时还在用缺省参数来直接启动,以致系统运行时出现性能、稳定性等问题时束手无措,不知该如何追踪排查。久而久之,这对自己的职业成长是极为不利的.
  学习JVM首先需要了解Java的运行时数据区域,Java的数据区域包括程序记录器,Java
  虚拟机栈,本地方法栈,堆,方法区,运行时常量池和直接内存.在这些内存区域内,最为重要的是方法栈和堆内存。
  其次需要了解到对象的构建过程,对象的内存布局,内存的布局包括三块区域——对象头、实例数据和对其填充。更为重要的是关于对象创建后的访问方式,包含句柄和直接指针的方式。在这里句柄的访问方式最为重要,句柄的最大好处是 reference 中存储的是稳定的句柄地址,在对象移动(GC)是只改变实例数据指针地址,reference 自身不需要修改。直接指针访问的最大好处是速度快,节省了一次指针定位的时间开销。如果是对象频繁 GC 那么句柄方法好,如果是对象频繁访问则直接指针访问好。
  最后需要了解到JVM的垃圾回收机制和内存分配机制,需要了解到引用计数法,可达性分析法,这两种方法是配合使用的,引用计数计算对象的引用次数,而可达性分析法会分析对象的访问情况。在垃圾回收中,需要针对每一代的算法进行了解,涉及到新生代的标记-清除算法,老年代的标记整理算法,以及分代算法。
好程序员Java培训官网:http://www.goodprogrammer.org/

精彩内容,一键分享给更多人!
回复

使用道具 举报

您需要登录后才可以回帖

本版积分规则

关注我们
好程序员
千锋好程序员

北京校区(总部):北京市海淀区宝盛北里西区28号中关村智诚科创大厦

深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷B座A区605-619

杭州龙驰智慧谷校区:浙江省杭州市下沙经济技术开发区元成路199号龙驰智慧谷B座7层

郑州校区:郑州市二七区航海中路60号海为科技园C区10层、12层

Copyright 2007-2019 北京千锋互联科技有限公司 .All Right

京ICP备12003911号-5 京公安网11010802011455号

请您保持通讯畅通1对1咨询马上开启