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

首先看了序言,这本书是第二版,讲解的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. Linux 备份 文件夹的权限 然后在其他机器进行恢复

    Study From https://www.cnblogs.com/chenshoubiao/p/4780987.html 用到的命令 getfacl 和 setfacl 备份 getfacl -R ...

  2. FuelPHP 系列(二) ------ route 路由

    FuelPHP 中,默认可以通过 /controller_name/function_name 这种方式来访问,也可以通过自定义路由来访问. 路由配置在 /fuel/app/config/routes ...

  3. 基于SOA的高并发和高可用分布式系统架构和组件详解

    基于SOA的分布式高可用架构和微服务架构,是时下如日中天的互联网企业级系统开发架构选择方案.在核心思想上,两者都主张对系统的横向细分和扩展,按不同的业务功能模块来对系统进行分割并且使用一定的手段实现服 ...

  4. 一本通1632【 例 2】[NOIP2012]同余方程

    1632:[ 例 2][NOIP2012]同余方程 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 求关于 x 的同余方程 ax≡1(mod b) 的最小正整 ...

  5. binlog2sql闪回恢复数据

    用途: .数据快速回滚 .从binlog生成标准sql 使用限制: .必须设置binlog_format=ROW .binlog_row_image=full,该参数默认为FULL .恢复用户拥有的最 ...

  6. idea和eclipse的区别

    使用基于IntelliJ的IDE,都会对project和module的关系比较糊涂.用简单的一句话来概括是: IntelliJ系中的Project相当于Eclipse系中的workspace.Inte ...

  7. (转)c# 筛选数组重复项

    转自:http://www.cnblogs.com/zhaoweiting/archive/2009/08/24/1552724.html 第一种方法:public static String[] R ...

  8. 无旋treap板子!

    #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> # ...

  9. luogu2375 动物园 (kmp)

    首先求出fail数组,如果没有不重叠的限制的话,我们可以在求fail的时候递推出个数cnt[i]=cnt[fail[i]]+1(这个cnt是算上自己本身==自己本身的) 然后如果是要求不重叠的话,就是 ...

  10. NO.1: 视C++为一个语言联邦

    C++由4个部分组成: 1.C part of C++; 2.Object-Oriented C++; 3.Template C++; 4.STL 请记住:C++的高效编程视状况而变化,取决你使用C+ ...