深入理解JVM(学习过程) (25)

2020年02月17日22:05:23 这个时候发生了一个有趣的问题,原本把笔记全部给记录到一块,现在地下的时候卡的要死,现在重新创建了一个文件,完全没有一点问题了。

image-20200217220537756

image-20200217220637780

永久代从jdk8之后就被替换成了元空间。用来存放元信息。

内存结构、分配与回收 内存结构

image-20200217220726901

内存分配

image-20200217220820346

内存回收

image-20200217220851306

强引用 ;软引用 ;弱引用 ; 虚引用

image-20200217220938375

image-20200217221042545

image-20200217221058345

scavenge : 打扫

Full : 完全的。(会导致FW的出现。占用业务线程。 要在开发中完全避免这种GC);

垃圾回收器

image-20200217221326189

image-20200218151805932

Serual收集器

image-20200218151955316

image-20200218152110707

serial: 连续的、

ParNew收集器

image-20200218152220636

image-20200218152409230

Parallel Scavenge 收集器

image-20200218152436140

parallel : 平行的 、 scavenge : 打扫

Serial Old 收集器

image-20200218152647396

Parallel Old 收集器

image-20200218152658893

image-20200218152712997

CMS(Concurrent Mark Sweep)收集器

image-20200218154541565

image-20200218154616399

image-20200218154636363

GC垃圾收集器的JVM参数定义

image-20200218154712889

JAVA内存泄漏的经典原因

image-20200218154742610

对象定义在错误的范围

下图中的names的定义,定义为全局变量,但是只使用了一次。全局变量不会被立马被回收,但是局部变量会立马被回收的。

image-20200218154825601

异常处理不当

image-20200218155024167

image-20200218155134558

集合数据管理不当

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpfdfy.html