jvm
洛豳枭薰
最好的年华为最初的梦想尽最大的努力
展开
-
(面试)阐述类加载机制
类加载主要分为7各阶段:加载–验证–准备–解析–初始化–使用–卸载加载1、通过类的全限定名获取此类的二进制字节流2、将二进制字节流代表的静态存储结构转化为运行时数据结构3、内存中生成代表该类的对象,作为方法区中该类的数据访问入口验证既然已经加载到运行时数据结构,需要去验证二进制字节流1、文件格式验证:字节流是否符合Class文件格式的规范2、元数据验证:对字节码描述的信息进行语义分...原创 2019-06-18 19:54:18 · 500 阅读 · 0 评论 -
Java类加载器(双亲委派模型)(综述)
文章目录类加载器一、预定义类型类加载器二、类加载器结构双亲委派模型一、双亲委派模型流程二、双亲委派模型源码自定义类加载器一、类加载器继承关系二、ClassLoader1、构造函数2、核心方法三、自定义类加载器实例四、双亲委托模型的破坏1、第一次破坏2、第二次破坏3、第三次破坏引用类加载器一、预定义类型类加载器1、启动(Bootstrap)类加载器,负责将 <Java_Runtime_H...原创 2019-06-19 21:52:46 · 7257 阅读 · 0 评论 -
深入理解JVM--Java垃圾回收机制(4WH原则)
文章目录为什么需要垃圾回收?why垃圾回收那些东西?(where JVM内存模型)什么时候垃圾回收?(when)如果进行垃圾回收?(how)用什么回收垃圾?(what)引用提到这个问题的时候首先需要去考虑三点问题:1、为什么需要垃圾回收?(why)2、垃圾回收那些东西?(where)3、什么时候垃圾回收?(when)4、如果进行垃圾回收?(how)5、用什么回收垃圾?(what)为什...原创 2019-06-16 17:48:18 · 705 阅读 · 0 评论 -
JVM编译过程与后期的优化
文章目录一、JVM编译过程二、即时编译器优化(后期优化)1、编译器与解释器一、JVM编译过程引用自博客:https://blog.csdn.net/fuzhongmin05/article/details/548802571、词法分析:读取源码,找出词法中关键词那些不合法(分辨出这句话哪些是动词、哪些是标点)2、语法分析:检查这些关键词组合在一起是不是符合Java语言规范。如if的后面是...原创 2019-06-21 10:01:22 · 308 阅读 · 0 评论 -
内存泄漏与内存溢出汇总
文章目录区别内存泄漏导致原因内存泄漏解决方案内存溢出导致原因内存溢出解决方案内存溢出类型(OOM异常)区别1、内存泄漏:程序在申请内存空间之后,无法释放已经申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。2、内存溢出( out of memory),是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个...原创 2019-06-17 15:15:12 · 362 阅读 · 0 评论