
JVM
文章平均质量分 95
尐譽
安,不奢逸;危,不惊惧
展开
-
JVM监控:JVM监控指标、JVM监控界面实现、Java监控JVM
本文概要: 1、监控JVM的哪些指标; 2、一目了然的JVM监控的UI界面; 3、Java代码获取JVM监控状态。1、监控JVM的哪些指标 javaVersion /** Java版本号 */ ...原创 2020-01-13 19:22:40 · 15961 阅读 · 10 评论 -
JVM监控:python脚本JMX获取JVM状态
python脚本JMX获取JVM状态主要原理: 主要通过python库jmxquery,jmxquery是通过python脚本调用它里面的JAR包的JAVA方法连接JMX端口,以获取JVM的状态。 jmxquery github: https://github.com/dgildeh/JMXQuery/tree/master/...原创 2019-09-12 17:30:45 · 3685 阅读 · 3 评论 -
Java虚拟机垃圾回收(四) 总结:内存分配与回收策略 方法区垃圾回收 以及 JVM垃圾回收的调优方法
Java虚拟机垃圾回收(四) 总结:内存分配与回收策略 方法区垃圾回收 以及 JVM垃圾回收的调优方法 在《Java对象在Java虚拟机中的创建过程》了解到对象创建的内存分配,在《Java内存区域 JVM运行时数据区》中了解到各数据区有些什么特点、以及相关参数的调整,在《Java虚拟机垃圾回收(一) 基础》中了解到如何判断对象是存活还是已经死亡?在《Java虚拟机垃圾回收(二) 垃圾回原创 2017-01-17 23:16:27 · 7467 阅读 · 1 评论 -
Java内存管理:Java内存区域 JVM运行时数据区
Java内存管理:在前面的一些文章了解到javac编译的大体过程、Class文件结构、以及JVM字节码指令,下面我们详细了解Java内存区域:先说明JVM规范定义的JVM运行时分配的数据区有哪些,然后分别介绍它们的特点,并指出给出一些HotSpot虚拟机实现的不同点和调整参数。原创 2016-12-29 00:36:20 · 9434 阅读 · 3 评论 -
Java虚拟机垃圾回收(二) 垃圾回收算法:标记-清除算法 复制算法 标记-整理算法 分代收集算法 火车算法
在前文了解到如何判断Java对象已经死亡,下面来了解Java虚拟机垃圾回收的几种常见算法:标记-清除算法、复制算法、标记-整理算法、分代收集算法、火车算法,介绍它们的算法思路,有什么优点和缺点,以及主要应用场景。原创 2017-01-02 22:43:50 · 10677 阅读 · 1 评论 -
Java编译(二) Java前端编译:Java源代码编译成Class文件的过程
在上篇文章中了解到了Java前端编译 JIT编译 AOT编译各有什么优点和缺点,下面详细了解Java前端编译:Java源代码编译成Class文件的过程;我们从官方JDK提供的前端编译器javac入手,用javac编译一些测试程序,调试跟踪javac源码,看看javac整个编译过程是如何实现的。原创 2016-12-21 21:38:40 · 26623 阅读 · 7 评论 -
Java编译(三) Java即时编译(JIT编译):运行时把Class文件字节码编译成本地机器码
下面详细了解JIT编译;从官方JDK中的HotSpot虚拟机的JIT编译器入手,先介绍解释器与JIT编译器是如何配合工作的,认识JIT编译器C1/C2;再看看JIT编译的是什么,以及触发条件是什么;而后再简单介绍JIT编译过程,认识几种编译技术;最后对比Java与C/C++的编译器。原创 2016-12-31 01:18:19 · 14823 阅读 · 3 评论 -
Java对象与JVM(三) Java对象在Java虚拟机中的引用访问方式
在前面两篇文章中了解到Java对象实例是如何在HotSpot虚拟机的Java堆中创建的,以及创建后的内存布局是怎样的。下面详细了解在Java堆中的Java对象是如何访问定位的:先来了解reference类型数据是什么,再来了解两种访问方式:使用句柄或者使用直接指针(HotSpot虚拟机使用直接指针)。原创 2016-12-29 21:14:55 · 5209 阅读 · 2 评论 -
Java对象与JVM(二) Java对象在Java虚拟机中的内存布局
在前面文章了解到Java对象实例是如何在Java堆中创建的,下面我们详细了解Java普通对象创建后,在HotSpot虚拟机Java堆中的内存布局是怎样的,可以分为3个区域:对象头(Header)、实例数据(Instance)和对齐填充(Padding)。原创 2016-12-29 21:03:04 · 3509 阅读 · 2 评论 -
Java对象与JVM(一) Java对象在Java虚拟机中的创建过程
下面我们详细了解Java程序中new一个普通对象时,HotSpot虚拟机是怎么样创建这个对象的,包括5个步骤:相应类加载检查过程、在Java堆中为对象分配内存、分配后内存初始化为零、对对象进行必要的设置、以及执行对象实例方法,最后我们再从JVM指令角度来解释下Java对象创建。原创 2016-12-29 07:47:14 · 12988 阅读 · 2 评论 -
Java编译(一) Java三种编译方式:前端编译 JIT编译 AOT编译
Java编译涉及到非常多的知识层面:编译原理、语言规范、虚拟机规范、本地机器码优化等;下面我们先来看下Java体系中的三种编译方式:前端编译、即时编译(JIT编译)、静态提前编译(AOT编译)解它们各有什么优点和缺点,再来看看主流的前端编译+JIT编译方式的运作过程。原创 2016-12-19 21:24:00 · 14608 阅读 · 5 评论 -
Java虚拟机垃圾回收(一) 基础:回收哪些内存/对象 引用计数算法 可达性分析算法 finalize()方法 HotSpot实现分析
下面先来了解Java虚拟机垃圾回收的基础内容:如何判断对象是存活还是已经死亡? 介绍相关的垃圾回收基础算法:引用计数算法、可达性分析算法,以及说明finalize()方法作用,最后再来说说HotSpot虚拟机中实现对象可达性分析的一些问题。原创 2017-01-02 22:13:45 · 13256 阅读 · 3 评论 -
Java Class文件结构解析 及 实例分析验证
Class文件是JVM执行引擎的数据入口,也是Java技术体系的基础构成之一;下面我们详细了解Class文件:先对Class文件结构有个大体了解,并了解Class文件结构里的一些名称定义;而后再详细说明结构中每一项数据的含义,并用测试程序编译Class文件来分析验证Class文件结构。原创 2016-12-25 18:57:21 · 10963 阅读 · 0 评论 -
JVM字节码指令 及 反编译分析
通过前文知道Class文件中的各方法表的"code"属性存储了对应的JVM字节码指令,下面详细了解JVM字节码指令:先对字节码指令组成结构有个大体了解,并通过前面的"getMap"方法的字节码数据来分析JVM指令及操作码助记符,而后了解字节码指令与数据类型的关系,最后分类说明JVM指令的功能及注意事项。原创 2016-12-26 22:46:51 · 6981 阅读 · 0 评论 -
Java语言层面和JVM层面方法特征签名的区别 及 实例分析
在前面文章中多次提到Java语言层面方法特征签名和JVM层面方法特征签名的区别,下面我们先来回顾一下Java语言层面方法特征签名和JVM层面方法特征签名的区别的是什么,再用测试程序实例来分析验证:Class文件中有两个同名同参数(类型、顺序都相同),但返回值类型不一样的方法也是允许的,可以正常运行。原创 2016-12-27 01:13:30 · 6356 阅读 · 1 评论 -
Java虚拟机垃圾回收(三) 7种垃圾收集器:主要特点 应用场景 设置参数 基本运行原理
Java虚拟机垃圾回收(三) 7种垃圾收集器主要特点 应用场景 设置参数 基本运行原理 在《Java虚拟机垃圾回收(一) 基础》中了解到如何判断对象是存活还是已经死亡?在《Java虚拟机垃圾回收(二) 垃圾回收算法》了解到Java虚拟机垃圾回收的几种常见算法。 下面先来了解HotSpot虚拟机中的7种垃圾收集器:Serial、ParNew、Parall...原创 2017-01-02 23:41:24 · 30914 阅读 · 15 评论 -
CentOS上编译OpenJDK8源码 以及 在eclipse上调试HotSpot虚拟机源码
想深入了解Java的运行机制,我们有必要了解HotSpot虚拟机;下面我们先在CentOS6.4 64位系统上编译OpenJDK8源码,然后用gdb断点调试hotspot源码,最后再配置在eclipse上调试hotspot源码;主要包括: 1、编译OpenJDK8源码; 2、gdb断点进入源码调试hotspot; 3、在eclipse上调试hotspot源码; 4、配置hotspot调试运行eclipse的java工程;原创 2016-12-18 09:50:38 · 11635 阅读 · 9 评论 -
Java发展:各版本JDK新特性 JVM发展 Java技术应用发展
上篇我们对Java平台体系有了一个全面的了解,下面先简单介绍Java发展历史,然后在整个的发展史的基础上,抽取几个关注点的时间线,分别介绍各JDK版本的新特性、JVM发展、以及Java技术的应用发展原创 2016-11-13 09:33:40 · 3358 阅读 · 0 评论