随笔分类 -  java / jvm理论

摘要:jvm中的常量池分为三种(1.6前都在方法区) 1.类文件常量池(Class Constant Pool) 也称静态常量池 2.运行时常量池(Runtime Constant Pool) 3.字符串常量池(String Constant Pool) 1.类文件常量池 我们写的每一个Java类被编译后 阅读全文 »
posted @ 2023-05-13 20:24 Bepowerful 阅读(271) 评论(0) 推荐(0) 编辑
摘要:==逃逸分析== 首先我们需要知道,==逃逸分析并不是直接的优化手段,而是而是分码分析手段==。具体而言就是: 逃逸分析是“一种确定指针动态范围的静态分析,它可以分析在程序的哪些地方可以访问到指针”。Java虚拟机的即时编译器会对新建的对象进行逃逸分析,判断对象是否逃逸出线程或者方法。即时编译器判断 阅读全文 »
posted @ 2023-05-13 20:22 Bepowerful 阅读(75) 评论(0) 推荐(0) 编辑
摘要:下面说的常量池都是指字符串常量池,字符串常量池存在运行时常量池之中(在JDK7之前存在运行时常量池之中,在JDK7已经将其转移到堆中),运行时常量池从永久代移到了元空间中。 String a = new String("ab"); 此时创建了两个对象,常量池中创建了ab对象,堆内存中也创建了ab对象 阅读全文 »
posted @ 2023-05-13 20:22 Bepowerful 阅读(45) 评论(0) 推荐(0) 编辑
摘要:Minor GC 当年轻代空间不足时,就会触发Minor GC,这里的年轻代满指的是Eden满,Survivor满不会触发GC。(每次Minor GC 会清理年轻代的内存) 因为Java对象大多都具备朝生熄灭的特性,所以Minor GC非常频繁,一般回收速度也比较快。 Minor GC会引发STW, 阅读全文 »
posted @ 2023-05-13 20:22 Bepowerful 阅读(68) 评论(0) 推荐(0) 编辑
摘要:swap原理 swap就是内存交换的意思。 计算机对内存分为物理内存与虚拟内存。物理内存就是计算机的实际内存大小,虚拟内存则是从磁盘空间开辟出一部分内存空间虚拟出来的,所以也叫磁盘缓存。虚拟内存的出现,让机器内存不够的情况得到部分解决。程序运行的时候系统会在虚拟内存与物理内存直接进行替换和加载。这里 阅读全文 »
posted @ 2023-03-24 01:34 Bepowerful 阅读(318) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示