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

6月27号Java学习

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

6月27号Java学习

1.什么是内存垃圾?

JVM堆内存中,已经确认不再被使用的内存对象。

2.什么是垃圾回收 ?

java语言规范没有明确的说明JVM 使用哪种垃圾回收算法,但是任何一种垃圾回收算法一般要做两件基本事情:(1)发现无用的信息对象;(2)回收将无用对象占用的内存空间。使该空间可被程序再次使用。

System.gc()

手动GC,JDK提供了一个gc函数,调用这个函数,即完成对JVM虚拟机内存完成一次

自动GC,当JVM虚拟机启动后,后台会自动运行一个gc程序,负责内存的gc操作

这个后台的gc程序会定时做gc操作,或者是JVM内存不够用的时候,会立刻触发gc

3.同一个对象可以被多个指针同时指向

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

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

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

4.关于方法区、栈区、堆区的一些理解

方法区和元空间是一个意思

程序运行的过程中很多对象都是朝生夕死

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

小对象出生在伊甸园区,垃圾回收后如果能存活下拉会转到幸存者区。对象的年龄计数器会加1,当对象经历十六次回收后,依然能够存活,会进入老年代

5.Minor GC和Major GC/Full GC的区别

轻量级GC   只GC新生代  效率高

全局GC 对新生代和老年代都做GC  效率低  在新生代无法进行GC后才进行

对象只会在堆区中生成

指针可以在方法区(静态变量)、栈区(栈帧,局部变量)参数也可以是指针,返回值也可以是指针,指针也可以在堆区

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

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

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

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