
JVM
文章平均质量分 50
Bestest~
学习 分享 交流 记录 成长
展开
-
JVM——虚拟机参数配置学习记录
-XX:+PrintGCDetails 堆的JVM常见配置方式: -Xss //选置栈内存的大小 -Xms: //初始堆大小 -Xmx: //最大堆大小 -XX:NewSize=n: //设置年轻代大小 -XX:NewRatio=n: //设置年轻代和年老代的比值。比如设置为3,表示年轻代与年老代比值为1:3 -XX:SurvivorRatio=n: //年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。比如设置为3,表示Eden:Survivor=3:2,一个Surviv原创 2021-02-20 14:35:12 · 291 阅读 · 0 评论 -
JVM——内存管理和垃圾回收学习整理
文章目录一、基础概念1.1 何为GC1.2 何为垃圾1.3 垃圾产生的情况举例1.3.1 案例一1.3.2 案例二1.3.3 案例三1.3.4 案例四1.3.5 案例五二、四种引用类型2.1 强引用2.2 软引用2.3 弱引用2.4 虚引用三、典型的垃圾回收算法3.1 Mark-Sweep(标记-清除)算法3.2 Copying(复制)算法3.3 Mark-Compact(标记-整理)算法3.4 Generational Collection(分代收集)算法四、典型的垃圾回收器4.1 Serial&转载 2020-12-03 14:33:27 · 335 阅读 · 0 评论 -
JVM——自定义类加载器整理
文章目录一、自定义类加载器的应用场景1.1 加密1.2 从非标准的来源加载代码1.3 实际综合运用二、双亲委派模型2.1 双亲委派模型的工作过程2.2 双亲委派模型的好处三、自定义类加载器3.1 案例一(Class.forName)3.1.1 自定义一个People.java类做例子3.1.2 自定义类加载器3.1.3 在主函数里使用3.1.4 运行结果3.2 案例二(loadClass)参考转载 一、自定义类加载器的应用场景 1.1 加密 Java代码可以轻易的被反编译,如果你需要把自己的代码进行加密转载 2020-12-03 11:34:07 · 290 阅读 · 0 评论 -
JVM——类加载机制原理总结
一、类加载器的组织结构 1、Bootstrap ClassLoader:根类(或叫启动、引导类加载器)加载器 它负责加载Java的核心类(如String、System等)。 它比较特殊,因为它是由`原生C++`代码实现的,并不是java.lang.ClassLoader的子类, 所以下面的输出结果为null: System.out.println(String.class.getClassLoader()); 2、Extension ClassLoader:扩展类加载器。 它负责加载JRE的`扩展目录(原创 2020-12-02 18:13:11 · 638 阅读 · 0 评论 -
JVM——Java虚拟机架构
一、基础概念 `Java虚拟机`(Java virtualmachine)实现了Java语言最重要的特征:即`平台无关性`。 平台无关性`原理`: 编译后的 Java程序(.class文件)由 JVM执行。 JVM屏蔽了与具体平台相关的信息,使程序可以在多种平台上不加修改地运行。 Java虚拟机在'执行字节码'时,把字节码'解释'成具体平台上的机器指令执行。 因此实现`Java平台无关性`。 二、JVM结构图理解 `JVM` = '类加载器 classloader' + '执行引擎 execution原创 2020-12-02 10:21:11 · 217 阅读 · 0 评论