JVM垃圾回收流程「建议收藏」

JVM垃圾回收流程「建议收藏」        昨天在网易云课堂上看李兴华老师的Java视频,讲到了GC回收垃圾的流程。这部分知识在开发的时候不容易用到,但是懂一点JVM的底层知识,是不是显得我们很有钻研的精神,很踏实呢?整个流程大概是:        当有新对象产生时,会保存在Eden(伊甸园,万物诞生的地方)中。之后这个对象不会在Eden中久留,它会被保存在年轻代中。而后在进行GC后,在新生代中保留下来的对象会被保存到旧生代…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

        昨天在网易云课堂上看李兴华老师的Java视频,讲到了GC回收垃圾的流程。这部分知识在开发的时候不容易用到,但是懂一点JVM的底层知识,是不是显得我们很有钻研的精神,很踏实呢?

整个流程大概是:

        当有新对象产生时,会保存在Eden(伊甸园,万物诞生的地方)中。之后这个对象不会在Eden中久留,它会被保存在年轻代中。而后在进行GC后,在新生代中保留下来的对象会被保存到旧生代中。 如果再有新的对象产生,但是空间不足时。GC先从新生代中回收,再找旧生代,最后都没有空间,就用FullGc来一次大清理,回收全部垃圾。

请看下面流程图(为了加深印象,照着李老师的课堂笔记画的):

JVM垃圾回收流程「建议收藏」

这个图具体展示了上面描述的垃圾回收过程。

另外了解一道题:

        请解释final、finally、finalize 的区别。

final:用于定义不能被继承的类,不能被子类覆写的方法,定义常量;

finally:是进行异常处理时的统一出口

finalize:是Object类的一个方法,(public void finalize() throw Throwable),是定义对象被回收之前的一些操作,无论方法中写了什么,不会影响对象的回收。

 最后,今天要记住一段代码:

Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String str = sdf.format(date);

SimpleDateFormat类的构造方法中的参数,很麻烦。 这里面的大小写一定要记住。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194818.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lmdb数据库的读取与转换(二) —— 数据集操作

    lmdb数据库的读取与转换(二) —— 数据集操作数据集的lmdb将数据集转换成lmdb实际上就是一条条地将img和label的key-value形式写进lmdb中importcv2importlmdbimportnumpyasnpenv=lmdb.open(‘./data/train/CVPR2016’)txn=env.begin()forkey,valueintxn.cursor():#遍历print(key)#print(value)env.close()遍历lmdb中..

    2022年9月25日
    5
  • golang2022.1 激活吗(注册激活)

    (golang2022.1 激活吗)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~B…

    2022年3月31日
    968
  • 测试报告范文_系统测试报告

    测试报告范文_系统测试报告前言受益于pytest的集成,HttpRunnerv3.x可以使用pytest所有插件,包括pytest-html和allure-pytest,也可以实现这2种方式的报告内置html报告pyt

    2022年7月28日
    5
  • 如何把本地项目上传到Github

    如何把本地项目上传到Github

    2021年10月10日
    76
  • 383. 观光(最短路拓扑图)「建议收藏」

    383. 观光(最短路拓扑图)「建议收藏」“您的个人假期”旅行社组织了一次比荷卢经济联盟的巴士之旅。比荷卢经济联盟有很多公交线路。每天公共汽车都会从一座城市开往另一座城市。沿途汽车可能会在一些城市(零或更多)停靠。旅行社计划旅途从 S 城市出发,到 F 城市结束。由于不同旅客的景点偏好不同,所以为了迎合更多旅客,旅行社将为客户提供多种不同线路。游客可以选择的行进路线有所限制,要么满足所选路线总路程为 S 到 F 的最小路程,要么满足所选路线总路程仅比最小路程多一个单位长度。如上图所示,如果 S=1,F=5,则这里有两条最短路线 1→

    2022年8月10日
    8
  • window 启动tomcat闪退 查看日志方法

    window 启动tomcat闪退 查看日志方法window启动tomcat闪退查看日志方法找到bin下面的startup.bat用文本方式打开找到末尾start改为run然后打开cmd窗口cd到tomcatbin路径执行startup.bat下图本来该报错会闪退,catalina日志文件也没记录该报错,导致我们看不到报错信息,设置后可清晰看到报错原因,端口号超出范围,改小就行了…

    2022年5月29日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号