jvm 中的 ”永生代“
“方法区” 主要存储的信息包括:常量信息,类信息,方法信息,而且是全局共享的(多线程共享);
jvm 有多种实现方式(不同的厂商); 并不是所有的jvm 都有永生代的概念;
通常情况下, 很多人把 “方法区” 和“永生代” 对等; 换句话说,是利用“永生代”
去实现“方法区”, 这样可能导致OOM (因为“永生代”的大小是可以通过-XX:PermSize -XX:MaxPermSize)
设置的; 但是在J9 和JRockit jvm中,方法区使用的内存上限是4G(32位系统可表示的最大范围),不
会存在该问题。
如果利用“永生代”实现“方法区”的垃圾收集, 主要是收集常量池和对类型进行卸载; 通常情况下,这个区域的
收集效率比较低。
一: 常量的回收比较容易
二: 类信息的回收需要满足的条件:
1 . 该类所有的实例已经被回收,JVM中没有任何类的实例;
2. 加载该类的ClassLoader被回收;
3. 该类对应的java.lang.class没有地方引用
Note: 可以使用-verbose:class以及-XX:TraceClassLoading和-XX:TraceClassUnLoading来查看类的加载和卸载情况。
参考:
深入理解jvm
jvm 中的 ”永生代“的更多相关文章
- jvm中的年轻代 老年代 持久代 gc
		虚拟机中的共划分为三个代:年轻代(Young Generation).老年代(Old Generation)和持久代(Permanent Generation).其中持久代主要存放的是Java类的类信 ... 
- JVM中的新生代、老年代和永生代
		1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我 ... 
- Java虚拟机笔记(五):JVM中对象的分代
		为什么要分代 为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找到哪些对象没用, ... 
- JVM虚拟机21: 1.8中废弃永久代(PermGen)迎来元空间(Metaspace)
		1.JDK8永久代的废弃 JDK8 永久代变化如下图: 1.新生代:Eden+From Survivor+To Survivor 2.老年代:OldGen 3.永久代(方法区的实现) : PermGe ... 
- 对于JVM中方法区,永久代,元空间以及字符串常量池的迁移和string.intern方法
		在Java虚拟机(以下简称JVM)中,类包含其对应的元数据,比如类的层级信息,方法数据和方法信息(如字节码,栈和变量大小),运行时常量池,已确定的符号引用和虚方法表. 在过去(当自定义类加载器使用不普 ... 
- 在JVM中,新生代和旧生代有何区别?GC的回收方式有几种?server和client有和区别?
		在JVM中,新生代和旧生代有何区别?GC的回收方式有几种?server和client有和区别? 2014-04-12 12:09 7226人阅读 评论(0) 收藏 举报 分类: J2SE(5) 一 ... 
- JVM中的堆的新生代、老年代、永久代详解
		JVM中的堆一般分为三大部分:新生代.老年代.永久代,其大致的占比如下: 一.新生代 新生代主要用来存放新生的对象.一般占据堆空间的1/3.在新生代中,保存着大量的刚刚创建的对象,但是大部分的对象都 ... 
- JVM内存管理--分代搜集算法
		对象分类 分代搜集算法是针对对象的不同特性,而使用适合的算法,这里面并没有实际上的新算法产生.与其说分代搜集算法是第四个算法,不如说它是对前三个算法的实际应用. 首先我们来探讨一下对象的不同特性,接下 ... 
- JVM中优化指南
		JVM中优化指南 如何将新对象预留在年轻代 如何让大对象进入年老代 如何设置对象进入年老代的年龄 稳定的 Java 堆 VS 动荡的 Java 堆 增大吞吐量提升系统性能 尝试使用大的内存分页 使用非 ... 
随机推荐
- Spring工作原理与单例
			最近看到spring管理的bean为单例的,当它与web容器整合的时候始终搞不太清除,就网上搜索写资料, Tomcat与多线程, servlet是多线程执行的,多线程是容器提供的能力. servlet ... 
- hdoj2612 Find a way (bfs)
			题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2612 思路: 这个题我wa了十多发QAQ. 刚开始的思路是搜索每个‘@’,然后广搜该点到Y和M的最小距 ... 
- MyBatis一对一查询
			---------------------siwuxie095 MyBatis 一对一查询 以订单和用户为例,即 相对订 ... 
- day12:vcp考试
			Q221. An administrator is creating a new Platform Service Controller Password Policy with the follow ... 
- 二叉树的层次遍历 · Binary Tree Level Order Traversal
			[抄题]: 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) [思维问题]: [一句话思路]: 用queue存每一层 [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况 ... 
- count(distinct) 与group by 浅析
			x在传统关系型数据库中,group by与count(distinct)都是很常见的操作.count(distinct colA)就是将colA中所有出现过的不同值取出来,相信只要接触过数据库的同学都 ... 
- vue小常识小注意
			1,跨域携带cookie,加一个拦截器,能后加上request.credentials=true就可以了 Vue.http.interceptors.push(function(request, ne ... 
- Java WebService 教程系列之 Spring 整合 CXF
			Java WebService 教程系列之 Spring 整合 CXF 一.引入 jar 包 <dependency> <groupId>org.apache.cxf</ ... 
- 库函数方式文件编程----fopen
			使用fopen等文件访问库函数编写应用程序,该应用程序实现文件的复制功能. 1.打开文件---fopen 函数功能:打开文件 头文件:#include<stdio.h> 函数原型:FILE ... 
- java实现word,ppt,excel,jpg转pdf
			word,excel,jpeg 转 pdf 首先下载相关jar包:http://download.csdn.net/detail/xu281828044/6922499 import java.io. ... 
