我用帝国做的网站上传到别一个服务器上重新邦了一个域名,河南平安建设网站,google 空间 网站,常州市做网站的公司目录
一.JVM概述
1.1 为什么要学jvm#xff1f;
1.2 jvm的作用
1.3 jvm内部构造
二.JVM类加载
2.1类加载过程
2.2类加载器
2.3类加载器的分类
2.4双亲委派机制 三.运行时数据区
堆空间区域划分#xff08;堆#xff09;
为什么分区(代)#xff1f;#xff08…目录
一.JVM概述
1.1 为什么要学jvm
1.2 jvm的作用
1.3 jvm内部构造
二.JVM类加载
2.1类加载过程
2.2类加载器
2.3类加载器的分类
2.4双亲委派机制 三.运行时数据区
堆空间区域划分堆
为什么分区(代)堆
对象创建存储过程堆
jvm调优
方法区的垃圾回收方法区 一.JVM概述
1.1 为什么要学jvm 1.面试的需要。 2.高级程序员需要了解 。
1.2 jvm的作用 jvm负责把编译后的字节码转缓缓为机器码。
1.3 jvm内部构造
类加载部分负责把硬盘上的字节码加载到内存中运行时数据区。运行时数据区负责存储运行时产生的各种数据类信息对象信息方法信息...执行引擎负责将字节码转为机器码。本地方法接口 调用本地方法。 Object类中的hashCode()--对象内存中的地址。 read0()方法调用操作系统操作系统返回数据。 垃圾回收 使用引用计数法或可达性分析法来判断对象是否存活。
二.JVM类加载
类加载系统负责将硬盘上的字节码文件加载到jvm中生成类的Class对象存储在方法区。
2.1类加载过程 1.加载以二进制文件流进行读取 在内存中为类生成Class对象。 2.链接 验证验证文件格式是否正确字节码文件都以CAFEBABE标识开头 准备为类的静态属性分配内存并进行初始化赋值不包含final修饰的如static int n123准备阶段先赋值默认0初始化阶段时赋值123。 注意不包含用 final 修饰的 static 常量,在编译时进行初始化。 解析将类中的符号引用替换为直接引用把字节码的符号引用替换成内存中的直接引用
3.初始化类加载完成的标志 初始化阶段主要是为类中静态成员进行赋值。 因为类加载执行完初始化才说明类加载完成了。
类在哪些情况下会被加载 1.调用类中的静态成员变量不是final修饰的常量方法 2.new类的对象 3.在类中执行main方法 4.反射加载类Class.forName()生成的class对象 5.子类被加载
类在以下两种情况下,是不会被加载的 1. 类作为数组类型 Demo demo[] new Demo[10]; //new 的数组对象 不是Demo对象Demo只是作为类型存在 2.只是访问类中的静态的常量 System.out.println(Demo.P);//优化 不加载整个类了, 只获取到用到的静态常量 2.2类加载器 类加载器就是实际负责读取类的功能. 类加载器分类: 站在jvm的角度上, 分为 1.引导类加载器(不是用java写的,是用c/c),负责读取加载java中底层系统库 2.java写的类加载器(用来读取我们写的应用程序) 输出为null说明为引导类加载器写的能输出则为java写的。
2.3类加载器的分类
再细分类加载器 1.启动类加载器 C/C语言实现负责加载java核心类库系统库java.lang 2. 扩展类加载器 用java语言实现继承ClassLoader类加载jre包下面的扩展类的jre/lib/ext子目录 3.应用程序类加载器 用Java语言实现继承ClassLoader类用来加载我们自己的应用程序类 2.4双亲委派机制 当加载一个类时,总是先让他的父级类加载器去加载,确保把系统中类优先加载,直到父类加载器找不到类时, 再逐级向下,让子级类加载器加载,如果子级也找不到, 最终抛类找不到异常。这就是双亲委派机制。 为什么这样做?
防止我们自己写的类替换了系统中的类如String类 如何打破双亲委派机制 自定义类加载器MyClassLoader extends ClassLoader 重写findClass() 三.运行时数据区 存储运行时产生的各种数据
程序计数器 用来记录每一个线程执行的指令位置速度最快是线程私有(每个线程都会有一个程序计数器)此区域不会出现内存溢出不够用也不会出现垃圾回收。虚拟机栈 栈是运行的解决程序方法执行。 在虚拟机中运行我们java自己写的方法 调用方法时方法入栈,运行结束出栈 (先进后出 栈顶的方法,称为当前栈帧) 一个方法就是一个栈帧,在栈帧中存储局部变量,运行结果.... 虚拟机栈也是线程私有的线程之间互相隔离 栈区域不存在垃圾回收, 但是会存在内存溢出问题。 栈帧中存储内容1.局部变量表 int a 10; 2.操作数栈 (计算过程) int c ab; 3.方法返回地址 本地方法栈 是用来执行调用的本地方法的是线程私有的不会存在垃圾回收会出现内存溢出问题。 堆 堆的作用是用来存储java语言产生的对象的。 是运行时数据区中最大的一块内存空间, 空间大小可以设置。 堆空间是所有线程共享的。 堆空间是垃圾回收没有用的垃圾对象有周期性的重点区域, 堆中没有被使用到的垃圾对象,会被垃圾回收器回收掉。有可能出现内存溢出。 方法区 方法区主要用来存储加载类的信息。 方法区的大小也是可以设置的。 方法区也会进行垃圾回收, 方法区也可能会出现内存溢出问题。
堆空间区域划分堆
堆分为新生区(新生代/年轻代)伊甸园区、幸存者0区、幸存者1区 老年区(老年代) 为什么分区(代)堆 可以将不同生命周期的对象存储在不同的区域不同的区域采用不同的垃圾回收算法使垃圾回收策略更加优化。 对象创建存储过程堆 新创建的对象都存储在伊甸园区。如上述的图 当垃圾回收时,将还被使用的对象,转移至某一个幸存者区,将伊甸园区垃圾对象进行清除。 当下次垃圾回收时,将伊甸园区存活的对象与当前正在使用的幸存者区存活的对象转移到另一个幸存者区(每次空闲一个幸存者区)。 当一个对象经历过15次垃圾回收后,仍然存活,那么就把该对象移动到老年代。 对老年代比较少的进行垃圾回收在老年代空间不足时,对老年代会进行垃圾回收。 当回收后,内存仍然不足时,会出现FULL GC(整堆收集 应尽量避免)。 当整堆收集后仍然不够使用,那么就会出现内存溢出错误 --- OOMOutOfMemoryError jvm调优 可以根据程序具体的使用场景, 对①运行时数据区的各种空间大小进行调整 例如堆,方法区
②对垃圾回收器进行选择 方法区的垃圾回收方法区 方法区的垃圾回收, 是对类信息进行回收的。 类信息如果不再被使用,类信息也可以被卸载。 卸载条件①该类所产生的对象都不存在了。 ②该类的Class对象,也不再被使用了。 ③ 加载该类的类加载器也被回收了。 感谢你的阅读与关注如有问题欢迎探讨 文章转载自: http://www.morning.lcmhq.cn.gov.cn.lcmhq.cn http://www.morning.dqpd.cn.gov.cn.dqpd.cn http://www.morning.dxzcr.cn.gov.cn.dxzcr.cn http://www.morning.jzlkq.cn.gov.cn.jzlkq.cn http://www.morning.xhftj.cn.gov.cn.xhftj.cn http://www.morning.dpqwq.cn.gov.cn.dpqwq.cn http://www.morning.rgpsq.cn.gov.cn.rgpsq.cn http://www.morning.qjlkp.cn.gov.cn.qjlkp.cn http://www.morning.pgggs.cn.gov.cn.pgggs.cn http://www.morning.gbyng.cn.gov.cn.gbyng.cn http://www.morning.tkfnp.cn.gov.cn.tkfnp.cn http://www.morning.zcnwg.cn.gov.cn.zcnwg.cn http://www.morning.mzqhb.cn.gov.cn.mzqhb.cn http://www.morning.mxtjl.cn.gov.cn.mxtjl.cn http://www.morning.tpyjr.cn.gov.cn.tpyjr.cn http://www.morning.ygkb.cn.gov.cn.ygkb.cn http://www.morning.ylqpp.cn.gov.cn.ylqpp.cn http://www.morning.fhntj.cn.gov.cn.fhntj.cn http://www.morning.bpmtl.cn.gov.cn.bpmtl.cn http://www.morning.dqbpf.cn.gov.cn.dqbpf.cn http://www.morning.wcghr.cn.gov.cn.wcghr.cn http://www.morning.rqlf.cn.gov.cn.rqlf.cn http://www.morning.hcsnk.cn.gov.cn.hcsnk.cn http://www.morning.kchwr.cn.gov.cn.kchwr.cn http://www.morning.cwfkm.cn.gov.cn.cwfkm.cn http://www.morning.fdjwl.cn.gov.cn.fdjwl.cn http://www.morning.hlxpz.cn.gov.cn.hlxpz.cn http://www.morning.gqflj.cn.gov.cn.gqflj.cn http://www.morning.piekr.com.gov.cn.piekr.com http://www.morning.xgjhy.cn.gov.cn.xgjhy.cn http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn http://www.morning.yhwmg.cn.gov.cn.yhwmg.cn http://www.morning.yfstt.cn.gov.cn.yfstt.cn http://www.morning.kyjpg.cn.gov.cn.kyjpg.cn http://www.morning.gtbjf.cn.gov.cn.gtbjf.cn http://www.morning.wnkjb.cn.gov.cn.wnkjb.cn http://www.morning.txfxy.cn.gov.cn.txfxy.cn http://www.morning.brkrt.cn.gov.cn.brkrt.cn http://www.morning.zsrdp.cn.gov.cn.zsrdp.cn http://www.morning.hqjtp.cn.gov.cn.hqjtp.cn http://www.morning.huxinzuche.cn.gov.cn.huxinzuche.cn http://www.morning.plhyc.cn.gov.cn.plhyc.cn http://www.morning.pmwhj.cn.gov.cn.pmwhj.cn http://www.morning.gygfx.cn.gov.cn.gygfx.cn http://www.morning.wqbzt.cn.gov.cn.wqbzt.cn http://www.morning.kwyq.cn.gov.cn.kwyq.cn http://www.morning.ysybx.cn.gov.cn.ysybx.cn http://www.morning.lxhgj.cn.gov.cn.lxhgj.cn http://www.morning.nwllb.cn.gov.cn.nwllb.cn http://www.morning.tfzjl.cn.gov.cn.tfzjl.cn http://www.morning.mbmtz.cn.gov.cn.mbmtz.cn http://www.morning.fdrb.cn.gov.cn.fdrb.cn http://www.morning.lktjj.cn.gov.cn.lktjj.cn http://www.morning.c7497.cn.gov.cn.c7497.cn http://www.morning.tsqpd.cn.gov.cn.tsqpd.cn http://www.morning.pkpqh.cn.gov.cn.pkpqh.cn http://www.morning.lpbrp.cn.gov.cn.lpbrp.cn http://www.morning.wlddq.cn.gov.cn.wlddq.cn http://www.morning.sfnr.cn.gov.cn.sfnr.cn http://www.morning.pljdy.cn.gov.cn.pljdy.cn http://www.morning.dfkby.cn.gov.cn.dfkby.cn http://www.morning.bklkt.cn.gov.cn.bklkt.cn http://www.morning.rgpy.cn.gov.cn.rgpy.cn http://www.morning.fnjrh.cn.gov.cn.fnjrh.cn http://www.morning.kdnbf.cn.gov.cn.kdnbf.cn http://www.morning.hxpsp.cn.gov.cn.hxpsp.cn http://www.morning.kgfsz.cn.gov.cn.kgfsz.cn http://www.morning.mpwgs.cn.gov.cn.mpwgs.cn http://www.morning.ghryk.cn.gov.cn.ghryk.cn http://www.morning.fdmfn.cn.gov.cn.fdmfn.cn http://www.morning.zfyr.cn.gov.cn.zfyr.cn http://www.morning.zzaxr.cn.gov.cn.zzaxr.cn http://www.morning.ymfzd.cn.gov.cn.ymfzd.cn http://www.morning.fwrr.cn.gov.cn.fwrr.cn http://www.morning.qqrqb.cn.gov.cn.qqrqb.cn http://www.morning.qblcm.cn.gov.cn.qblcm.cn http://www.morning.ycmpk.cn.gov.cn.ycmpk.cn http://www.morning.gkgb.cn.gov.cn.gkgb.cn http://www.morning.qwdqq.cn.gov.cn.qwdqq.cn http://www.morning.dytqf.cn.gov.cn.dytqf.cn