深入理解java虚拟机-00
这本书买了有两年了,只有买回来翻了两页。。。今天电脑有点卡,游戏玩不了了,就来看看这本书。
首先看了序言,这本书是第二版,讲解的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的更多相关文章
- 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具
上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...
- 深入理解java虚拟机(5)---字节码执行引擎
字节码是什么东西? 以下是百度的解释: 字节码(Byte-code)是一种包含执行程序.由一序列 op 代码/数据对组成的二进制文件.字节码是一种中间码,它比机器码更抽象. 它经常被看作是包含一个执行 ...
- 深入理解Java虚拟机--下
深入理解Java虚拟机--下 参考:https://www.zybuluo.com/jewes/note/57352 第10章 早期(编译期)优化 10.1 概述 Java语言的"编译期&q ...
- 深入理解Java虚拟机--中
深入理解Java虚拟机--中 第6章 类文件结构 6.2 无关性的基石 无关性的基石:有许多可以运行在各种不同平台上的虚拟机,这些虚拟机都可以载入和执行同一种平台无关的字节码(ByteCode),从而 ...
- 《深入理解Java虚拟机》(六)堆内存使用分析,垃圾收集器 GC 日志解读
堆内存使用分析,GC 日志解读 重要的东东 在Java中,对象实例都是在堆上创建.一些类信息,常量,静态变量等存储在方法区.堆和方法区都是线程共享的. GC机制是由JVM提供,用来清理需要清除的对象, ...
- 《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具
虚拟机性能监控与故障处理工具 详解 4.1 概述 本文参考的是周志明的 <深入理解Java虚拟机> 第四章 ,为了整理思路,简单记录一下,方便后期查阅. JDK本身提供了很多方便的JVM性 ...
- 《深入理解 Java 虚拟机》学习 -- 垃圾回收算法
<深入理解 Java 虚拟机>学习 -- 垃圾回收算法 1. 说明 程序计数器,虚拟机栈,本地方法栈三个区域随线程而生,随线程而灭,这几个区域的内存分配和回收都具备确定性 Java 堆和方 ...
- 深入理解java虚拟机JVM(下)
深入理解java虚拟机JVM(下) 链接:https://pan.baidu.com/s/1c6pZjLeMQqc9t-OXvUM66w 提取码:uwak 复制这段内容后打开百度网盘手机App,操作更 ...
- 《深入理解 java虚拟机》学习笔记
java内存区域详解 以下内容参考自<深入理解 java虚拟机 JVM高级特性与最佳实践>,其中图片大多取自网络与本书,以供学习和参考.
随机推荐
- Python Kivy 中文教程:安装(Windows)
Kivy 是一套用于跨平台快速应用开发的开源框架,只需编写一套代码,便可运行于各大桌面及移动平台上(包括 Linux, Windows, OS X, Android, iOS, 以及 Raspberr ...
- Java反射的用法
Class类 在Java中,每个class都有一个相应的Class对象.也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息. 反射 ...
- js数组去重五种方法
今天来聊一聊JS数组去重的一些方法,包括一些网上看到的和自己总结的,总共5种方法(ES5). 第一种:遍历数组法 这种方法最简单最直观,也最容易理解,代码如下: var arr = [2, 8, 5, ...
- MT【177】三个乘积和
对任意 2 个 1,2,3,4,5,6 的全排列 $(a_1,a_2,a_3,a_4,a_5,a_6)$ 和 $(b_1,b_2,b_3,b_4,b_5,b_6)$,求$\displaystyle S ...
- PostgreSQL(一)教程 -----从头开始
一.安装 自然,在你能开始使用PostgreSQL之前, 你必须安装它.PostgreSQL很有可能已经安装到你的节点上了, 因为它可能包含在你的操作系统的发布里, 或者是系统管理员已经安装了它.如果 ...
- linux driver ------ 三星公司uboot模式下更改分区(EMMC)大小fdisk命令 ------ iTOP4412 开发板烧写
核心板 SCP 1G eMMC:KLM8G------>8G 终端(串口)输入(如果执行过,只需要执行最后一句即可): 开发板一启动,立马在终端按回车,进入 uboot 模式 fdisk -c ...
- C#创建基本图表(Chart Controls)
在.NET环境下微软提供了强大了图表控件,并给多了很多实例,关于图表的基本元素如下: 并且MSDN给出了创建图表的示例步骤,原文地址:http://msdn.microsoft.com/en-us/l ...
- Openstack 网络服务 Neutron介绍和控制节点部署 (九)
Neutron介绍 neutron是openstack重要组件之一,在以前是时候没有neutron项目. 早期的时候是没有neutron,早期所使用的网络的nova-network,经过版本改变才有个 ...
- SQL存储过程例子
存储过程呢,学校里学习的都是简单的.这里是我在工作的时候写的存储过程,贴出来,其中公司相关我都XXX代替了 (注:这个例子可以算是动态SQL的例子了,写死的是静态SQL,这个很灵活的传入参数的是动态S ...
- properties编程示例
package com.lovo.props; import java.io.FileInputStream;import java.io.FileNotFoundException;import j ...