Blue Flower

想要深入了解计算机语言,就要了解java虚拟机,那么java虚拟机是什么呢?其实虚拟机就是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。通俗来讲Java虚拟机就是Java语言底层实现的基础。有助于理解Java语言的一些性质,也有助于使用Java语言。对于要在特定平台上实现Java虚拟机的软件人员,Java语言的编译器作者以及要用硬件芯片实现Java虚拟机的人来说,则必须深刻理解Java虚拟机的规范。另外,如果你想扩展Java语言,或是把其它语言编译成Java语言的字节码,你也需要深入地了解Java虚拟机。java虚拟机精讲是一本Java程序员每个人都必备的JVM入门经典书籍,由资深架构师高翔龙编写著作。java虚拟机精讲以精练的语句结合源码剖析的方式诠释了JVM的许多关键原理,全书突破技术图书习惯写作套路,从Java是什么开始讲起,直接进入字节码的编译原理,深入基础,切入底层,再进入内存分配和垃圾回收等稍高级的内容,把每个基础概念讲清楚,把每个概念用自己的话写清楚,非常适合不懂JVM但又必须学习JVM的初学者。有需要的朋友欢迎来知识兔免费下载阅读。
java虚拟机精讲

java虚拟机精讲内容简介:

知识兔HotSpot。VM是目前市面上高性能JVM的代表作之一,它采用解释器+JIT编译器的混合执行引擎,使得Java程序的执行性能从此有了质的飞跃。本书以极其精练的语句诠释了HotSpot VM的方方面面,比如:字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpotVM 的启动过程和初始化过程、Java虚拟机的运行时内存、垃圾收集算法、垃圾收集器(重点讲解了Serial收集器、ParNew收集器、Parallel收集器、CMS(Concurrent-Mark-Sweep)收集器和G1(Garbage-First)收集器)、类加载机制,以及HotSpot.VM基于栈的架构模型和执行引擎(解释器的工作流程、JIT 编译器的工作流程、分层编译策略、热点探测功能)等技术。

java虚拟机精讲简介:

知识兔出版社: 电子工业出版社
ISBN:9787121257056
版次:1
商品编码:11631886
品牌:Broadview
包装:平装
开本:16开
出版时间:2015-05-01
用纸:轻型纸
页数:268
字数:448000
正文语种:中文

java虚拟机精讲作者简介:

知识兔高翔龙,曾任平安科技高级架构师,负责高并发即时通讯系统“天下通”的系统架构设计、架构优化、核心功能研发等工作。
目前就职于一家互联网创业公司,担任系统架构师,负责企业内部Hadoop大数据平台的推广和实施、系统性能调优、对新员工技术培训等工作,对系统架构设计、大数据、Java虚拟机等技术领域有着浓厚的兴趣和丰富的实战经验。

java虚拟机精讲编辑推荐:

知识兔资深架构师精心创作两年,数次推翻重写,把自己完全归零,“笨笨”地站在小白的角度一个字一个字一行代码一行代码地输入创作而成。
突破技术图书习惯写作套路,从Java是什么开始讲起,直接进入字节码的编译原理,深入基础,切入底层,再进入内存分配和垃圾回收等稍高级的内容,把每个基础概念讲清楚,把每个概念用自己的话写清楚,完全适合不懂JVM但又必须学习JVM的初学者。
大数据时代,互联网+时代,要想学习Hadoop、Storm和Spark技术,必须学有JVM基础,《Java虚拟机精讲》正是JVM入门经典。

java虚拟机精讲媒体评论:

