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

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


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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 从char 数据类型到smalldatetime 数据类型的转换导致smalldatetime 值越界

    从char 数据类型到smalldatetime 数据类型的转换导致smalldatetime 值越界
    SQL:
    select*fromdbo.pds_operation_log  where(plan_code=12andcreate_timebetween’1900-01-01’and’2098-12-31′)orderbycreate_time asc
     
    出错:
    消息296,级别16,状态3,第1行
    从char数据类型到smalldatetime数据类型的转换导致smalldatetime值越界。

    2022年5月19日
  • c++ sort 二维数组排序_二维数组升序排列

    c++ sort 二维数组排序_二维数组升序排列以往遇到行排列问题(按每行的字典序排序)的时候,总是使用结构体来进行排序,但是如何使用二维数组来达到同样的效果呢?实验内容:利用二维数组进行“三级排序”测试1:使用c++内置的普通型二维数组#include<algorithm>#include<iostream>usingnamespacestd;boolcmp(inta[],intb[]){ …

    2022年8月12日
  • qt中Qtcpserver服务端_qt websocket

    qt中Qtcpserver服务端_qt websocket0.前言本文主要讲解QtTCP相关接口的基本应用,一些实践相关的后面会单独写。TCP协议是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。TCP通过三次握手来建立可靠的连接。TCP四次挥手断开连接。TCP连接是双向的,在四次挥手中,前两次挥手用于断开一个方向的连接,后两次挥手用于断开另一方向的连接。TCP知识参考:https://blog.csdn.net/sinat_36

    2022年9月10日
  • linux下patch文件使用

    linux下patch文件使用初识patch还是和Z同事沟通问题时认识的,回想起已经近半年

    2022年10月21日
  • callee和caller的区别_caller中文

    callee和caller的区别_caller中文Javascriptarguments.callee和caller的区别一、callee  在学习callee之前,需要先学习arguments。  arguments:含义:该对象代表正在执行的函数和调用它的函数的参数。 语法: 1 [function.]arguments[n]   参数:function:当前正在执行的Func…

    2022年10月30日
  • django权限管理例子_如何获得自定义房间权限

    django权限管理例子_如何获得自定义房间权限前言上一篇我们分析了认证的源码,一个请求认证通过以后,第二步就是查看权限了,drf默认是允许所有用户访问权限源码分析源码入口:APIView.py文件下的initial方法下的check_per

    2022年7月30日

发表回复

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

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