搜索结果
查询Tags标签: Eden,共有 36条记录-
堆空间
堆: 一个main方法对应一个进程,一个进程对应一个JVM实例,也就是运行时数据区(Runtime Data Area),对应只有一个方法区和堆。但一个进程可以有多个线程,每个线程对应一个程序计数器、本地方法栈、虚拟机栈。在线程中,共享方法区和堆。 -Xms10m 用来设置对空间的初始…
2022/5/24 23:50:30 人评论 次浏览 -
Java对象在内存中实例化的过程
Java对象在内存中实例化的过程 在讲 Java 对象在内存中的实例化过程前,先来说下在类的实例化过程中,内存会使用到的三个区域:栈区、堆区、方法区。 堆区:存储的全部都是对象,每个对象包含了一个与之对应的 class 类的信息。jvm 只有一个堆区(steap),它会被所有线程共…
2022/3/30 7:21:41 人评论 次浏览 -
JVM垃圾回收算法的理解
GC判断死亡对象的算法:引用计数法 可达性分析算法JVM常用的垃圾回收算法有以下几种: 1. 标记清除算法(年老代) 2. 标记复制算法(年轻代) 3. 标记整理算法(年老代) 4. 分代收集算法判断对象死亡 引用计数法 在对象中添加一个引用计数器,每当一个地方引用它的…
2022/3/19 14:28:20 人评论 次浏览 -
JVM内存模型(五)
一、JVM内存模型 1.1、与运行时数据区前面讲过了运行时数据区那接下来我们聊下内存模型,JVM的内存模型指的是方法区和堆;在很多情况下网上讲解会把内存模型和运行时数据区认为是一个东西,这是错误的想法,如果不信可以自己去官网求证内存模型我们可以分为非堆区(元空间…
2022/2/3 7:14:36 人评论 次浏览 -
Android实现面试准备——java基础(一)
1、什么情况下会发生栈内存溢出栈是线程私有的,每个线程运行时所需要的内存就叫做栈。每个方法执行的时候都会创建一个栈帧,用来存储局部变量表、方法参数、返回地址等信息,每个栈由栈帧组成,所以要么是栈帧过大导致栈内存溢出,要么是栈帧过多导致溢出。根据平台的不…
2022/1/20 17:14:20 人评论 次浏览 -
Android实现面试准备——java基础(一)
1、什么情况下会发生栈内存溢出栈是线程私有的,每个线程运行时所需要的内存就叫做栈。每个方法执行的时候都会创建一个栈帧,用来存储局部变量表、方法参数、返回地址等信息,每个栈由栈帧组成,所以要么是栈帧过大导致栈内存溢出,要么是栈帧过多导致溢出。根据平台的不…
2022/1/20 17:14:20 人评论 次浏览 -
浅谈JVM内存分配与垃圾回收
大家好,我是微尘,最近又去翻了周志明老师的《深入理解Java虚拟机》这本书。已经看了很多遍了,每次都感觉似乎看懂了,但没过多久就忘了。这次翻了第三章的垃圾收集器与内存分配策略,感觉有了新的认识,整理一下分享出来。 内容有点多,并且我没怎么配图,一方面是懒,…
2022/1/1 7:07:16 人评论 次浏览 -
浅谈JVM内存分配与垃圾回收
大家好,我是微尘,最近又去翻了周志明老师的《深入理解Java虚拟机》这本书。已经看了很多遍了,每次都感觉似乎看懂了,但没过多久就忘了。这次翻了第三章的垃圾收集器与内存分配策略,感觉有了新的认识,整理一下分享出来。 内容有点多,并且我没怎么配图,一方面是懒,…
2022/1/1 7:07:16 人评论 次浏览 -
深入理解JVM内核:内存分配与回收策略
注:此处的JVM特指HOTSPOT虚拟机名词解释:GC:垃圾收集器Minor GC:新生代GC, 指的是发生在新生代的垃圾收集动作,Major GC/FULL GC: 发生在老年代的GC动作JVM中堆空间分代JVM中将堆空间分为新生代和老年代,新生代又被分为1个Eden区和两个Survivor区(ToSpace和FromSp…
2021/12/13 7:17:15 人评论 次浏览 -
深入理解JVM内核:内存分配与回收策略
注:此处的JVM特指HOTSPOT虚拟机名词解释:GC:垃圾收集器Minor GC:新生代GC, 指的是发生在新生代的垃圾收集动作,Major GC/FULL GC: 发生在老年代的GC动作JVM中堆空间分代JVM中将堆空间分为新生代和老年代,新生代又被分为1个Eden区和两个Survivor区(ToSpace和FromSp…
2021/12/13 7:17:15 人评论 次浏览 -
JVM篇:对象的深度剖析,Javaweb资料视频
循环CAS: 使用过多线程的同学都知道这种方式,就是把内存中的预期值拿出来进行更新,在更新之前再判断一下当内存中现有的值和预期值是否一致,不一致则重新获取预期值,一致的话直接进行更新。但是这种方式会出现因自旋太久带来的cpu开销问题,所以默认使用的是TLAB方式…
2021/11/28 14:40:56 人评论 次浏览 -
JVM篇:对象的深度剖析,Javaweb资料视频
循环CAS: 使用过多线程的同学都知道这种方式,就是把内存中的预期值拿出来进行更新,在更新之前再判断一下当内存中现有的值和预期值是否一致,不一致则重新获取预期值,一致的话直接进行更新。但是这种方式会出现因自旋太久带来的cpu开销问题,所以默认使用的是TLAB方式…
2021/11/28 14:40:56 人评论 次浏览 -
GC中的算法学习
GC的四种算法 标记—清除法标记—整理(压缩)算法复制算法分代收集算法标记—清除法 实现过程 标记清楚法主要分为两个阶段:对对象的标记阶段和对对象的清除阶段。标记阶段会对全堆做一个遍历,给对象储存一个标记位标记上两种状态,分别是存活和死亡状态。然后在清除阶…
2021/11/15 14:41:35 人评论 次浏览 -
GC中的算法学习
GC的四种算法 标记—清除法标记—整理(压缩)算法复制算法分代收集算法标记—清除法 实现过程 标记清楚法主要分为两个阶段:对对象的标记阶段和对对象的清除阶段。标记阶段会对全堆做一个遍历,给对象储存一个标记位标记上两种状态,分别是存活和死亡状态。然后在清除阶…
2021/11/15 14:41:35 人评论 次浏览 -
JVM中的垃圾回收器算法
各种各样的垃圾回收器,总体的回收算法有三种: 标记-清除:首先标记出所有需要回收的对象,在标记完成之后统一回收所有被标记的对象。这个算法是所有回收算法的基础,下面的算法都是在这个基础上的改进。标记-清除有两个缺点:1.标记和清除分两个阶段,但是这两阶段的效…
2021/10/28 22:39:47 人评论 次浏览