这本书买了有两年了,只有买回来翻了两页。。。今天电脑有点卡,游戏玩不了了,就来看看这本书。

首先看了序言,这本书是第二版,讲解的jdk版本是1.7,现在公司用的1.8,而且1.8的改动也挺大的,不过在虚拟机内部实现这一块好像没什么关系,将就看吧。

第一版是在1.6的基础上讲解的,第二版除了是对jdk1.7的重新讲解之外,会增加对OpenJDK源码的分析。

知识点:JDK从1.5开始,在官方的正式文档和宣传资料里已经不再使用‘JDK1.5’的名称,只有程序员内部使用的开发版本号(Developer Version,列如java-version的输出)才继续沿用1.5、1.6和1.7的版本号,而公开版本号(Product Version)则改为JDK5、JDK6和JDK7的命名方式


作者提供的本书的大纲目录:

第一部分 走进java

  1.  介绍了java体系的过去,现在和未来的一些发展趋势,并介绍了如何独立编译一个OpenJDK7

第二部分 自动内存管理机制

  2.  讲解虚拟机中内存是如何划分的,以及内存溢出

  3.   分析了垃圾收集的算法和JDK1.7中提供的几款垃圾街收集器的特点及运作原理

  4.  6个命令行工具与2个可视化的故障处理工具的使用方法。

  5.  分享实例  

第三部分 虚拟机执行子系统

  6.   class文件结构中的各个组成部分,以及每个部分的定义,数据结构和使用方法

  7.  类加载过程的‘加载’,“验证”、“准备”、“解析”和“初始化”5个阶段虚拟机分别执行了那些动作,类加载器的工作原理和对虚拟机加的意义

  8.  虚拟机在执行代码时如何找到正确的方法,如何执行方法的字节码,以及执行代码时设计的内存结构

  9.  4个类加载及执行子系统的案例

第四部分 程序编译与代码优化

  10.  泛型、主动装箱和拆箱、条件编译

  11.  虚拟机的热点探测方法,hotspot的即时编译器、编译触发条件

第五部分 高效并发

  12.  java内存模型的结构及操作,以及原子性、可见性和有序性在java内存模型中的体现,介绍了先行发生原则的规则及使用,线程在java中如何实现

  13.  线程安全,同步的实现方式,虚拟机底层运作原理,虚拟机实现高效并发所采取的一系列锁优化措施

深入理解java虚拟机-00的更多相关文章

  1. 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具

    上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...

  2. 深入理解java虚拟机(5)---字节码执行引擎

    字节码是什么东西? 以下是百度的解释: 字节码(Byte-code)是一种包含执行程序.由一序列 op 代码/数据对组成的二进制文件.字节码是一种中间码,它比机器码更抽象. 它经常被看作是包含一个执行 ...

  3. 深入理解Java虚拟机--下

    深入理解Java虚拟机--下 参考:https://www.zybuluo.com/jewes/note/57352 第10章 早期(编译期)优化 10.1 概述 Java语言的"编译期&q ...

  4. 深入理解Java虚拟机--中

    深入理解Java虚拟机--中 第6章 类文件结构 6.2 无关性的基石 无关性的基石:有许多可以运行在各种不同平台上的虚拟机,这些虚拟机都可以载入和执行同一种平台无关的字节码(ByteCode),从而 ...

  5. 《深入理解Java虚拟机》(六)堆内存使用分析,垃圾收集器 GC 日志解读

    堆内存使用分析,GC 日志解读 重要的东东 在Java中,对象实例都是在堆上创建.一些类信息,常量,静态变量等存储在方法区.堆和方法区都是线程共享的. GC机制是由JVM提供,用来清理需要清除的对象, ...

  6. 《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具

    虚拟机性能监控与故障处理工具 详解 4.1 概述 本文参考的是周志明的 <深入理解Java虚拟机> 第四章 ,为了整理思路,简单记录一下,方便后期查阅. JDK本身提供了很多方便的JVM性 ...

  7. 《深入理解 Java 虚拟机》学习 -- 垃圾回收算法

    <深入理解 Java 虚拟机>学习 -- 垃圾回收算法 1. 说明 程序计数器,虚拟机栈,本地方法栈三个区域随线程而生,随线程而灭,这几个区域的内存分配和回收都具备确定性 Java 堆和方 ...

  8. 深入理解java虚拟机JVM(下)

    深入理解java虚拟机JVM(下) 链接:https://pan.baidu.com/s/1c6pZjLeMQqc9t-OXvUM66w 提取码:uwak 复制这段内容后打开百度网盘手机App,操作更 ...

  9. 《深入理解 java虚拟机》学习笔记

    java内存区域详解 以下内容参考自<深入理解 java虚拟机 JVM高级特性与最佳实践>,其中图片大多取自网络与本书,以供学习和参考.

随机推荐

  1. postman 官方 test 脚本样例

    Test examples 样例来源: https://learning.getpostman.com/docs/postman/scripts/test_examples/ Test scripts ...

  2. linux 开机直接进入命令行

    一.图形界面和命令行切换 linux系统在启动图形化界面后,可以在图形界面和命令行之间来回切换,linux提供了6个命令行终端(terminal或Console),分别为tty1——tty6,使用Ct ...

  3. a标签属性 rel=noopener noreferrer

    当你浏览一个页面点击一个a标签链接跳转到另一个页面时, <a href="http://www.baidu.com" target="_blank"> ...

  4. tp3.2.3运用phpexcel将excel文件导入mysql数据库

    1,下载PHPExcel 2,配置将下载好的PHPExcel文件与PHPExcel.php 放到thinkphp 根目录 include/Library/Org/Util/下面 3,同时将PHPExc ...

  5. C# 登录窗口的设计技巧

    记得很久之前要用C#做个需要登录的小东西,自己之前完全没有编写WinForm的经验,整个过程中,自己感觉应该怎么写就怎么写,时常导致许多逻辑性的错误,比如在做这个登录窗口的时候,应该实现的效果是,用户 ...

  6. python接口自动化感悟

    一个方法对应一个接口,每个方法都要有登陆 成一个独立的逻辑功能块

  7. 洛谷P2114 [NOI2014]起床困难综合症

    P2114 [NOI2014]起床困难综合症 题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作 ...

  8. BZOJ4654 NOI2016国王饮水记(动态规划+三分)

    有很多比较显然的性质.首先每个城市(除1外)至多被连通一次,否则没有意义.其次将城市按水位从大到小排序后,用以连通的城市集合是一段前缀,并且不应存在比1城市还小的.然后如果确定了选取的城市集合,每次选 ...

  9. Vasya and Multisets CodeForces - 1051C(英语限制了我的想象力)

    题意: 对输入的每个数都进行分配到两个多重集中,问分配完以后 每个多重集中的个数为1的元素是否相等  相等则输出一个分配方式, 不想等为NO 解析: 三种情况 1.原数列中个数为1 的数的个数为偶数 ...

  10. Day25-JSONP跨域请求

    1.  json 是一种数据格式, jsonp 是一种数据调用的方式.你可以简单的理解为 带callback的json就是jsonp. 2. Python里面有个模块requests, request ...