当前位置: 首页 > 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」编辑讲书智慧接力行动
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • JS专题之继承
  • Just for fun——迅速写完快速排序
  • Less 日常用法
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Python打包系统简单入门
  • React-flux杂记
  • ReactNative开发常用的三方模块
  • SpringCloud集成分布式事务LCN (一)
  • spring学习第二天
  • SQL 难点解决:记录的引用
  • 读懂package.json -- 依赖管理
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 开源地图数据可视化库——mapnik
  • 入口文件开始,分析Vue源码实现
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 原生js练习题---第五课
  • MPAndroidChart 教程:Y轴 YAxis
  • 阿里云服务器购买完整流程
  • 湖北分布式智能数据采集方法有哪些?
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #pragma multi_compile #pragma shader_feature
  • (1) caustics\
  • (4)logging(日志模块)
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (附源码)php新闻发布平台 毕业设计 141646
  • (三)c52学习之旅-点亮LED灯
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)c++ std::pair 与 std::make
  • (转)Scala的“=”符号简介
  • ..回顾17,展望18
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • /etc/X11/xorg.conf 文件被误改后进不了图形化界面
  • [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  • [1127]图形打印 sdutOJ
  • [CTO札记]如何测试用户接受度?