【xmb2020.top】HotSpot实战.pdf【XMB资源站】

每个Java开发者都知道Java字节码是在JRE上执行的。JRE中最重要的部分就是Java虚拟机(JVM),JVM负责分析和执行Java字节码。通常情况下,Java开发人员并不需要去关心JVM是如何运行的。即使不理解JVM的工作原理,也不会给开发人员带来过多困惑。不过,如果你了解JVM的话,就会更加了解Java,并且能够解决很多看似棘手的问题。
很多开发工程师不愿意花时间去了解JVM的底层,因为了解的过程很辛苦,也很枯燥。陈涛喜欢专研技术,他不仅对Java、C、C++熟悉,而且对操作系统底层也很熟悉。他的知识面也比较广,能够将理论很好地应用于实践中。《HotSpot实战》便是他潜心研究和实践的成果。
本书第一次系统全面地剖析了具体的虚拟机产品(即HotSpot,Oracle官方虚拟机)的实现,填补了市场上这类图书的空白。作者不仅透彻地讲解了那些看似深奥的原理,还提供了很多容易上手的实践案例。该书的一个突出特色是:读者通过自己动手实践便可掌握原本难以理解的原理。这为读者学习JVM提供了一条轻松的途径。此外,书中还深入浅出地介绍了很多实战应用的方法和技巧,具有较强的现实意义。
陈涛是网易宝的核心开发人员之一,同时维护了网易宝的多个系统。网易宝是网易官方的在线支付系统,对开发工程师的技术要求极高。尤其是在逻辑上,不能有半点疏忽,因为任何错误都有可能导致几百万甚至上千万的损失。他在不耽误正常工作的同时能够完成一本高质量的技术书籍,是非常不容易的。
赵 刚
网易宝系统负责人,资深技术专家
前言
在聚贤庄一役中,金庸先生描写了一场颇有意思而又寓意深刻的较量。玄难舍弃自己的成名绝技不用,使出习武之人众所周知的入门功夫太祖长拳与乔峰决战。仅区区几个回合下来,便引得群雄对玄难由衷地赞叹:“同样的一招入门拳法,在他手底竟有这么强大的威力”。而当乔峰也使出太祖长拳还以颜色时,众人更是情不自禁地喝彩:“武林高手毕生所盼望达到的拳术完美之境,竟在这一招中表露无疑”。这个场面给我深刻的启示:扎实的根基与持续的打磨,才是技术人员的修行之道。
技术能力的培养与武功的修行,同样遵循着循序渐进的发展规律。在达到高手境界之前,每个人都需要从零起步并坚持不懈地学习。这听起来似乎很难,毕竟我们不知道会遇到多少困难。但有一个天大的困难却是显而易见的,那就是技术人员自身的浮躁。
近些年来,互联网技术犹如开足马力的高速列车一样,在飞速地前进着。似乎“快”一词已经成了时下互联网领域最贴切的写照。为了维持市场竞争力,我们必须持续地、快速地更新自身的产品和服务。而技术人员很容易在紧迫的deadline面前忘却了自身的技术追求。我们,正在变得浮躁起来。
为什么会写这本书
“蚓无爪牙之利,筋骨之强,上食埃土,下饮黄泉,用心一也。蟹六跪而二螯,非蛇蟮之穴无可寄托者,用心躁也”。对于技术人员来说,如果长期忽略自身技术的根基而去一昧地追求高层框架技术,这无疑是舍本求末的做法。
相较于C或C++程序员,我发现Java程序员更容易忽视基础技术。JVM的出现,为程序员屏蔽了操作系统与硬件的细节,使得程序员从诸如内存管理这样的繁琐任务中解放出来。但这不并等同于允许Java程序员放弃对基础的重视。我们是否有过这样的经历,在遇到内存故障、丢包、网络协议设计、资源瓶颈、证书、二进制等问题时,往往会觉得比较棘手,在寻求解决思路时更是显得力不从心。这实质上是自身技术遇到了瓶颈难以突破所致。可怕的是,想去深究的时候却无从下手。
我写这本书的初衷是为了唤起Java程序员对于基础技术的重视。事实上,任何平台的程序员都应当了解平台的基本特性、实现机制以及接口,这是提高自身修养的必经之路。对于Java程序员来说,我们需要了解的平台就是JVM。了解JVM的基本实现机制,不仅对于解决实际应用中诸如GC等虚拟机问题时有直接帮助,还有利于我们更好地理解语言本身。
所幸的是,Oracle官方已经将虚拟机项目的源码开放出来,这对于我们来说简直就是福音。本书将以OpenJDK和HotSpot为素材,深入浅出地讲解我们最为熟悉的一款虚拟机产品的实现。除了Java程序员,从事与Java或JVM相关的开发、测试、运维等技术人员也将在本书中获益。
本书内容
本书深入浅出地讲解了HotSpot虚拟机的工作原理,将隐藏在它内部的本质内容逐一呈现在读者面前,包括OpenJDK与HotSpot项目、编译和调试HotSpot的方法、HotSpot内核结构、Launcher、OOP-Klass对象表示系统、链接、运行时数据区、方法区、常量池和常量池Cache、Perf Data、Crash分析方法、转储分析方法、垃圾收集器的设计演进、CMS和G1收集器、栈、JVM对硬件寄存器的利用、栈顶缓存技术、解释器、字节码表、转发表、Stubs、Code Cache、Code生成器、JIT编译器、C1编译器、编译原理、JVM指令集实现、函数的分发机制、VTABLE和ITABLE、异常表、虚拟机监控工具(如jinfo、jstack、jhat、jmap等)的实现原理和开发方法、Attach机制、基于GUI的JVM分析工具(如MAT、VisualVM)等内容。
除了HotSpot技术,本书强调了对方法论的探讨。在各个章节的讲解中,都会有一些与系统运行机制相关的实战或练习,供读者练手。通过这些实战练习,不仅有助于读者加深对知识或原理的理解,更为重要的是,它还可以培养读者掌握独立探索的思维方式和运用方法,这有助于读者把知识融会贯通并灵活应用到实际项目中。
古人云“授人以鱼,不如授之以渔”,本书并不是简单地列举那些高深莫测的知识点,而是力求将理论与实践有机地结合起来,培养读者掌握独立分析JVM底层机制的能力。读者在今后的实践中,可以通过自己动手实践就能揭开HotSpot内部机制的神秘面纱,汲取到书本上没有介绍但是实际项目中又急需的“营养”。
本书适用读者
本书适合于已具有一定Java编程基础的读者,以及在Java或基于JVM的编程语言平台下进行各类软件开发的开发人员、测试人员以及运维人员。对于JVM和编程语言爱好者来说,本书也具有一定的学习参考价值。

 

