JVM
文章平均质量分 81
-三七二十一
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM内功心法-GC垃圾回收之GC垃圾回收过程
JVM内功心法-GC垃圾回收之GC垃圾回收算法GC 全称garbagecollection,垃圾回收。JAVA 为了屏蔽操作系统和平台之间的差异。选择的是采用 java 虚拟机来运行 java 应用。即 jvm。jvm 既然是一个虚拟机,必然涉及到内存的管理。对于内存中的对象需要进行管理。管理内存的一个很重要的事情就是垃圾回收。即将无用的对象清理掉,释放出内存来给应用继续使用。这个过程就是 GC,为什么要有 gc。因为如果内存只使用不回收的话,很快就会占满,导致应用后续运行出现问题。Minor GC/原创 2022-05-06 22:31:01 · 1266 阅读 · 0 评论 -
JVM内功心法-JVM内存模型之内存溢出
JVM内功心法-JVM内存模型之内存溢出jvm常用参数【想在本地更快复现一些问题就可以调节这些参数】:(1)-Xms20M 表示设置JVM启动内存的最小值为20M,必须以M为单位(2)-Xmx20M 表示设置JVM启动内存的最大值为20M,必须以M为单位。将-Xmx和-Xms设置为一样可以避免JVM内存自动扩展。大的项目-Xmx和-Xms一般都要设置到10G、20G甚至还要高(3)-verbose:gc 表示输出虚拟机中GC的详细情况(4)-Xss128k 表示可以设置虚拟机栈的大小为12原创 2022-05-04 19:15:29 · 545 阅读 · 0 评论 -
JVM内功心法-JVM内存模型之内存区域
程序计数器(Program Counter Register):也叫PC寄存器,是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令、分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。打开字节码文件可以看到一排排的index加上相应的指令,这个程序计数器就是用来记录这个即将执行的一个流程,当然这个顺序是可原创 2022-05-02 22:36:19 · 833 阅读 · 0 评论 -
JVM内功心法-类加载之类加载器
JVM内功心法-类加载之类加载器由于类加载器是负责这些和系统运行有关的所有类的加载行为,而针对不同位置的类,JVM提供了三种类加载器:1.启动类加载器(BootStrap ClassLoader) 最顶层的加载类,主要加载核心类库,也就是我们环境变量下面%JRE_HOME%\lib下的rt.jar、resources.jar、charsets.jar和class等,还可以通过启动jvm时指定-Xbootclasspath和路径来改变Bootstrap ClassLoader的加载目录。2.扩展类加载器原创 2022-05-01 17:51:21 · 383 阅读 · 0 评论 -
JVM内功心法-GC垃圾回收之GC垃圾回收算法
jvm内功心法-GC垃圾回收一,垃圾收集算法标记清除算法标记:Collector从引用根节点开始遍历,标记所有被引用的对象。一般是在对象的Header中记录为可达对象。清除:Collector对堆内存进行从头到尾的线性遍历,如果发现某个对象在其Header中没有标记为可达对象,则将其回收。复制算法它将堆上的内存分为两个大小相等的区域,一个是空闲区域,一个是活动区域,也就是有一半的区域空间一直未被使用标记整理算法先标记出存活对象,接着把所有的存活对象移动到内存的一端,然原创 2022-04-30 21:52:45 · 410 阅读 · 0 评论 -
JVM内功心法-欲练此功,必先“自宫”
JVMGC垃圾回收JVM类加载机制JVM内存区域分布JVM内功心法-性能调优原创 2022-04-29 21:18:50 · 1081 阅读 · 0 评论 -
JVM内功心法-类加载之类的生命周期
JVM-类加载过程加载(查找并加载类的二进制数据)连接(检验class字节码的准确性并为静态变量分配内存然后将类中的符号引用转换为指针引用)初始化(分配内存区及赋初始值)使用卸载加载(查找并加载类的二进制数据)首先通过一个类的全限定名来获取此类的二进制字节流;其次将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构;最后在java堆中生成一个代表这个类的Class对象,作为方法区这些数据的访问入口。连接(检验class字节码的准确性并为静态变量分配内存然后将类中的符号引用转换为指针引用)原创 2021-03-09 11:02:28 · 356 阅读 · 0 评论
分享