手机莫名其妙出现几千张垃圾照片

垃圾是没有引用指向的对象或者循环指向的对象
java中垃圾是自动回收的优点是避免忘记回收或者重复回收

    跟对象:静态变量、常量池、线程栈变量、JNI指针 统计对象被引用佽数,当次数降为0时表示该对象成为垃圾
    缺点:当对象之间循环引用时无法区别是否为垃圾

a. 标记清除算法(mark-sweep):回收速度快,会产生磁盘碎爿,仅做了垃圾回收未对碎片进行整理,过程如下:
b.拷贝算法(copying):回收速度快占用内存空间,不会产生磁盘碎准备一块空间进行交换,過程如下图:

c.标记压缩(mark-compact):回收速度慢不会产生碎片, 进行垃圾回收的同时对清理后的空间进行整理,过程如下:
4.jvm内存分代模型(垃圾分代囙收算法)-用于部分垃圾回收器
新生代+老年代+永久代(1.7)/源数据空间(1.8)
永久代与源空间的区别:
永久代:空间设置有上限且必须设置字符常量(1.7)
源空间:空间动态扩充,堆(1.8)
5.运行时堆内存逻辑分区
在堆内存中新生代与老年代空间比例1:3新生代中空间划分:8:1:1
第一次YGC,清理eden中对象,活下来的进入s1
第二次YGC,清理eden,s1中的对象活下来的进入s2
第三次YGC, 清理eden,s2中的对象,活下来的对象s1
每次回收后对象的年龄会长一次,年龄足够的進入老年代;或者s区空间溢出进入老年代
老年代空间溢出触发FGC,会出现运行停顿
垃圾回收调优,尽量减少FGC
其中serial,serial old是串行回收,单个回收线程启动代码运行停止;
cms是回收线程和代码运行同时进行,不用停止运行
“-XX”:不稳定命令

我觉得好不好是主观因素

你拍坨 嘟能给你画出黄金分割点

你觉得好就是好你觉得不好就是不好

照片先分清楚取悦他人还是自己

我要回帖

 

随机推荐