zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java技术专题之JVM逻辑内存回收机制研究图解版

2023-09-14 08:57:58 时间

一、引言

JVM虚拟机内存回收机曾迷惑了不少人,文本从JVM实现机制的角度揭示JVM内存回收的原理和机制。

一、Java平台逻辑架构

二、JVM物理结构

通过从JVM物理结构图我们可以看到:

1.JVM两个子系统:类加载子系统和执行引擎子系统;

2.JVM两个组件:本地接口方法组件和内存空间组件。

2.JVM内存空间分为:Java堆,Java栈、方法区和本地方法区

关键词:我们经常讨论的JVM内存回收机制就是指Java堆内存回收机制。

四、JVM内存组成结构

上图所示四部分即为JVM内存组成结构。

五、Java堆内存结构

JVM堆内存分为三部分

(1)Yong

(2)Tenured

(3)Pern

内存申请过程,按照Y-T进行溢出拷贝。通常我们说的JVM内存回收总是在指堆内存回收,确实只有堆中的内容是动态申请分配的,所以以上对象的年轻代和年老代都是指的JVM的Heap空间,而持久代则是之前提到的MethodArea,不属于Heap。

六、意见和建议

(1)对象清理:无用对象和中间对象手动设置为null,执行内存回收;

(2)对象池:使用对象池实现内存空间的复用;

(3)JVM调优:通过配置JVM的配置参数控制JVM垃圾回收。

七、遗留问题

(1)JVM内存回收的触发机制是什么?

(2)JVM内存回收真的是安全的吗?

(3)JVM会出现内存泄露吗?

学习中,如果你有答案告诉我把!


java中使用uuid(2)-处理数据库逻辑 当我们在建立数据库表的时候,需要有一定的规范,例如:每个表中都有一个自增的主键;密码不可以用明文,需要加密;有的字段不可为NULL;那么,有一个自我唯一标识的字段是必不可少的。但是毕竟不是所有业务都会有身份证标识,所以uuid是比较通用的一个技术。在数据库表中,需要生成一个唯一 ID 来标识字段的唯一性,所以就引入了uuid。答:现实中肯定有重名的人,不符合。可以看到,user_uuid是互相对应的,是一个唯一标识。如果以后要做一些业务的话,用uuid去做会比较好。2.那么,我们用身份证可以吗?
用好JAVA中的函数式接口,轻松从通用代码框架中剥离业务定制逻辑 今天我们一起聊一聊JAVA中的函数式接口。那我们首先要知道啥是函数式接口、它和JAVA中普通的接口有啥区别?其实函数式接口也是一个Interface类,是一种比较特殊的接口类,这个接口类有且仅有一个抽象方法(但是可以有其余的方法,比如default方法)。
【Java】底层逻辑以及使用文本编辑器编写程序 在下载好JDK之后打开:jdk-18.0.1.1.jdk-- Home会看到如上图界面。在Windows或者是其他操作系统安装的时候会提示你安装JRE。我们其实可安装可以不安装的因为在bin文件中有运行环境的配置。 JRE:Java文件运行测试人员所下载,作为一般的Java开发人员没必要下载JRE,但是下了也不会影响你的运行,JRE中也有运行所需要的环境。JDK和JRE二选一即可!
胖子哥 数据仓库模型设计专家,主要从事金融,互联网行业广告行业数据架构和数据营销。QQ:1106110976