![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 52
凯凯凯凯.
这个作者很懒,什么都没留下…
展开
-
GC垃圾回收机制
GC:垃圾回收机制垃圾回收的区域只有在堆和方法区中JVM在进行GC时,并不是对这三个区域统一回收。大部分时候,回收都是新生代新生代(存活率低,使用复制算法)伊甸区幸存区(form to)老年区(区域大,存活率高,使用标记清除+标记压缩算法混合实现)GC分为:轻GC(普通的GC),重GC(全局GC)GC相关问题:JVM的内存模型和分区模型~每个分区放什么?堆里面的分区有哪些?GC的算法有哪些?复制算法(伊甸园区和幸存区主要是用此算法)标记清除算法原创 2021-06-05 16:23:44 · 75 阅读 · 0 评论 -
新生区、老年区和永久区
新生区他是一个类诞生和成长甚至死亡的地方伊甸园区:所有的对象都是从伊甸园区new出来的幸存区(0,1)老年区永久区这个区域是常驻内存,存放一些JDK自身携带的Class对象,接口(interface)元数据,存储的是Java运行时的一些环境或者类信息,这个区域不存在垃圾回收,关闭虚拟机会释放这个区域内存jdk1.6之前:永久代,常量池在方法区jdk1.7:永久代,慢慢退化,‘去永久代’,常量池在堆中jdk1.8之后:无永久代,常量池在元空间OOM故障在一个项目中,突然出现了OO原创 2021-06-05 14:56:48 · 512 阅读 · 0 评论 -
堆(Heap)
三种JVMSun公司的 HotSpotBEA JRockitIBM J9VM堆(Heap)Heap,一个JVM只有一个堆内存堆内存的大小是可以调节的。类加载器读取了类文件后,一般会把类的实例(方法,常量,变量)放在堆中,保存我们所有引用类型的真实对象堆内存中还要细分为三个区域:新生区(伊甸园区,幸存区1,幸存区2)养老区永久区[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E1B8S9O8-1622863247435)(C:\Users\wang原创 2021-06-05 11:21:29 · 69 阅读 · 0 评论 -
栈:一种数据结构
栈:一种数据结构程序 = 数据结构 + 算法先进后出、后进先出栈内存,主管程序的运行,生命周期和线程同步;线程结束,栈内存就释放了,对于栈来说,不存在垃圾回收问题一旦线程结束,栈就Over栈:8大基本类型 + 对象引用 + 实例的方法栈的运行原理:栈帧栈满了:StackOverflowError错误栈+堆+方法区的 交互关系...原创 2021-06-04 09:06:26 · 58 阅读 · 0 评论 -
Java对象在内存中实例化的过程
Java对象在内存中实例化的过程在讲 Java 对象在内存中的实例化过程前,先来说下在类的实例化过程中,内存会使用到的三个区域:栈区、堆区、方法区。堆区:存储的全部都是对象,每个对象包含了一个与之对应的 class 类的信息。jvm 只有一个堆区(steap),它会被所有线程共享,堆中不存放基本数据类型和对象引用,它只存放对象本身。栈区:每个线程都包含一个栈区,栈中只保存基本数据类型的值和对象以及基础数据的引用。每个栈中的数据(基本数据类型和对象的引用)都是私有的,其它栈是无法进行访转载 2021-06-04 09:03:51 · 1914 阅读 · 2 评论 -
JVM探究
JVM探究1.JVM的位置JVM运行在操作系统之上2.JVM的体系结构JVM调优一般是指的方法区和堆,大部分都是堆3.类加载器作用:加载Class文件 – new Student();4.沙箱安全机制Java安全模型的核心就是Java沙箱(sandbox),什么是沙箱?沙箱是一个限制程序运行的环境。沙箱机制就是将Java代码限定在虚拟机(JVM)特定的运行范围中,并且严格限制代码对本地系统资源访问,通过这样的措施来保证对代码的有效隔离,防止对本地系统造成破坏。沙箱主要限制系统资源访原创 2021-06-03 22:20:56 · 98 阅读 · 1 评论