随笔分类 -  JVM

摘要:[JVM]GC日志解读解析GC日志解读解析 示例代码 package jvm.test1; import java.util.Random; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.LongAdder; /** * GC 阅读全文
posted @ 2023-10-22 23:54 knqiufan 阅读(38) 评论(0) 推荐(0) 编辑
摘要:[JVM]关于swap的理解关于swap的理解 概念 swap就是内存交换的意思。 计算机内存分为物理内存和虚拟内存。物理内存就是计算机实际内存的大小;虚拟内存是磁盘空间里开辟出一部分,是虚拟出来的内存空间,所以也叫磁盘缓存。 虚拟内存使得计算机在内存不够的情况可以得到部分解决。 程序运行的时候会在虚拟内存与物理内存之间进行替 阅读全文
posted @ 2023-10-09 18:38 knqiufan 阅读(280) 评论(0) 推荐(0) 编辑
摘要:[JVM] JVM的类加载机制当JVM需要用到某个类的时候,虚拟机会加载它的.class文件。加载了相关的字节码信息之后,会常见对应的Class对象,这个过程就被称为类加载。 需要注意的是:类加载机制只负责`class`文件的加载,至于是否可以执行,则是由执行引擎决定的。 类的加载过程被分为五个阶段:加载、验证、准备、解析、初始化。验证、准备、解析三个阶段为连接步骤。其中加载、验证、准备、初始化这几个阶段的顺序是确定的,但是解析阶段不一定,在某些情况下可以在初始化阶段之后再开始。 阅读全文
posted @ 2022-06-12 22:59 knqiufan 阅读(194) 评论(0) 推荐(0) 编辑
摘要:[JVM]逃逸分析逃逸分析是目前Java虚拟机中比较前沿的优化技术,也是JIT中一个很重要的优化技术。 它其实就是分析一个对象是否会逃逸出方法,分析对象的动态作用域。如果一个对象在一个方法内定义,并且有可能被方法外部引用使用,那认为它逃逸了。 阅读全文
posted @ 2022-06-05 22:55 knqiufan 阅读(157) 评论(0) 推荐(0) 编辑
摘要:[JVM] CPU缓存一致性协议CPU缓存一致性协议 CPU高速缓存 CPU缓存是位于cpu和内存之间的临时数据交换器,它的容量比内存小的夺但是交换速度要比内存快得多,主要是为了解决cpu运行时的处理速度与内存读写速度不匹配的问题。 cpu在执行指令时需要从内存中获取所需要的指令和数据,但是cpu的处理速度远大于内存的读写速度,所 阅读全文
posted @ 2022-04-22 01:56 knqiufan 阅读(369) 评论(0) 推荐(0) 编辑
摘要:[JVM] Java内存分配Java内存分配 程序计数器 程序计数器是一块较小的内存区域,作用可以看做是当前线程执行的字节码的位置指示器。分支、循环、跳转、异常处理和线程恢复等基础功能都需要依赖这个计算器来完成。 虚拟机栈 虚拟机栈也叫栈内存,是在线程创建时创建,它的生命期是跟随线程的生命期,线程结束栈内存也就释放,对于栈来说 阅读全文
posted @ 2022-04-22 01:45 knqiufan 阅读(265) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示
欢迎阅读『JVM』