
JVM
文章平均质量分 94
愿你一世安呀
这个作者很懒,什么都没留下…
展开
-
JVM---内存模型
四、内存模型1. java 内存模型很多人将【java 内存结构】与【java 内存模型】傻傻分不清,【java 内存模型】是 Java MemoryModel(JMM)的意思。关于它的权威解释,请参考 https://download.oracle.com/otn-pub/jcp/memory_model-1.0-pfdspec-oth-JSpec/memory_model-1_0-pfd-spec.pdf?AuthParam=1562811549_4d4994cbd5b59d964cd2907e原创 2022-03-14 17:04:27 · 141 阅读 · 0 评论 -
JVM---类加载与字节码技术
三、类加载与字节码技术类文件结构字节码指令编译期处理类加载阶段类加载器运行期优化1. 类文件结构一个简单的 HelloWorld.java// 二进制字节码(类基本信息,常量池,类方法定义,包含了虚拟机指令)public class HelloWorld { public static void main(String[] args) { System.out.println("hello world"); }}执行 j原创 2022-03-13 14:18:39 · 826 阅读 · 0 评论 -
JVM---垃圾回收
二、垃圾回收如何判断对象可以回收垃圾回收算法分代垃圾回收垃圾回收器垃圾回收调优1. 如何判断对象可以回收1.1 引用计数法弊端:1.2 可达性分析算法Java 虚拟机中的垃圾回收器采用可达性分析来探索所有存活的对象扫描堆中的对象,看是否能够沿着 GC Root对象 为起点的引用链找到该对象,找不到,表示可以回收哪些对象可以作为 GC Root ?jsp -- 查看进程id/** jmap 内存快照-dump:format:转储文件的格式b:二原创 2022-02-27 14:38:57 · 220 阅读 · 0 评论 -
JVM----内存结构
Java Virtual Machine - java 程序的运行环境(java 二进制字节码的运行环境)一、内存结构程序计数器虚拟机栈本地方法栈堆方法区1. 程序计数器1.1 定义Program Counter Register 程序计数器(寄存器)1.2 作用 二进制字节码 jvm指令 java源代码 0: getstatic #20 // PrintStream out = System.out;原创 2022-02-25 15:55:35 · 608 阅读 · 0 评论 -
JVM调优工具介绍及JAVA 引用类型和对象的复制
6. JAVA 引用类型和对象的复制6.1 Java 的四种引用类型(了解)在 JDK 1.2 以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从 JDK 1.2 版本开始,把对象的引用分为 4 种级别,从而使程序能更加灵活地控制对象的生命周期。这 4 种级别由高到低依次为:强引用、软引用、弱引用和虚引用。6.1.1强引用在 Java 中最常见的就是强引用,把一个对象赋给一个引用变量,这个引用变量就是原创 2021-08-09 19:27:59 · 175 阅读 · 0 评论 -
JVM参数详解
5. JVM 参数详解5.1 通用 JVM 参数5.1.1 -server如果不配置该参数,JVM 会根据应用服务器硬件配置自动选择不同模式,server 模式启动比较慢,但是运行期速度得到了优化,适合于服务器端运行的 JVM。5.1.2 -client启动比较快,但是运行期响应没有 server 模式的优化,适合于个人 PC 的服务开发和测试。5.5.1.3 -Xmx设置 java heap 的最大值,默认是机器物理内存的 1/4。这个值决定了最多可用的 Java 堆内存:分配过少就会在原创 2021-08-09 18:54:08 · 355 阅读 · 0 评论 -
JVM内存区域及GC
2. JVM 内存区域划分JVM 内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区 域【JAVA 堆、方法区】、直接内存。线程私有数据区域生命周期与线程相同, 依赖用户线程的启动/结束 而 创建/销毁(在 Hotspot VM 内, 每个线程都与操作系统的本地线程直接映射, 因此这部分内存区域的存/否跟随本地线程的 生/死对应)。线程共享区域随虚拟机的启动/关闭而创建/销毁。直接内存并不是 JVM 运行时数据区的一部分, 但也会被频繁的使用: 在 JDK 1.4 引原创 2021-08-09 17:00:12 · 708 阅读 · 0 评论 -
JVM 类装载机制
1. JVM 类装载机制1.1 JVM 内存模型ClassLoader:依据特定格式,加载 class 文件到内存Execution Engine:对命令进行解析Native Interface:java 会通过这个模块融合不同开发语言的原生库—native 实现Runtime Data Area: 运行时数据区域,即我们经常说的 JVM 内存空间模块1.2 JVM 类装载的阶段JVM 类加载机制分为加载》连接(验证\准备\解析)》初始化》使用》卸载五个部分加载加载是类加载过程中的原创 2021-08-06 22:24:43 · 377 阅读 · 0 评论