万本电子书0元读

万本电子书0元读

顶部广告

揭秘Java虚拟机:JVM设计原理与实现电子书

Java是一门非常流行的程序语言,但是,Java程序到底是如何运行的?如何写出更高效的Java代码……?这些令人困扰的问题,都可以从本书中找到答案。 随着互联网的极速发展,现在的Java 服务端应用需要应对极高的并发访问和大量的数据交互,如果能深地理解Java虚拟机的核心原理和实现细节,不仅可以帮助程序员自如地应对变化莫测的各类状况,也可以帮助程序员写出优秀高效的代码。

售       价:¥

纸质售价:¥96.70购买纸书

403人正在读 | 0人评论 6.2

作       者:封亚飞

出  版  社:电子工业出版社

出版时间:2017-06-01

字       数:40.2万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
《揭秘Java虚拟机:JVM设计原理与实现》从源码角度解读HotSpot的内部实现机制,本书主要包含三大部分——JVM数据结构设计与实现、执行引擎机制及内存分配模型。 数据结构部分包括Java字节码文件格式、常量池解析、字段解析、方法解析。每一部分都给出详细的源码实现分析,例如字段解析一章,从源码层面详细分析了Java字段重排、字段继承等关键机制。再如方法解析一章,给出了Java多态特性在源码层面的实现方式。《揭秘Java虚拟机:JVM设计原理与实现》通过直对源代码的分析,从根本上梳理和澄清Java领域中的关键概念和机制。 执行引擎部分包括Java方法调用机制、栈帧创建机制、指令集架构与解释器实现机制。这一话题是《揭秘Java虚拟机:JVM设计原理与实现》技术含量高的部分,需要读者具备一定的汇编基础。不过千万不要被“汇编”这个词给吓着,其实在作者看来,汇编相比于高级语言而言,语法非常简单,语义也十分清晰。执行引擎部分重描述Java源代码如何转换为字节码,又如何从字节码转换为机器指令从而能够被物理CPU所执行的技术实现。同时详细分析了Java函数堆栈的创建全过程,在源码分析的过程中,带领读者从本质上理解到底什么是Java函数堆栈和栈帧,以及栈帧内部的详细结构。 内存分配部分主要包括类型创建与加载、对象实例创建与内存分配,例如new关键字的工作机制,import关键字的作用,再如java.lang.ClassLoader.loadClass()口的本地实现机制。 《揭秘Java虚拟机:JVM设计原理与实现》并不是简单地分析源码实现,而是在描述HotSpot内部实现机制的同时,分析了HotSpot如此这般实现的技术必然性。读者在阅读《揭秘Java虚拟机:JVM设计原理与实现》的过程中,将会在很多地方看到作者本人的这种思考。<br/>【推荐语】<br/>Java是一门非常流行的程序语言,但是,Java程序到底是如何运行的?如何写出更高效的Java代码……?这些令人困扰的问题,都可以从本书中找到答案。   随着互联网的极速发展,现在的Java 服务端应用需要应对极高的并发访问和大量的数据交互,如果能深地理解Java虚拟机的核心原理和实现细节,不仅可以帮助程序员自如地应对变化莫测的各类状况,也可以帮助程序员写出优秀高效的代码。   《揭秘Java虚拟机:JVM设计原理与实现》正是这样一部修炼Java内功的武学秘笈。它不仅详细阐述了JVM的设计思路与原理,让读者能够深刻理解JVM的运行机制,而且更一步地分析了JVM在发展过程中每一次技术选择的必然性——这样的分析让读者得以跨越时空,在思想上与前辈大师们产生共鸣,实现精神上的交流,真正领悟JVM的精髓。   更为难得的是,看似艰深莫测的“大道理”,却被作者用晓畅明白、幽默有趣的文字层层化解了:本书在阅读体验上毫无枯燥之感,相反,却能让你在“顿悟”的当下,会心而笑,不忍释卷! 不必犹豫,无须比较,就是它——《揭秘Java虚拟机:JVM设计原理与实现》!<br/>【作者】<br/>大学学的是生物技术,但是对计算机保持浓厚兴趣,当年对vb、matlab等语言和工具学的很熟练。毕业后跨界做了软件发,先后触了汇编、c、c 、php、asp、java等多种语言,发过图形库、物联网传感器通信协议、GIS监控定位、电商平台等。菜鸟之后,主导结算复杂的业务平台化以及业务仿真系统。<br/>
目录展开

内容简介

推荐序

前言

第1章 Java虚拟机概述

1.1 从机器语言到Java——詹爷,你好

1.2 兼容的选择:一场生产力的革命

1.3 中间语言翻译

1.4 神奇的指令

1.5 本章总结

第2章 Java执行引擎工作原理:方法调用

2.1 方法调用

2.2 JVM 的函数调用机制

2.3 函数指针

2.4 CallStub 函数指针定义

2.5 _call_stub_entry例程

2.6 本章总结

第3章 Java数据结构与面向对象

3.1 从Java算法到数据结构

3.2 数据类型简史

3.3 Java 数据结构之偶然性

3.4 Java类型识别

3.5 大端与小端

3.6 本章总结

第4章 Java字节码实战

4.1 字节码格式初探

4.2 魔数与版本

4.3 常量池

4.4 访问标识与继承信息

4.5 字段信息

4.6 方法信息

4.7 本章回顾

第5章 常量池解析

5.1 常量池内存分配

5.2 oop-klass模型

5.3 常量池klass模型(1)

5.4 常量池klass模型(2)

5.5 常量池解析

5.6 本章总结

第6章 类变量解析

6.1 类变量解析

6.2 偏移量

6.3 从源码看字段继承

6.4 本章总结

第7章 Java栈帧

7.1 entry_point例程生成

7.2 局部变量表创建

7.3 堆栈与栈帧

7.4 JVM的栈帧

7.5 栈帧深度与slot复用

7.6 最大操作数栈与操作数栈复用

7.7 本章总结

第8章 类方法解析

8.1 方法签名解析与校验

8.2 方法属性解析

8.3 创建methodOop

8.4 Java 方法属性复制

8.5 <clinit>与<init>

8.6 查看运行时字节码指令

8.7 vtable

8.8 本章总结

第9章 执行引擎

9.1 执行引擎概述

9.2 取指

9.3 译码

9.4 栈顶缓存

9.5 栈式指令集

9.6 操作数栈在哪里

9.7 栈帧重叠

9.8 entry_point 例程机器指令

9.9 执行引擎实战

9.10 字节码指令实现

9.11 本章总结

第10章 类的生命周期

10.1 类的生命周期概述

10.2 类加载

10.3 类的初始化

10.4 类加载器

10.5 类实例分配

10.6 本章总结

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部