1 通过new关键字获取对象 假设我们在函数中写了如下这个简单的语句: StringBuffer str = new StringBuffer(”Hello world”); 别看这个语句简单,其实包含了如下三个…
标签:java虚拟机
《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——自动内存管理机制
《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——自动内存管理机制 1.概述 对于从事C、C++程序开发的开发人员来说,在内存管理领域,既拥有每一个对象的”所有权”,又担负着每一个对象生命开始到终结的维护…
《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——Java类文件结构
《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——Java类文件结构 1.概述 由于计算机只能识别0和1,所以我们编写的程序需经过编译器编译后(二进制格式)才能运行在计算机上,然而随着虚拟机的发展,将我们…
《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——虚拟机类加载机制
虚拟机类加载机制 概述 虚拟机如何加载Class文件? Class文件中的信息进入到虚拟机后会发生什么变化? 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使…
《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——程序编译与代码优化(一)
早期(编译期)优化 Javac的编译过程 解析与填充符号表过程 插入式注解处理器的注解处理过程 分析与字节码生成过程 Javac编译动作的入口是com.sun.tools.javac.main.JavaCompiler类…
《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——晚期(运行期)优化
晚期(运行期)优化 概述 在部分的商用虚拟机(Sun HotSpot、IBM J9)中,Java程序最初是通过解释器进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁时,就会把这些代码认定为”热点代码”(Hot …
《深入理解Java虚拟机——JVM高级特性与最佳实践》学习笔记——线程安全与锁优化
线程安全与锁优化 线程安全 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线…
深入JVM-java虚拟机的基本结构
本文将介绍Java虚拟机的基本结构,各组成部分的作用,以及相互之间是如何协调的。而要了解这些,首先必须了解Java堆、Java栈、永久区和元数据区的基本概念。 一、Java虚拟机的架构 1.1 类加载子系统 类加载子系统…
[深入理解Java虚拟机] 第6章 类文件结构
文章目录 类文件的结构 1. 魔数与Class文件的版本 2. 常量池 3. 访问标志 4. 类索引、父类索引与接口索引集合 5. 字段表集合 6. 方法表集合 7. 属性表集合 7.1. Code属性 7.2. Exc…
[深入理解Java虚拟机] 第10章 早期(编译期)优化
文章目录 Javac编译器 1. 解析与填充符号表 1.1. 词法、语法分析 1.2. 填充符号表 2. 注解处理器 3. 语义分析和字节码生成 3.1. 标注检查 3.2. 数据及控制流分析 3.3. 解语法糖 3.4…
《深入理解java虚拟机》读书笔记-第10章早期(编译器)优化
一概述 本文属于《深入理解java虚拟机》读书笔记系列,属于第四部分。这一块平时编码接触不多,更是从提高性能的角度去理解。作者分成两章来介绍。我自己是大概这样想的,整理完这两章,本书后面的高效并发系列单独来整理,我觉得可…
深入理解java虚拟机-目录
大概整理一遍,觉得有些乱,还是参照原书那样显得条理。本篇只是jvm目录索引。 第一章 主要介绍java概述,干货不多看原文。 第二部分 :自动内存管理机制 第二章:j…