当前位置: 首页 > news >正文

#我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​

作者:maerknon

 

前言

9月的一个傍晚,和同事吃着饭刷着微博,突然间给了我一个惊喜,周老师的《深入理解Java虚拟机》第三版在撰写了,瞬间充满了期待并发了一条朋友圈,期待这一天早点到来……恰巧今天刷到周老师转发“华章图书”的微博。 

 

心路历程

我与Java结缘于大一,通过学校工作室的培训,开始学会用Java写一些简单的代码片段,那时从高年级的同学口中听说这本书,由于刚入门,每一个从学长学姐口中吐出的书名都觉得特别神圣,也因此记住了这个名字。“《深入理解Java虚拟机》——等我以后技术变强了,我会来看你的”,于是暗暗立下决心,想成为紫霞仙子口中的那个盖世英雄,脚踏七彩祥云,身披金甲圣衣,去得到那本Java世界里很神圣的书。

在工作室经过各种项目的不断训练,我逐步掌握了Java的常用技能,时间很快来到了大二暑期。由于不打算考研,我选择在大三的时候找一份实习,之后毕业进入互联网公司。在准备复习的过程中,又一次从高年级学长口中听到这本书的名字。此时我感觉时机成熟了,是时候开始学习这本别人眼中的Java必读书。可以说这本书引领我进入了Java的另一个世界,初次接触时对书中阐述的各个概念和知识点都很好奇,以至于我在找实习时对书中各个部分的阐述都很熟悉,面试时问到虚拟机相关的问题都能对答如流,也心中窃喜——幸好我看了《深入理解Java虚拟机》。此后的实习期,在公司中对书上的介绍有了实践上的认知,概念上对Java虚拟机的认识更加立体。

因为接触了Java,也因为看了《深入理解Java虚拟机》,毕业后我如愿进入了一家互联网公司。如果说此前是王国维定义的人生中三个阶段的第一阶段——看山是山,看水是水。那么今年暑期的时间我便进入了第二个阶段——看山不是山,看水不是水。

杭州的夏天漫长而炎热,周末最好的去处便是图书馆,带上一本书,在图书馆一呆就是一整天。在这段时间里,我开始系统性的学习操作系统,利用周末时间把CSAPP看了一遍。在学操作系统的过程中有一次不经意翻到《深入理解Java虚拟机》,发现书上的很多概念竟然和CASPP如出一辙。有那么一段时间我甚至怀疑这本书有多少成分属于操作系统相关的。好在炎炎的夏日终于过去,浮躁的内心也回归平静。最近的时间里,借着对CSAPP的回顾,我又重新翻看了《深入理解Java虚拟机》,才发现作者在书中对操作系统与虚拟机拿捏的很到位——既能讲清楚虚拟机的知识点,又恰到好处地把操作系统的知识点带出来。

遗憾与希望

2018年,Oracle宣布Java将半年发布一个版本,以往千呼万唤始出来的迭代周期开始进入了快车道,有多少人现在还在看Java 8的函数式编程,转眼间现在Java 13已经发布好几个月了。而这本Java中的经典书,似乎也还停留在Java的过往中,虽说书中的知识大部分依旧通用,依然具备很强的实践指导意义,但作为开发者也希望书本的内容可以有最新版Java的相关特性,从这个角度上来说,这是很多开发者心中的一个遗憾。好在今年的九月份,周志明老师在微博上的一则声明,让多少开发者又看到了新的希望,让我也多了几分期许……

回顾过去的几年,这本书伴着我从“hello world”进入到互联网企业,又在我需要进一步补充Java新知识的时机再次出现,我很期待,也很感激为这本书付出的工作人员,感谢你们,让更多的开发者可以进一步提升自己。

 


推荐阅读

扫码了解详情并购买

《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》

推荐语:这是一部从工作原理和工程实践两个维度深入剖析JVM的著作, 自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,大厂面试最佳参考手册,进阶架构师必读、Java优化神书,这些标签成就了它成为原创计算机图书领域不可逾越的丰碑。

第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。

↓↓↓点击“阅读原文”直达开学季促销专场

相关文章:

  • 5000 字带你快速入门 Apache Kylin
  • 卡内基梅隆大学机器人研究所教授最新力作:移动机器人学
  • 人人可懂的机器学习入门要点和阅读路径
  • 数据可视化的一些小技巧
  • 一文读懂Istio服务网格
  • 网络安全百科全书,非它莫属
  • 【直播预告】2月27日|数字孪生造就Tesla——兼介我的“准工业4.0”生活
  • 千亿市场空间开启!网络安全开启新纪元步入黄金时代
  • 【直播预告】2月28日|老男孩创始人教你如何学好Linux运维
  • 反向压力:异步系统中的OOM问题
  • 一个月读完6本书?这些烧脑神书,你能读完1本,就是学霸!
  • 搜索引擎的竞价排名是怎样实现的?
  • 掌握Java核心技术,看我!
  • 【新书速递】斯坦福算法博弈论二十讲
  • 【直播预告】「甦:知识蓄力2020」编辑讲书智慧接力行动
  • 【译】JS基础算法脚本:字符串结尾
  • (三)从jvm层面了解线程的启动和停止
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2017届校招提前批面试回顾
  • Java IO学习笔记一
  • javascript数组去重/查找/插入/删除
  • Laravel 实践之路: 数据库迁移与数据填充
  • node入门
  • SQL 难点解决:记录的引用
  • 那些被忽略的 JavaScript 数组方法细节
  • 前嗅ForeSpider采集配置界面介绍
  • 巧用 TypeScript (一)
  • 实现菜单下拉伸展折叠效果demo
  • 系统认识JavaScript正则表达式
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • Android开发者必备:推荐一款助力开发的开源APP
  • 阿里云重庆大学大数据训练营落地分享
  • 从如何停掉 Promise 链说起
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • #162 (Div. 2)
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (第30天)二叉树阶段总结
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (七)MySQL是如何将LRU链表的使用性能优化到极致的?
  • (一)Kafka 安全之使用 SASL 进行身份验证 —— JAAS 配置、SASL 配置
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .gitignore文件—git忽略文件
  • .Net core 6.0 升8.0
  • .Net Core与存储过程(一)
  • .net MVC中使用angularJs刷新页面数据列表
  • .net 简单实现MD5
  • .Net多线程Threading相关详解
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • @NestedConfigurationProperty 注解用法
  • @staticmethod和@classmethod的作用与区别