Java虚拟机
super_longyu
这个作者很懒,什么都没留下…
展开
-
虚拟机性能监控与故障处理工具
本篇介绍了随JDK发布的6个命令行工具(jps、jstat、jinfo、jmap、jhat和jstack)与2个可视化故障处理工具(JConsole和VisualVM)。原创 2016-01-12 11:08:24 · 620 阅读 · 0 评论 -
Java内存区域与内存溢出异常
1.在虚拟机的自动内存管理机制帮助下,不需要为每一个new操作去编写配对的delete/free代码,不容易出现内存泄露和内存溢出问题。 2.运行时数据区域 程序计数器,虚拟机栈,本地方法栈,Java堆,方法区原创 2016-01-05 21:23:40 · 343 阅读 · 0 评论 -
虚拟机类加载机制
1.概述 Class文件中描述的各种信息,最终都需加载到虚拟机后才能被运行和使用。 虚拟机类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可被虚拟机直接使用的Java类型。 2.类加载时机 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括: 加载—>验证—>准备—>解析(此三部分统称为连接)—>初始化—>使用—>卸原创 2016-01-19 23:32:15 · 359 阅读 · 0 评论 -
虚拟机字节码执行引擎
1.概述 不同虚拟机实现里面,执行引擎在执行Java代码时可能有解释执行(通过解释器执行)和编译执行(通过即时编译器产生本地代码执行)两种选择。 2运行时栈帧结构 对于执行引擎来讲,活动线程中只有栈顶的栈帧是有效的,称为当前栈帧,栈帧所关联的方法称为当前方法 2.1局部变量表 用于存放方法参数和方法内部定义的局部变量。Java程序在被编译为Class文件时,就在方法的Code属性的max_原创 2016-01-25 20:06:43 · 356 阅读 · 0 评论 -
优化
本篇介绍早期(编译期)优化 及 晚期(运行期)优化。编译器篇::从编译器源码实现层次了解Java源码编译为字节码的过程,分析了Java语言中泛型、主动装箱拆箱、条件编译等语法糖。运行期篇::着重介绍虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,及如何从外部观察分析JIT编译的数据和结果,还选择了几种常见的编译器优化技术进行讲解。Javac编译器只完成了从程序到抽象语法树或中间字节码原创 2016-01-27 19:06:25 · 419 阅读 · 0 评论 -
垃圾收集器与内存分配策略
本篇介绍了垃圾收集算法(新生代:复制算法;老年代:标记-清除/标记-整理)、垃圾收集器(分别适用于新生代与老年代)及内存分配与回收策略。原创 2016-01-07 20:12:22 · 665 阅读 · 0 评论