程序计数器 虚拟机栈 本地方法栈 堆 (新生代和老生代) 新生代(eden,two survivor) 老生代(永久代(现在变成元数据)) 元数据->类的字节流,常量,静态方法 (metaSpace的默认值在64位中20.75M)当第一次满的时候回触发GC; GC的算法: 引用计数法,标识清理法,复 ...
分类:
其他好文 时间:
2020-03-17 19:24:31
阅读次数:
72
JVM中的堆一般分为三大部分:新生代、老年代、永久代,其大致的占比如下: 一、新生代 新生代主要用来存放新生的对象。一般占据堆空间的1/3。在新生代中,保存着大量的刚刚创建的对象,但是大部分的对象都是朝生夕死,所以在新生代中会频繁的进行MinorGC,进行垃圾回收。新生代又细分为三个区:Eden区、 ...
分类:
其他好文 时间:
2020-03-17 19:14:03
阅读次数:
51
JVM | 垃圾回收Java垃圾回收的概念垃圾回收器安全点和安全区域 Java垃圾回收的概念如何判断哪些是垃圾对象,引用计数法,根搜索算法哪些是GC RootsJVM栈中的引用方法区静态变量的引用JNI(即native方法)中的引用方法区(永久代)会发生GC吗,会回收哪些对象?方法区的垃圾回收主要回... ...
分类:
其他好文 时间:
2020-03-12 09:20:50
阅读次数:
72
永久区是一个常驻内存区域,用于存放JDK自身所携带的Class Interface的元数据 也就是说它存储的是运行环境必须的类信息,被装载进此区域的数据锁不会被垃圾回收掉的,关闭JVM 才会释放此区域所占用的内存。 JVM调优 堆参数调优 java8中,永久代被移除被元空间取代 两者本质类似 最大区 ...
分类:
其他好文 时间:
2020-02-29 14:42:14
阅读次数:
224
jvm 常量池 方法区 1. 用于存储 jvm 加载的类的信息、常量、静态变量、编译后的代码 2. jdk7 及以往版本,方法区基于永久代实现,理论上是堆的一部分 3. jdk8 取消了永久代,在本地内存中划分区域 元空间,不属于 JVM 内存,方法区位于元空间中 jdk8 jdk7 jdk6: 运 ...
分类:
其他好文 时间:
2020-02-26 14:04:48
阅读次数:
82
一 jvm 1.线程 2.jvm内存区域 a) 程序计数器 -私有区 b) 虚拟机栈 -私有区 c) 本地方法取 --私有区 d) 堆-线程共享-运行时数据区 e) 方法区-永久代 线程共享 3.jvm运行时内存 a) 新生代:Eden区/ServisionFrom/ServisionTo/ Min ...
分类:
编程语言 时间:
2020-02-21 14:56:54
阅读次数:
92
[toc] JVM的内存结构一般指Java的运行时数据区: 由方法区,堆区,虚拟机栈,程序计数器和本地方法栈组成。下面我们依次介绍这5部分。 1.程序计数器(Program Counter Register) 程序计数器:记录下一条要执行的JVM指令的执行地址,字节码解释器工作时就是通过改变程序计数 ...
分类:
其他好文 时间:
2020-02-19 17:34:45
阅读次数:
77
临时代理 永久代理 这种方法相当于在.gitconfig文件中写入: ...
分类:
Web程序 时间:
2020-02-12 16:55:35
阅读次数:
105
jvm区域总体分两类,heap区和非heap区。heap区又分: Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机 ...
分类:
其他好文 时间:
2020-02-06 22:58:40
阅读次数:
69
JVM第二弹GC分代收集算法VS分区收集算法分代收集算法当前主流的VM垃圾收集都采用“分代收集“算法,这种算法会根据对象存活周期的不同将内存划分为几块,如JVM中的新生代、老年代、永久代,这样就可以根据个年代特点分别采用最适当的GC算法。新生代·复制算法每次垃圾收集都能发现大批对象已死,只有少量存活。因此选用复制算法,只需要付出少量存活对象的复制成本就可以完成收集。老年代·标记整理算法因为对象存活
分类:
其他好文 时间:
2020-02-05 18:12:19
阅读次数:
71