JVM
文章平均质量分 52
凯凯凯凯.
这个作者很懒,什么都没留下…
展开
-
GC垃圾回收机制
GC:垃圾回收机制 垃圾回收的区域只有在堆和方法区中 JVM在进行GC时,并不是对这三个区域统一回收。大部分时候,回收都是新生代 新生代(存活率低,使用复制算法) 伊甸区 幸存区(form to) 老年区(区域大,存活率高,使用标记清除+标记压缩算法混合实现) GC分为:轻GC(普通的GC),重GC(全局GC) GC相关问题: JVM的内存模型和分区模型~每个分区放什么? 堆里面的分区有哪些? GC的算法有哪些? 复制算法(伊甸园区和幸存区主要是用此算法) 标记清除算法原创 2021-06-05 16:23:44 · 97 阅读 · 0 评论 -
新生区、老年区和永久区
新生区 他是一个类诞生和成长甚至死亡的地方 伊甸园区:所有的对象都是从伊甸园区new出来的 幸存区(0,1) 老年区 永久区 这个区域是常驻内存,存放一些JDK自身携带的Class对象,接口(interface)元数据,存储的是Java运行时的一些环境或者类信息,这个区域不存在垃圾回收,关闭虚拟机会释放这个区域内存 jdk1.6之前:永久代,常量池在方法区 jdk1.7:永久代,慢慢退化,‘去永久代’,常量池在堆中 jdk1.8之后:无永久代,常量池在元空间 OOM故障 在一个项目中,突然出现了OO原创 2021-06-05 14:56:48 · 550 阅读 · 0 评论 -
堆(Heap)
三种JVM Sun公司的 HotSpot BEA JRockit IBM J9VM 堆(Heap) Heap,一个JVM只有一个堆内存堆内存的大小是可以调节的。 类加载器读取了类文件后,一般会把类的实例(方法,常量,变量)放在堆中,保存我们所有引用类型的真实对象 堆内存中还要细分为三个区域: 新生区(伊甸园区,幸存区1,幸存区2) 养老区 永久区 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E1B8S9O8-1622863247435)(C:\Users\wang原创 2021-06-05 11:21:29 · 87 阅读 · 0 评论 -
栈:一种数据结构
栈:一种数据结构 程序 = 数据结构 + 算法 先进后出、后进先出 栈内存,主管程序的运行,生命周期和线程同步; 线程结束,栈内存就释放了,对于栈来说,不存在垃圾回收问题 一旦线程结束,栈就Over 栈:8大基本类型 + 对象引用 + 实例的方法 栈的运行原理:栈帧 栈满了:StackOverflowError错误 栈+堆+方法区的 交互关系 ...原创 2021-06-04 09:06:26 · 73 阅读 · 0 评论 -
Java对象在内存中实例化的过程
Java对象在内存中实例化的过程 在讲 Java 对象在内存中的实例化过程前,先来说下在类的实例化过程中,内存会使用到的三个区域:栈区、堆区、方法区。 堆区: 存储的全部都是对象,每个对象包含了一个与之对应的 class 类的信息。 jvm 只有一个堆区(steap),它会被所有线程共享,堆中不存放基本数据类型和对象引用,它只存放对象本身。 栈区: 每个线程都包含一个栈区,栈中只保存基本数据类型的值和对象以及基础数据的引用。 每个栈中的数据(基本数据类型和对象的引用)都是私有的,其它栈是无法进行访转载 2021-06-04 09:03:51 · 2000 阅读 · 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 · 117 阅读 · 1 评论