博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 虚拟机自动内存管理
阅读量:6329 次
发布时间:2019-06-22

本文共 634 字,大约阅读时间需要 2 分钟。

        java堆内存如图:

Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。

在 Java 中,堆被划分成两个不同的区域:新生代 ( Young )、老年代 ( Old )。新生代 ( Young ) 又被划分为三个区域:Eden、From Survivor、To Survivor。
这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收。

 

 

java程序员无需去关心有关内存的问题。原因则为:java具有自动内存管理机制。下文则介绍java该机制的大概是如何工作的。

java内存自动管理,无非是在做两个事情,①内存分配;②然后将分配出去的内存回收回来。在此内存分配不多叙述,重点关注java是如何将分配出去的内存是回收回来的。 

 

 

垃圾收集器:

 

ps:关于引用:

在对象判活时无论是通过引用计数算法还是可达性分析,都与“引用”有关。

在jdk1.2以前,java中的类只存在“引用”与“未引用”两种概念。

在jdk1.2之后,对其进行了扩充。用以描述一些“食之无味,弃之可惜”的类。

强引用:类似“Object o = new Object();",只要强引用存在,则不会被垃圾收集器回收;

软引用:被软引用的对象,在系统发生内存溢出之前,会将其二次回收。

弱引用:活到下一次垃圾收集器工作;

虚引用:可忽略。

 

转载于:https://www.cnblogs.com/jw93/p/6424319.html

你可能感兴趣的文章
Java中的异常处理:何时抛出异常,何时捕获异常,何时处理异常?
查看>>
css3中的变形(transform)、过渡(transtion)、动画(animation)
查看>>
tomcat生产环境JDK部署及虚拟主机等常用配置详解
查看>>
web服务器tomcat入门实战
查看>>
AVEVA CSG 几何图形输出接口
查看>>
POJ 2653 Pick-up sticks(几何)
查看>>
【阶段试题分析】阶段一试题总结
查看>>
Python 模块调用
查看>>
HBase篇--HBase常用优化
查看>>
CMarkUp介绍
查看>>
Java基本语法-----java流程控制语句
查看>>
【面试 网络协议】【第十四篇】网络协议篇
查看>>
指令汇B新闻客户端开发(二) 主页面布局
查看>>
获取文本区域(textarea)行数【换行获取输入用户名个数】
查看>>
Android中实现iPhone开关
查看>>
是男人就下100层【第二层】——帮美女更衣(1)
查看>>
Web应用程序设计十个建议
查看>>
//……关于报文
查看>>
C语言学习-进制转换、变量
查看>>
Base64编码及其作用
查看>>