我与《深入理解Java虚拟机-JVM高级特性与最佳实践》的故事

很早很早就听过周老师的大名,最早接触到这本书是从第二版小蓝开始的,现在小蓝还躺在我家的书架里,时不时拿出来翻一翻,作为一枚Java程序猿,没拜读过周老师的《深入理解Java虚拟机-JVM高级特性与最佳实践》都不能算做入门,不得不说,在JVM领域,这已经是最权威的书之一了。

上学时

大学时学的是计算机专业,在刚开始学习Java的时候,就知道Java的可移植性、一次编译四处运行等优秀的形容词,那时候计算机语言掌握得不深,整天沉溺于基础语法,各种小算法无法自拔,对于JVM,觉得是一个很底层的知识,甚至于操作系统一个级别,反倒是没有认真研究过。基本上会安装一个JDK,设置环境变量,程序可以跑起来,然后在上面编写课后的作业小习题,直到毕业时,掌握了一些常用的框架,会写各种Demo,就信心满满的去找工作了,结果面试的时候有被问到JVM的问题,自然是一脸茫然,受了几次打击后,回来搜一搜JVM,发现都在推荐周老师的《深入理解Java虚拟机-JVM高级特性与最佳实践》这本书,赶紧买了一本,恶补了几天,算是了解了一些基本概念。从那时起,每年把这本书从书架上抽出来,翻一翻,温故而知新,每次都有一点点新的收获。

上班后

上班的工作任务是从基本的CRUD开始的,后面涉及一些数据库设计,模块设计等,研发阶段偶尔秀一秀设计模式,真正让我认识到JVM的威力还是在定位生产问题上,明明研发环境和测试环境都是好的,到了生产怎么着就不行了呢?头疼的OOM异常、GC日志,诡异的Stackoverflow,最开始查起来真是一头雾水,没辙,只能求助组内大佬,膜拜大佬们运用jstack,jmap等命令瞬间定位,快速解决,当时的想法是,这问题丢给我的话,估计得十天半个月,嘿嘿。问题解决后,向大佬们取经,发现组内大佬们对JVM的理解都很深,并向我推荐看《深入理解Java虚拟机-JVM高级特性与最佳实践》这本书,哦,原来是这样,之前只是看书,没有充分实践到工作中,所以遇到问题是一脸茫然,我又重新认真阅读并尝试理解上面的概念,重点关注实战部分,并自己模拟一些OOM、stackoverflow的错误,对比书上讲的知识,反复验证,直到能够理解为止。

随着工作的不断深入,对JVM的理解也相应地深入一些,比如Java volatile关键字的作用,为什么它能保证volatile修饰的变量对所有线程的可见性,它的实现原理是什么,JAVA内存模型是什么样的,内存原语是如何协作,串联成一个完整的读、写操作的,这些知识点,在这本书中周老师都用非常专业,非常易懂的方式向我们讲解相关的原理。另外对各种垃圾回收的算法,优劣也分析得特别透彻。

现在,我也能熟练运用jinfo,jmap,jstack命令从生产环境想要的信息,见到OmitStackTraceInFastThrow优化项也不奇怪了,明显可以感觉到学习这本书带来的成长。

写在最后

周老师的《深入理解Java虚拟机-JVM高级特性与最佳实践》第三版即将发售,浏览了一下目录,感觉在第二版的基础上进行了非常多的更新,融合了最新的JDK 12,13版本,给我们讲解全新的JVM相关特性与技术,期望发售。

购买请扫二维码:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值