JVM
子阅哥哥
从删库到跑路...
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM10——日志分析、参数、纤程
CMS日志 G1日志原创 2021-04-28 10:40:17 · 143 阅读 · 0 评论 -
JVM9——G1
G1 特点 Card table 回收card table的算法CSet Rset 并发标记算法 漏标(没被标记) 增量更新 CMS使用 SATB G1使用原创 2021-04-28 10:40:07 · 135 阅读 · 0 评论 -
JVM8——OOM案例
原创 2021-04-28 10:39:51 · 208 阅读 · 0 评论 -
JVM7——调优
YGC :对新生代堆进行gc。频率比较高,因为大部分对象的存活寿命较短,在新生代里被回收。性能耗费较小。 FGC :全堆范围的gc。默认堆空间使用到达80%(可调整)的时候会触发fgc。以我们生产环境为例,一般比较少会触发fgc,有时10天或一周左右会有一次。 JVM常用命令行参数 GC日志详情 (了解) JVM调优 案例1 案例2 如何优化环境 ...原创 2021-04-28 10:38:20 · 169 阅读 · 0 评论 -
JVM6——GC
根对象有哪四个 根可达算法:根据根可以找到的不GC 一、标记清除 第一遍标记,第二遍清除 二、 拷贝算法 三、标记压缩 第一遍标记,第二遍移动 常见的垃圾回收器 多线程清理垃圾 和CMS配合 CMS ...原创 2021-04-28 10:38:03 · 129 阅读 · 0 评论 -
JVM5——体系
一、JVM体系 二、栈、堆、方法区存储的内容 堆区: 1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令) 2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身 。 栈区: 1.每个线程包含一个栈区,栈中只保存基础数据类型的值和对象以及基础数据的引用 2.每个栈中的数据(基础数据类型和对象引用)都是私有的,其他栈不能访问。 3.栈分为3个部分:基本类型变量区、执行环境上下文、操作指令区(存放操作指令)。 方法区:原创 2021-04-28 10:37:53 · 164 阅读 · 0 评论 -
JVM4——创建对象
对象头markword 8字节具体内容 对象定位原创 2021-04-28 10:37:26 · 141 阅读 · 0 评论 -
JVM3——初始化过程
实例 //父类Animal class Animal { /*8、执行初始化*/ private int i = 9; protected int j; /*7、调用构造方法,创建默认属性和方法,完成后发现自己没有父类*/ public Animal() { /*9、执行构造方法剩下的内容,结束后回到子类构造函数中*/ System.out.println("i = " + i + ", j = " + j); ..原创 2021-04-28 10:36:38 · 151 阅读 · 0 评论 -
JVM2——类加载器
自定义类加载器 只需重写findClass方法 加密(非掌握) 在类加载器使用异或对二进制码加解密 一句话描述编译与解释 编译 Compile:把整个程序源代码翻译成另外一种代码,然后等待被执行,发生在运行之前,产物是「另一份代码」。 解释 Interpret:把程序源代码一行一行的读懂然后执行,发生在运行时,产物是「运行结果」。 懒加载 ...原创 2021-04-28 10:36:13 · 141 阅读 · 0 评论 -
JVM1——基础概念
JClassLib——IDEA插件之一 加载类为什么双亲委派? 主要为了安全,防止自定义加载(String等)其次防止资源浪费原创 2021-04-28 10:35:21 · 144 阅读 · 0 评论
分享