
深入理解java虚拟机
Quantum_Dog
这个作者很懒,什么都没留下…
展开
-
2.4 实战:OutOfMemoryError异常(myeclipse)
目录2.4.1 Java堆溢出进行分析 2.4.1 虚拟机栈和本地方法栈溢出2.4.3 运行时常量池溢出2.4.4 方法区溢出2.4.5 本机直接内存溢出对象访问在 Java 语言中无处不在,是最普通的程序行为,但即使是最简单的访问,也会却涉及 Java 栈、 Java 堆、方法区这三个最重要内存区域之间的关联关系,如下面的这句代码:Object obj = ...原创 2019-02-01 11:51:14 · 507 阅读 · 0 评论 -
第13章+线程安全与锁优化
13.2.1Java语言中的线程安全2 绝对线程安全代码清单13-2, 对Vector线程安全的测试/* * 代码清单13-2, 对Vector线程安全的测试 */package cn.chapter13;import java.util.Vector;public class Solution13_2 { private static Vector<...原创 2019-03-12 09:34:47 · 178 阅读 · 0 评论 -
第12章+Java内存模型与线程
12.3 Java内存模型12.3.3 对于volatile型变量的特殊规则代码清单12-1, volatile变量自增运算测试/* * 代码清单12-1, volatile变量自增运算测试 */package cn.chapter12;public class VolatileTest { public static volatile int race = 0;...原创 2019-03-11 15:11:10 · 182 阅读 · 0 评论 -
第7章虚拟机类加载机制+深入理解java虚拟机
类加载时机的基础知识 (懒得写,直接用别人的了,他的代码没有分开,故我写了这篇博客,为像我这样的菜鸟)7.2 类加载的时机代码清单7-1,被动引用的例子之一package cn.chapter7;public class SuperClass{ static{ System.out.println("SuperClass init!"); } public...原创 2019-03-07 21:38:27 · 242 阅读 · 0 评论 -
第11章+晚期(运行期)优化
目录11.2 HotSpot虚拟机内的即时编译器11.2.1 解释器与编译器11.2.4 查看与分析即时编译结果11.3 编译优化技术11.3.1 优化技术概览11.2 HotSpot虚拟机内的即时编译器11.2.1 解释器与编译器代码清单11-1,虚拟机执行模式Microsoft Windows [版本 10.0.17763.316](c) 20...原创 2019-03-11 10:55:05 · 215 阅读 · 0 评论 -
第六章+类文件结构+javap
使用javap打印常量表和计算字节码指令javap 介绍javap是 JDK自带的一个工具,可以将 class文件反编译成字节码,它并没有将class文件反编译成 java文件,但是依然反编译成程序员能读的格式。1,编译源程序源程序(我使用的是myeclipse):package t;public class TestClass{ private int m; p...原创 2019-03-07 20:10:57 · 351 阅读 · 0 评论 -
第10章+早期(编译器)优化+10.4 实战:插入式注解处理器
目录10.4 实战:插入式注解处理器10.4.3 代码实现10.4.3 运行与测试10.4 实战:插入式注解处理器10.4.3 代码实现代码清单10-11, 注解处理器NameCheckProcessor/* * 代码清单10-11, 注解处理器NameCheckProcessor */package cn.chapter10;import ja...原创 2019-03-10 19:43:04 · 349 阅读 · 0 评论 -
第10章+早期(编译器)优化+10.3 Java语法糖的味道
目录10.3 Java语法糖的味道10.3.1 泛型与类型擦除10.3.2 自动装箱、拆箱与遍历循环(foreach)10.3 Java语法糖的味道10.3.1 泛型与类型擦除代码清单10-2, 泛型擦除前的例子/* * 代码清单10-2, 泛型擦除前的例子 */package cn.chapter10;import java.util.HashMap;...原创 2019-03-10 16:06:33 · 204 阅读 · 0 评论 -
第9章+虚拟机执行子系统+9.2.3 字节码生成技术与动态代理的实现
目录9.2.3 字节码生成技术与动态代理的实现9.3 实战:自己动手实现远程执行功能9.3.3 实现9.3.4 验证9.2.3 字节码生成技术与动态代理的实现代码清单9-1, 动态代理的简单示例。原始的逻辑是打印一句“hello world”,代理的逻辑是在原始类的方法执行前打印一句“welcome”/* * 代码清单9-1, 动态代理的简单示例。原始的逻...原创 2019-03-10 13:21:59 · 270 阅读 · 0 评论 -
第8章+虚拟机字节码执行引擎+8.3 方法调用
目录8.3 方法调用8.3.1 解析8.3.2 分派1 静态分派2 动态分派3 单分派与多分派8.3 方法调用8.3.1 解析代码清单8-5, 方法静态解析演示/* * 代码清单8-5, 方法静态解析演示 * @author:huang */package cn.chapter8;public class StaticResolut...原创 2019-03-08 16:41:33 · 208 阅读 · 0 评论 -
第8章+虚拟机字节码执行引擎+8.2 运行时栈帧结构
8.2 运行时栈帧结构8.2.1 局部变量表代码清单8-1,局部变量表Slot复用对垃圾收集的影响之一package cn.chapter8;/* * 代码清单8-1,局部变量表Slot复用对垃圾收集的影响之一 * VM Args: -verbose:gc */public class Solution8_1 { public static void main(St...原创 2019-03-08 16:05:59 · 191 阅读 · 0 评论 -
4.3 JDK的可视化工具
目录4.3.1 JConsole:Java监视与管理控制台1 启动JConsole2 内存监控3 线程监控4.3.2 VisualVM:多合一故障处理工具1. VisualVM兼容范围与插件安装2. 生成和浏览堆转储快照3. 分析程序性能4. BTrace动态日志跟踪JConsole(Java Monitoring and Management C...原创 2019-02-18 12:23:28 · 429 阅读 · 0 评论 -
4.2 JDK的命令行工具(第4章 虚拟机性能监控与故障处理工具)
目录4.2 JDK的命令行工具4.2.1 jps:虚拟机进程状况工具4.2.2 jstat:虚拟机统计信息监视工具4.2.3 jinfo:Java配置信息工具 4.2.4 jmap:Java内存映照工具4.2.5 jhat:虚拟机堆转储快照分析工具4.2.6 jstack:java堆栈跟踪工具4.2 JDK的命令行工具4.2.1 jps:虚拟机进程状况工具...原创 2019-02-18 11:03:32 · 186 阅读 · 0 评论 -
第3章 垃圾收集器与内存分配策略
3.2.1 引用计数算法/** * testGC()方法执行后,objA和objB会不会被GC呢? *VM Args:-verbose:gc: -Xms20M -Xmx20M -Xmn10M -verbose:gc -XX:+PrintGCDetails -XX:SurvivorRatio=8 * @author huangh */package cn.chapter3;pub...原创 2019-02-17 11:28:31 · 290 阅读 · 0 评论 -
Java 虚拟机内存区域划分详解(1)
对于 C 和 C++程序开发的开发人员来说,在内存管理领域,程序员对内存拥有绝对的使用权,但是也要主要到正确的使用和清理内存,这就要求程序员有较高的水平。而对于 Java 程序员来说,在虚拟机的自动内存管理机制的帮助下,不再需要为每一个 new 操作去写配对的 delete/free 代码,而且不容易出现内存泄漏和内存溢出问题,看起来由虚拟机管理内存一切都很美好。不过,也正是...转载 2019-02-16 11:42:11 · 174 阅读 · 0 评论 -
内存分析工具 MyEclipse Memory Analyzer Tool 插件安装
环境:MyEclipse8.5第一步:下载 MAT1、下载地址:http://www.eclipse.org/mat/downloads.php这个官网地址输入有点卡,转圈半分钟就可以看到页面了。2、点击下Achived Update site这里,进入下载页,要要转一下才会显示。注意:直接下载首要收费的,要要点“ S...转载 2019-02-16 09:51:18 · 598 阅读 · 0 评论 -
深入理解Java虚拟机导航目录
主要是书中的示例代码、运行结果以及结果分析,知识点书上都有,就不重复了2.4 实战:OutOfMemoryError异常(myeclipse)第3章 垃圾收集器与内存分配策略4.2 JDK的命令行工具(第4章 虚拟机性能监控与故障处理工具4.3 JDK的可视化工具第六章+类文件结构+javap第7章虚拟机类加载机制第8章+虚拟机字节码执行引擎+8.2 运行时栈帧结构...原创 2019-03-12 10:57:10 · 205 阅读 · 0 评论