JVM
文章平均质量分 96
徐俊生
Write the code, Change the world!
展开
-
JVM 垃圾回收机制和常见的垃圾回收器
JVM 垃圾回收机制和常见的垃圾回收器原创 2022-06-05 16:51:34 · 522 阅读 · 0 评论 -
一张图看懂 JVM 之垃圾回收机制
一张图看懂JVM之垃圾回收机制导读什么是垃圾回收?哪些内存需要回收?如何判断对象已成垃圾?引用计数法可达性分析算法四种引用方式强引用软引用弱引用虚引用引用小结垃圾收集算法标记-清除算法标记-复制算法标记-整理算法分代收集算法分代收集理论为什么要分代?内存分代划分Eden 区Survivor 区为啥需要 Survivor 区?老年代(Old Gen)堆内存常见的分配策略对象优先在 Eden 区分配大对象直接进入老年代长期存活的对象将进入老年代总结有这样一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++原创 2022-05-14 16:11:35 · 584 阅读 · 0 评论 -
面试官:讲讲什么是 JMM
讲讲什么是 JMM什么是 JMM?JMM 抽象:主内存与工作内存为什么需要 JMM,它试图解决什么问题?八种内存交互操作JMM 三大特征原子性可见性有序性volatile 关键字可见性volatile 一定能保证线程安全吗?Happen-before8 条 Happens-before 规则禁止指令重排序volatile 禁止指令重排序的原理是什么?内存屏障Load-Load BarriersLoad-Store BarriersStore-Store BarriersStore-Load Barriers原创 2022-05-03 15:57:11 · 1404 阅读 · 0 评论 -
读懂 JVM 内存管理这篇就够了
读懂 JVM 内存管理这篇就够了JVM 的内存结构程序计数器作用概述PC寄存器的常见问题虚拟机栈栈中可能出现的异常栈的存储单位栈运行原理栈帧的内部结构局部变量表槽 Slot操作数栈动态链接JVM 是如何执行方法调用的?方法返回地址(return address)附加信息本地方法栈堆内存划分对象在堆中的生命周期对象的分配过程元空间方法区对于方法区,Java8 之后的变化方法区内部结构类型信息域(Field)信息方法(Method)信息运行时常量池常量池运行时常量池参考与感谢Java 与 C++ 之间有一堵原创 2022-04-29 21:33:46 · 3609 阅读 · 2 评论 -
面试题:请介绍 JVM 类加载机制
JVM 类加载机制Java 代码执行流程类的生命周期加载验证准备解析初始化clinit 和 init 方法类加载的时机被动引用类加载器双亲委派机制我们在前面分析JVM架构解析的时候,简单介绍了 Java 类加载机制,本文带大家深入分析一下。Java 代码执行流程根据上图所示,Java 代码执行步骤如下:步骤 1: 获取 Java 源代码;步骤 2: 编译器把 java 文件转变成 class 文件。编译过程大致可以分为 1 个准备过程和 3 个处理过程:准备过程:初始化插入式注解处理器解原创 2022-04-23 16:17:08 · 2912 阅读 · 0 评论 -
一文读懂JVM架构解析
JVM 架构解析Java 架构JVMJVM是如何工作的?类加载器子系统运行时数据区执行引擎每个 Java 开发人员都知道字节码经由 JRE(Java运行时环境)执行。但他们或许不知道 JRE 其实是由 Java虚拟机(JVM)实现,JVM分析字节码,解释并执行它。作为开发人员,了解 JVM 的架构是非常重要的,因为它使我们能够编写出更高效的代码。本文中,我们将深入了解 Java 中的 JVM 架构和 JVM 的各个组件。首先我们介绍一下 JDK、JRE 以及 JVM 之间的关系。Java 架构J原创 2022-04-16 23:48:53 · 1984 阅读 · 1 评论 -
[JVM](一)基本概念
浅谈JVM及原理1、运行流程2、JVM基本结构2.1、内存空间2.2、栈运行原理1、运行流程我们都知道java一直宣传的口号是:一次编译,到处运行。那么它如何实现的呢?我们看下图:java程序经过一次编译之后,将java代码编译为字节码也就是class文件,然后在不同的操作系统上依靠不同的java虚拟机进行解释,最后在转换为不同平台的机器码,最终得到执行。这样我们是不是可以推演:如果要在m...转载 2019-12-02 16:15:57 · 193 阅读 · 0 评论