深入理解Java虚拟机:JVM高级特性与最佳实践 读后感

在这里插入图片描述

最开始学编程是学的C语言,后来工作了就使用了Mac电脑,发现C语言没法移植,感觉很麻烦,代码都得重写一遍,毕业后开始做安卓开发,
接触了java语言,我第一反应就是,会不会我以后换电脑,代码还需要重写一遍,这不很麻烦?在开 的时候发现了java会生成.class文件,开始没觉得怎么样,后来一天用windows开发的同事让我把demo借他看看,发现可以直接在window上运行,这才知道这都是java虚拟机的功劳,后来他推荐给我周志明的《深入理解Java虚拟机:JVM高级特性与最佳实践 》 一书,是第二版,买回来就爱不释手,隔段时间就翻看,随着工作年龄的增加,每次翻看,对立面的内容都有更加深刻的理解。

write once run everywhere 这个功能太赞了!!可以跨平台了!随着不断地研读 才知道他是 将 .java会生成.class 文件。然后jvm 会将.class 文件翻译成机器码(101010) 在不同的平台上,jvm会将相同的.class文件转换成不同的机器码。 在深入就理解Classloader,java将class文件的二进制文件加载到jvm中的内存中,放在了方法区里面,然后在堆中创建class对象。用来封装方法区中的数据结构。然后映射为jvm可以识别的数据结果(class对象),这个class对象就是用来访问方法区的入口。 然后就是双亲委派,打破双亲委派。 这段内容看似简单,但是因为当时水平有限,反复阅读了很多遍才能理解。现在还能记得第一次看这段内容的时候,真的是味同爵蜡。通过反复的看才真正理解周志明书中的意思,真的是书读百遍其义自见。

感觉jvm真的很难,工作一两年的去啃英文的java虚拟机规范更是难上加难,幸亏有了周志明的《深入理解Java虚拟机》这本书,让我们可以最快速的去理解 java虚拟机的实现原理,代码是怎么跑起来的。

后来就遇到了更多关于java虚拟机的问题,因为java虚拟机自己动的进行内存的管理、回收,所以马上就出现了oom等问题,根本就无从下手,这个时候就想到了《深入理解Java虚拟机》赶紧拿起来翻看,这才得知,内存泄漏,内存溢出等问题。知道了栈上分配,内存逃逸,MLAB等技术,也理解了gc的流程,新生代,来年代,minorgc,fullgc等等。感觉jvm虚拟机内存自动管理真是个双刃剑,也需要开发者了解其内部原理。

同时也很感谢周志明写出了《深入理解Java虚拟机:JVM高级特性与最佳实践》 这本书,让国内java开发者能快速的了解java虚拟机的原理,解决了很多开发上的问题。

java还在不断的进步,jvm也不断的迭代,作为java开发者不断的去研究jvm是非常有必要的,只要不断地了解底层的原理,才能在工作中解决棘手问题,在同事中脱颖而出。

京东购买链接为:https://item.jd.com/12607299.html?dist=jd

当当购买链接为:http://product.dangdang.com/28495225.html

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值