知识兔★我从1995年就开始使用Java了,当时Java1.0尚未推出,还在beta阶段。接下来几年我饥渴地找寻所有的Java资料,希望能知悉其所有的秘密,我把JVM的书和文档详细读过,总算解答了我许多疑惑。我深深觉得,光懂Java语法和库的用法是不够的。只有了解JVM内部的运作细节,才能真正掌握Java。本书以精练的语句结合源码剖析的方式诠释了JVM的许多关键原理。阅读本书,你将有知其然并知其所以然的淋漓畅快感。
——蔡学镛 平安集团首席架构师 原创新工场首席布道师著有畅销书《编程ING》、《Java夜未眠》
★对于Java开发人员而言,项目中除了需要熟悉和掌握各种常用的框架技术外,了解JVM的底层工作原理也是非常有必要的。本书精练而细致地为各位读者介绍了有关JVM的各个方面,如果你愿意追本溯源,那么本书无疑是你很好的选择之一。
——赵延斌IBM GBS - Senior Consultant
★每当我遇到技术问题不能灵活驾驭的时候,我都会深思缘由,究其根本是因为看不清全貌,要想了解Java世界的全貌,深入研究JVM是不可或缺的。本书是一本优秀的深入研究JVM的书籍,它将JVM的内部机制以简单的语句描述得淋漓尽致,即使读者对JVM有一定程度了解,也能够从中获益。
——艾浩 平安科技资深开发工程师
★大数据云计算领域正在逐渐变得异常火热,而这些领域里面的代表作品Hadoop、Storm和Spark无一例外都构建在JVM之上,掌握并深入JVM细节,是你能快速掌握和深入这些技术的基础。本书用通俗易懂的语言呈现了JVM的方方面面,能够给你带来一些和阅读其他JVM书籍不一样的感受。
——胡文鹏 任子行资深技术专家
★当我听说翔龙要写一本关于JVM的书籍时,我非常期待。这几年我也阅读过一些国内外比较优秀的关于JVM的作品,但是我更期待的是一本以入门步道和化繁为简为重点的JVM作品,本书很好地满足了我的这个需求。
 ——徐章法 任子行资深项目经理
★从事Java研发工作十来年了,接触和使用过的技术不计其数,并且一直都是在需要的时候捡起来,用完之后又丢弃它。项目之余常常会深思,所有与Java相关的技术都运行在JVM之上,那么JVM的技术细节是否会复杂到令常人难以理解?本书以直白的话语诠释了JVM的诸多技术细节,让你在阅读的过程中不会产生任何顾虑。
——郭伟 高级语言虚拟机爱好者

java虚拟机精讲目录:

知识兔第1章 Java体系结构
1.1 认识Java
1.1.1 与生俱来的优点
1.1.2 语法结构和对象模型
1.1.3 历史版本追溯
1.2 Java重要概念
1.2.1 Java编程语言
1.2.2 字节码
1.2.3 JavaAPI
1.2.4 Java虚拟机
1.3 安装与配置Java运行环境
1.3.1 Windows环境下的安装与配置
1.3.2 Linux环境下的安装与配置
1.3.3 编写Java程序
1.3.4 编译与运行
1.3.5 关键字与标示符
1.4 Java技术的新特性
1.4.1 Java模块化与OSGi技术
1.4.2 语言无关性
1.4.3 使用Fork/Join框架实现多核并行
1.4.4 丰富的语法特性
1.4.5 过渡到64位虚拟机
1.5 实战:玩转OpenJDK
1.5.1 JDK与OpenJDK的关系
1.5.2 基于OpenJDK深度定制的
淘宝JVM(TaobaoVM)
1.5.3 下载OpenJDK源代码
1.5.4 构建编译环境
1.5.5 执行整个OpenJDK的编译
1.5.6 执行单独HotSpot的编译
1.5.7 导致编译失败的一些疑难杂症
1.5.8 使用GDB工具Debug HotSpot
1.6 本章小结
第2章 字节码的编译原理
2.1 javac编译器简介
2.1.1 javac与Eclipse Compiler for Java编译器
2.1.2 javac的使用与标准选项配置
2.1.3 编译原理
2.1.4 下载javac编译器源码
2.1.5 调用compile()方法执行编译
2.2 词法解析步骤
第3章 字节码文件
第4章 剖析HotSpot的Launcher
第5章 剖析HotSpot的初始化过程
第6章 内存分配与垃圾回收
第7章 类加载机制
第8章 剖析HotSpot的架构模型与执行引擎
附录A Java7新增语法特性
附录B 指令助记符
202210291507564059350001

java虚拟机精讲前言:

