JVM
文章平均质量分 86
kkzz1x
真.新手起步
Java + CPP + Rust(新人),计算机科学热爱者
展开
-
【JVM-8】类加载器(双亲委派模型)
文章目录一、类加载器概述二、双亲委派模式一、类加载器概述加载类时会先询问上级:这个类是否加载过了;如果没有,还会再委托上级查看有无加载过这个类。只有上级两个加载器都没有加载过,才会轮到应用程序类加载器加载。——双亲委派的类加载模式:先由下到上询问,后由上到下加载启动类加载器可以用一些虚拟机参数,将自己编写的参数交给启动类加载器加载。启动类加载器是由cpp程序编写的。(了解)AppClassLoader ExtClassLoader NULL(没找到加载器 也就是启动类加载器)原创 2022-04-02 22:58:43 · 281 阅读 · 0 评论 -
【JVM-7】类的几个加载阶段
文章目录一、加载二、链接一、加载java类变成字节码以后,要运行的话需要类加载器,将将类的字节码载入方法区中,内部采用C++的instanceKlass描述java类(底层)。java无法直接访问instanceKlass,所以中间需要一系列的转换。内部重要的field(域)有:_java_mirror 即 java 的类镜像,例如对 String 来说,就是 String.class(这就是instanceKlass的镜像),作用是把 klass 暴露给 java 使用—桥梁作用_super原创 2022-04-02 21:14:02 · 395 阅读 · 0 评论 -
【JVM-6】字节码技术
文章目录一、概述二、类文件结构一、概述常用字节码指令、源代码到字节码过程中的优化处理;字节码文件要运行,那么要经过一个类加载器二、类文件结构原创 2022-04-01 22:23:05 · 411 阅读 · 0 评论 -
【JVM-5】GC调优
文章目录垃圾回收调优1. 调优领域2. 确定目标3. 最快的gc是不发生gc4. 新生代调优垃圾回收调优1. 调优领域内存锁竞争cpu占用io2. 确定目标如果应用程序主要做科学运算,那么追求【高吞吐量】如果做互联网项目 追求【低延迟】 提升用户体验然后选择合适的回收器。追求高吞吐量:ParallelGC响应时间优先:CMS(jdk9不推荐,推荐G1),G1,ZGC(目标超低延迟)当然,也可以不选择hotSpot虚拟机ahhhh3. 最快的gc是不发生gc数据是否太多? 数原创 2022-03-30 16:18:58 · 586 阅读 · 0 评论 -
【JVM-4】G1垃圾回收器
文章目录一、G1(Garbage First)1. G1垃圾回收阶段概述2. Young Collection 新生代垃圾回收3. Young Collection+ CM4. Mixed Collection接上篇的垃圾收集器~一、G1(Garbage First)2012 JDK 7u4官方支持2017 JDK9默认同时注重吞吐量、低延迟,默认的暂停目标是200ms(追求低延迟)超大堆内存,会将堆划分为多个大小相等的Region整体上是标记+整理算法,两个区域之间是复制算法1. G1原创 2022-03-29 22:59:46 · 503 阅读 · 0 评论 -
【JVM-3】垃圾回收
文章目录一、如何判断对象可以回收1. 引用计数法一、如何判断对象可以回收1. 引用计数法只要一个对象被其他变量所引用,那么这个对象计数+1;如果某一个变量不再引用它了,计数-1当对象的引用计数变为0,那么就可以被当做垃圾回收。存在的问题:循环引用这两个对象的引用计数不能归零(其他对象都无法引用它们了) 所以不能被当做垃圾回收掉垃圾回收算法分代垃圾回收垃圾回收器垃圾回收调优...原创 2022-03-28 18:53:29 · 697 阅读 · 0 评论 -
【JVM-2】StringTable垃圾回收和调优&直接内存
原创 2022-03-26 23:40:54 · 417 阅读 · 0 评论 -
【JVM-1】JVM内存结构
文章目录一、定义一、定义Java Virtual Machine --java的运行环境(java二进制字节码的运行环境)好处:一次编写,到处运行自动内存管理,垃圾回收功能数组下标越界检查多态比较:原创 2022-03-24 17:18:28 · 1666 阅读 · 0 评论