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

简介: 一、引言   JVM虚拟机内存回收机曾迷惑了不少人,文本从JVM实现机制的角度揭示JVM内存回收的原理和机制。 一、Java平台逻辑架构 二、JVM物理结构 通过从JVM物理结构图我们可以看到: 1.JVM两个子系统:类加载子系统和执行引擎子系统; 2.JVM两个组件:本地接口方法组件和内存空间组件。

一、引言

  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会出现内存泄露吗?

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

 


作者:张子良
出处:http://www.cnblogs.com/hadoopdev
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

相关文章
|
4月前
|
Java 编译器
【JAVA】我们常常谈到的方法是指什么?
【JAVA】我们常常谈到的方法是指什么?
47 0
|
18天前
|
算法 安全 Java
Java中的多线程并发控制:从理论到实践
【4月更文挑战第2天】在计算机科学中,多线程并发是一个复杂而又重要的主题。在Java中,我们可以通过使用多线程来提高程序的性能和效率。然而,多线程并发也带来了一些问题,如数据不一致、死锁等。本文将深入探讨Java中的多线程并发控制,包括理论基础和实际应用,希望能帮助读者更好地理解和掌握这一主题。
|
23天前
|
安全 Java 调度
Java中的多线程并发处理技术探究
在当今软件开发领域,多线程并发处理技术在Java编程中扮演着至关重要的角色。本文将深入探讨Java中多线程并发处理的相关概念、原理和技术应用,包括线程的创建与管理、线程安全、锁机制以及并发编程中常见的问题和解决方案。通过对这些内容的讨论,读者将能够更好地理解和应用Java中的多线程并发处理技术,提高程序的性能和可靠性。
15 1
|
3月前
|
Java
jvm性能调优 - 18白话G1垃圾回收器的工作原理
jvm性能调优 - 18白话G1垃圾回收器的工作原理
39 0
|
8月前
|
存储 安全 前端开发
JVM基础学习---1、JVM总体机制、类加载机制
JVM基础学习---1、JVM总体机制、类加载机制
|
11月前
|
存储 算法 安全
图解JVM内存模型及JAVA程序运行原理
本文主要介绍了JVM内存模型及JAVA程序运行原理。
1647 1
|
11月前
|
存储 算法 Java
大数据开发基础的编程语言的Java的JVM虚拟机的JVM内存模型
Java虚拟机(JVM)是Java语言的核心,它是一个虚拟的计算机,可以在不同的操作系统上运行Java程序。在Java中,JVM内存模型是JVM的重要组成部分,它负责管理Java程序所需的内存资源。本文将介绍Java的JVM内存模型和常见问题。
83 0
|
Java C++
【Java技术专题】「原理专题」深入分析Java中finalize方法的作用和底层原理
【Java技术专题】「原理专题」深入分析Java中finalize方法的作用和底层原理
134 0
【Java技术专题】「原理专题」深入分析Java中finalize方法的作用和底层原理
|
存储 安全 Java
【新】虚拟机深层系「GC本质底层机制」SafePoint 的深入分析和底层原理探究指南
【新】虚拟机深层系「GC本质底层机制」SafePoint 的深入分析和底层原理探究指南
140 0
|
安全 Java 编译器
【底层原理之旅—JVM类加载机制的重塑分析】|Java 刷题打卡
【底层原理之旅—JVM类加载机制的重塑分析】|Java 刷题打卡
88 0
【底层原理之旅—JVM类加载机制的重塑分析】|Java 刷题打卡