文档章节

简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

DustinChan
 DustinChan
发布于 09/20 00:26
字数 486
阅读 19
收藏 0

内存分配

1. 栈区:栈可分为Java虚拟机和本地方法栈

2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更新一点年轻代可分为Eden区,主要放新创建对象,From survivor 和 To survivor 保存 gc 后幸存下的对象,默认情况下各自占比 8:1:1。

3. 方法区:被所有线程共享,用于存放已被虚拟机加载的信息,常量,静态变量等,是Java虚拟机描述为堆的一个逻辑部分。习惯被称为永久代。

4. 程序计数器:是当前线程所执行的行号指示器,跳转指令等都依赖这个完成,线程私有。

回收策略以及Minor GC 和 Major GC(Full GC)

1. 对象优先在堆区的Eden区分配。

2. 大对象直接进入老年代。

3. 长期存活的对象直接进入老年代。

回收:当Eden区没有足够的空间分配时,虚拟机会执行一次Minor GC .Minor GC通常发生在Eden新生代,因为这个区的对象生存期短,发生频率高,回收速度快。Major GC发生在老年代,一般触发老年代的GC不会触发Minor GC ,但是通过配置,可以在之前进行一次Minor GC,能加快老年代的回收速度

© 著作权归作者所有

DustinChan
粉丝 0
博文 29
码字总数 10600
作品 0
闵行
私信 提问
JVM快速调优手册03:内存分配策略

内存分配策略 了解GC其中很重要一点就是了解JVM的内存分配策略:即对象在哪里分配和对象什么时候回收。 Java技术体系中所提倡的自动内存管理可以归结于两个部分:给对象分配内存以及回收分配...

GordonNemo
03/28
22
0
详解Java GC的工作原理+Minor GC、FullGC

JVM内存管理和JVM垃圾回收 JVM内存组成结构 JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示: 1)堆 所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-...

浮躁的码农
2015/08/11
284
0
JAVA虚拟机垃圾回收机制和JAVA排错三剑客

一、Java虚拟机逻辑回收机制 1、Java垃圾回收器 Java垃圾回收器是Java虚拟机(JVM)的三个重要模块(另外两个是解释器和多线程机制)之一,为应用程序提供内存的自动分配(Memory Allocation)、自...

hawapple
2018/06/28
0
0
JVM学习总结(六)内存分配与回收策略

对象优先在新生代Eden区中分配 当Eden区没有足够空间进行分配时,虚拟机将发起一次Minor GC,虚拟机提供了-XX:+PrintGCDetails这个收集器日志参数。 Minor GC 与 Full GC比较: 新生代GC (M...

hensemlee
2018/05/03
18
0
JVM学习总结四——内存分配策略

之前几篇我们介绍了jvm的内存模型以及垃圾回收机制,而本篇我们将介绍几个JVM中对象在分配内存是应该遵循的策略。毕竟,想要去优化程序,不仅要考虑垃圾回收的过程,还要从对象内存分配的角度...

oO脾气不坏Oo
2014/03/09
129
0

没有更多内容

加载失败,请刷新页面

加载更多

js如何控制table中的某一行动态置顶

两行代码搞定: $('#'+item.roadCode).fadeOut().fadeIn();//获取到需要置顶的行 $(".table").prepend($('#'+item.roadCode)); 其中,fadeOut()方法 作用 --- 从可见到隐藏 如下: prepend(......

码妞
今天
4
0
四种解决Nginx出现403 forbidden 报错的方法

我是在在本地用虚拟机中通过yum安装nginx的,安装一切正常,但是访问时报403, 于是查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permission denied,详细报错如下: 1....

dragon_tech
今天
3
0
获取RestResultResponse返回的值

Springboot项目,需要调其他服务的接口,返回值类型是RestResultResponse 打断点的结果集是这个 打印出来的getData(): [{id=3336b624-8474-4dd9-bd5b-c7358687c877, paraNo=104, para=Postpo...

栾小糖
今天
4
0
【小学】 生成10以内的加减法

#!/usr/bin/env python# coding: utf-8from random import randrange# 题目的最大数值R_MAX = 10# 生成的题目的数量R_PAGE = 70# 生成减法列表def get_sub_list():...

Tensor丨思悟
今天
11
0
JavaScript设计模式——适配器模式

  适配器模式是设计模式行为型模式中的一种模式;   定义:   适配器用来解决两个已有接口之间不匹配的问题,它并不需要考虑接口是如何实现,也不用考虑将来该如何修改;适配器不需要修...

有梦想的咸鱼前端
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部