资源下载此资源下载价格为2米币,会员免费,请先
下载说明:
1、如遇购买或下载问题,请联系在线客服 ;
2、本站资源来源于互联网,未测试源码不保证100%能部署,不包含技术支持,请酌情下载;
3、本站不售卖代码,所有发布的文章以及附件仅限用于学习和研究目的;不得用于商业或者非法用途;如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。否则由此产生的法律后果,本站概不负责!
4、本站收益用于平台服务器、云存储CDN、人力等网站运营成本,支持本站请订阅本站会员,您的支持是我们更新内容的最大动力!
资源下载
下载价格2 米币
会员免费
此资源购买后7天内可下载。
下载说明:
1、如遇购买或下载问题,请联系在线客服 ;
2、本站资源来源于互联网,未测试源码不保证100%能部署,不包含技术支持,请酌情下载;
3、本站不售卖代码,所有发布的文章以及附件仅限用于学习和研究目的;不得用于商业或者非法用途;如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。否则由此产生的法律后果,本站概不负责!
4、本站收益用于平台服务器、云存储CDN、人力等网站运营成本,支持本站请订阅本站会员,您的支持是我们更新内容的最大动力!

原文链接:https://www.xmbcode.com/guide/doc/433/,转载请注明出处。

分享海报

站点公告

本站所发布的资源均来源于互联网,仅限用于研究学习,不得将软件用于商业或者非法用途,否则一切后果请用户自负! 如果侵犯了您的权益请与我们联系!您必须在下载后的24个小时之内,从您的手机和电脑中彻底删除。 升级VIP享受99%精品资源免费下载-->立即开通  
显示验证码

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码