知识兔大部分Java开发人员,除会在项目中使用到与Java平台相关的各种高精尖技术,对于Java技术的核心Java虚拟机了解甚少。这其中最主要的原因或许是在实际的开发过程中,开发人员根本没有机会或是没有必要与 Java 虚拟机等底层技术打交道,更多的只是简简单单地将Java 虚拟机作为载体,让程序能够顺利运行其上即可。
笔者在面试的过程中,经常会对面试者询问一些与Java虚拟机相关的技术问题,但大部分开发人员对于笔者所提及的问题,几乎都有一个统一的答案,那就是不知道、不清楚。有些刚从校门出来的应届毕业生,甚至还包括一些有一定工作经验的开发人员,打心眼儿里觉得 Struts、Spring 和Hibernate等上层技术才是重点,基础技术并不重要,这其实是一种本末倒置的“病态”。这就好比金庸武侠小说《笑傲江湖》里的令狐冲,尽管独孤九剑看上去很酷炫,但由于本身内功修炼得不够,与敌人对抗时又能撑得了几个回合呢?
对于那些成熟的第三方开源产品,笔者始终只是把它们当作一种工具,用的时候是宝,不用的时候就丢弃,尽管有些残忍,但确实就是这么现实。以互联网项目为例,对于高性能和稳定性的要求往往大于企业级项目的规范化和流程化,因此架构师每天都会不停地思考,应该如何让我的系统更快?如何避免系统出现瓶颈?如果换作你来做架构师并负责解决这些问题,假如你对Java虚拟机一无所知,那么可想而知,你又有什么能力做到系统的性能调优?毕竟性能调优不仅仅只是单纯地从应用代码结构上进行调整,也不是纯粹地依靠物理堆机就能够解决的。
创作此书的目的
尽管并不是所有开发人员都能够在实际的项目开发过程中用到与Java虚拟机相关的优化技术,但这并不能够成为你不去了解Java虚拟机的理由。只要你从事的是与Java开发相关的岗位,那么对Java虚拟机实现机制的了解就是你迟早必须攀爬的一座高山。如果你害怕,那么你将永远也无法屹立在山顶遥望最美的日出。
其实这几年国内也不乏一些比较优秀的技术作者创作了一些知名度比较高的有关Java虚拟机的作品。但是这些作品的创作初衷完全不同,一些完全是以理论为重心,而另外一些则完全是从底层源码实战出发为读者诠释Java虚拟机的实现细节。尽管这些作品都非常优秀,但笔者认为还不够简单,毕竟所面向的读者更多的是对Java虚拟机有一定程度了解的开发人员,对于从未接触过Java虚拟机的读者,或许会感觉到有些手足无措的挫败感。因此笔者创作此书的目的,在更大程度上是以更为精练的语句引读者入门Java虚拟机的世界。换句话说,你完全可以将本书看作一个跳板,当你熟知本书的内容后,如果有一种饥渴难耐的感觉,那么恭喜你,笔者建议你阅读难度更大的书籍,同时本书的目的也就达到了。
本书所面向的读者
本书适用于任何对Java虚拟机感兴趣的Java开发人员、系统架构师、Java虚拟机爱好者。尤其是对于那些从未接触过Java虚拟机的Java开发人员,本书笔者竭尽所能用最精练和直接的语句诠释了有关Java虚拟机的方方面面,只要你熟练掌握了Java编程基础,那么阅读本书你将不会感觉到任何的吃力和枯燥乏味。
本书内容
本书的内容包括字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot.VM的启动过程和初始化过程、Java虚拟机的运行时内存、垃圾收集算法、垃圾收集器[重点讲解了 Serial 收集器、ParNew 收集器、Parallel 收集器、CMS(Concurrent-Mark-Sweep)收集器和 G1(Garbage-First)收集器]、类加载机制,以及HotSpot.VM基于栈的架构模型和执行引擎(解释器的工作流程、JIT编译器的工作流程、分层编译策略、热点探测功能)等技术。
从本书的第1章开始,笔者首先对Java的体系结构做了一个简单且全面的介绍,让大家深刻认识到了Java虚拟机在Java平台中所占的分量,然而这一章的重点则是在OpenJDK和HotSpotVM的编译实战任务上。当大家对Java虚拟机有了一个简单的了解后,本书的第2章则开始对字节码的编译原理进行了讲解,因为大家有必要了解Java语言规范与JVM规范之间的区别,以及Java代码究竟需要经历哪些步骤之后才能够被编译为一个有效的字节码文件。
而本书的第3章则与上一章息息相关,当大家了解字节码的编译原理后,接下来笔者将会对字节码的内部组成结构进行深入讲解。本书的第4~6章涉及HotSpot.VM的部分源码实现,从Launcher启动HotSpot.VM开始,到HotSpot.VM的初始化过程都是每一个Java开发人员必须掌握和了解的。对于大部分Java开发人员而言,对Java虚拟机最感兴趣的内容莫过于内存管理和垃圾收集,本书用了大量的篇幅来对这些技术进行讲解,并且对Java7新增的G1收集器也做了介绍。在本书的第7章中,笔者对类加载机制进行了讲解,帮助大家对类的初始化过程理解透彻。然而在本书的最后一章中,笔者对HotSpot.VM的架构模型和执行引擎进行了深入讲解,毕竟执行引擎是Java虚拟机中最重要同时也是最核心的部分,运行时编译技术使得 Java程序的运行性能从此有了质的飞越。
参考文献
笔者在本书的创作过程中,从下面所列的这些参考资料中获取了极大的帮助,大家同时也可以通过如下信息找到更多关于Java虚拟机方面的资料,毕竟单靠一本书就想了解Java 虚拟机的所有技术细节几乎是不可能的,更是不现实的。
《Java 虚拟机规范 Java SE7 版》 [美] Tim Lindholm、Frank Yellin、Gilad Bracha、AlexBuckley 著;
《深入 Java 虚拟机 第 2 版》 [美] Bill Venners 著;
《Java 性能优化权威指南》 [美]Charlie Hunt、Binu John 著;
《深入理解 Java 虚拟机 第 2 版》周志明 著;
《HotSpot 实战》 陈涛 著;
《程序员》2014 年 3 月刊《中间语言和虚拟机漫谈》 徐宥 著;
《JVM 分享:Java Program in Action》 Rednaxelafx(莫枢) 著;
《HotSpot 内存管理白皮书》。
感谢
此书献给我这辈子最爱的姥爷。从我诞生那天起,您就将您的慈爱毫不吝啬地给予了我,感谢您和姥姥从小对我的陪伴和照顾,是你们让我拥有了愉快的童年,让我体会到了亲情的温暖。我记得小时候家里的鹦鹉、画眉鸟是您最爱的宠物,您会每天带着它们出去散步,而如今却成为了我心中永远的回忆。姥爷,2014年05月09日早上7点20分,当我最后在您耳边说完悄悄话后,您走了,带走了我的思念!姥爷,我一定会成为您这辈子的骄傲!除此之外,知识兔家可爱的小娇娇同学,谢谢你的支持和鼓励才让我有创作此书的勇气和动力,谢谢你,我爱你!
接下来要感谢的是Rednaxelafx(莫枢)和蔡学镛,您二位在百忙之中抽空阅读了本书,提出了许多宝贵的意见,没有你们的支持或许本书至今也无法顺利出版。
最后还要感谢的是电子工业出版社博文视点的所有编辑们,谢谢你们无条件忍受着我一再的跳票,本书能够顺利出版离不开你们如此敬业的精神和一丝不苟的工作态度,由衷地谢谢你们。
高翔龙
2015 年 3 月

免责声明:

知识兔java虚拟机精讲来源于网络,仅用于分享知识,学习和交流!请下载完在24小时内删除。
java虚拟机精讲禁用于商业用途!如果您喜欢《java虚拟机精讲》,请购买正版,谢谢合作。
爱学习,请到知识兔 / 查找资源自行下载!

使用说明:

知识兔方法一:
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必在知识兔选择一款阅读器/zt/430.html下载
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读
方法二:
1、在手机里下载知识兔中的阅读器和百度网盘
2、直接将pdf传输到百度网盘
3、用阅读器打开即可阅读

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载