栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础5

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础5

什么是内存垃圾
什么是垃圾回收 GC (garbage collection)
  手动gc, JDK提供了一个gc函数, 调用这个函数, 就完成对JVM虚拟机内存进行一次GC
  System.gc()
  自动gc, 当JVM虚拟机启动后, 后台会自动运行一个gc程序, 负责内存的gc操作
  这个后台的gc程序会定时做gc操作, 或者是当JVM内存不够用的时候, 会立刻触发gc

JDK自带的jvisualvm工具,安装Visual GC插件

同一个对象可以被多个指针同时指向
一个指针可以指向不同的对象, 但是同一时刻只能指向一个对象

测试当对象有指针指向的时候, 对象不会被垃圾回收器回收
当对象没有指针指向的时候, 对象会被垃圾回收器回收, 会不会立即回收?

方法区Method Area  ---> JDK1.8后改名为元空间Meta Space

栈区 Stack Area

堆区 Heap Area
 伊甸园区 Eden
 生存者1区
 生存者2区
 老年区


程序运行过程中很多对象都是朝生夕死
小对象出生在伊甸园区, gc后, 如果能存活下来会被转移到幸存者区, 对象的年龄计数器会+1
当对象经历了16次回收后依然能够存活, 会进入老年代

重对象/大对象一出生就在老年代

Minor GC和Major GC/Full GC的区别

Minor GC 发生在新生代的GC, 速度很快
Major GC/Full GC发生在老年代的GC, 通常Major GC发生的时候都伴随着Minor GC的发生, 速度比较慢

在JVM虚拟机执行GC的时候, 所有的线程都会暂停运行, 有一句叫做"stop the world!" 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/996409.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号