Java虚拟机采用可达性分析算法来判断对象是否可以回收。可达性分析算法通过一系列的GC Roots对象作为起始点,向下搜索走过的路径称引用链,当一个对象到GC Roots没有任何的引用链时,证明对象是不可用的。 Java中,可作为GC Roots的对象: 虚拟机栈中引用的对象 ...
分类:
编程语言 时间:
2019-07-21 01:44:57
阅读次数:
113
Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域, 包含程序计数器、虚拟机栈、本地方法栈、Java堆、方法区(运行时常量池)、直接内存等,不同的版本会有所差异 各区域的作用: 1、程序计数器:较小的内存空间,当前线程执行的字节码的行号指示器;各线程之间独立存储,互 ...
分类:
其他好文 时间:
2019-07-21 01:37:45
阅读次数:
92
这几天在读周志明老师的<深入理解JVM虚拟机> 讲到了 java的运行模式, 有mixed 模式 interpret模式还有compile模式.效果如下面所示 ...
分类:
编程语言 时间:
2019-07-20 21:50:27
阅读次数:
109
?做JAVA也有接近2年的时间了,公司的leader说,做JAVA,三年是个坎,如果过了三年你还没有去研究JVM的话,那么你这个程序员只能是板砖的工具了。恰逢辞职,来个JVM的解析可好? JVM是Java Virtual Machine(Java虚拟机)的缩写,也就是指的JVM虚拟机,属于是一种虚构 ...
分类:
编程语言 时间:
2019-07-17 09:32:51
阅读次数:
154
概述 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载 (Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化 (Initialization)、使用(Using)和卸载(Unloading)7 个阶段。其 ...
分类:
编程语言 时间:
2019-07-16 22:40:31
阅读次数:
128
Java 跨平台的基础 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是 构成平台无关性的基石,也是语言无关性的基础。Java 虚拟机不和包括 Java 在内的任何 语言绑定,它只与“Class 文件”这种特定的二进制文件格式所关联,Class 文件中包含了 J ...
分类:
其他好文 时间:
2019-07-16 18:48:52
阅读次数:
86
Java虚拟机(JVM)体系结构概述及各种性能参数优化总结 2014年09月11日 23:05:27 zhongwen7710 阅读数 1437 标签: JVM调优jvm 更多 个人分类: Java知识点总结技术架构原理 https://blog.csdn.net/zhongwen7710/arti ...
分类:
编程语言 时间:
2019-07-16 18:34:47
阅读次数:
104
1.JVM内存区域 Java虚拟机在运行时,内存分为若干区域;Java虚拟机管理的内存区域有:方法区、堆内存、虚拟机栈、本地方法栈、程序计数器。 ①方法区:主要用于存储虚拟机加载的类信息、常量、静态变量、以及编译后的代码。 ②堆内存:主要用于存放对象和数组,是jvm管理的内存中最大的区域。和方法区都 ...
分类:
其他好文 时间:
2019-07-16 00:04:29
阅读次数:
86
打印日志相关参数: -XX:+PrintGCDetails -XX:PrintGCTimestamps -XX:PrintGCDateStamps -Xloggc:$CATALINA_HOME/logs/gc.log -XX:+PrintHeapAtGC -XX:+PrintTenuringDist ...
分类:
编程语言 时间:
2019-07-15 13:21:35
阅读次数:
126