随笔分类 -  Java虚拟机(JVM)

JVM加载class文件的原理机制
摘要:类只有被加载到JVM中才能运行。ClassLoader(类加载器)的作用就是将class文件加载到JVM中,程序就可以正确运行了,但类的加载时动态的,并不会一次性加载所有的class文件,而是根据需要去动态加载。 类加载的方式 1. 隐式加载:使用new等方式创建对象时,会隐式地调用类的加载器把对应 阅读全文

posted @ 2017-03-23 20:53 一个不会coding的girl 阅读(158) 评论(0) 推荐(0)

双亲委派模型
摘要:双亲委派模型的概念 如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的加载器都是如此,因此所有的类请求都会传给顶层的启动类加载器(Bootstrap ClassLoader),只有当父加载器反馈自己无法完成该加载请求时,子加载器才会 阅读全文

posted @ 2017-03-18 19:14 一个不会coding的girl 阅读(351) 评论(0) 推荐(0)

类加载器、类初始化
摘要:类的加载过程 1. 装载:查找并加载类的二进制数据 2. 链接: (1) 验证:确保被加载类的正确性 (2) 准备:为类的静态变量分配内存,并将其初始化为默认值 (3) 解析:把类中的符号引用转换为直接引用 3. 初始化:为类的静态变量赋予正确的初始值 类什么时候被初始化 类的初始化步骤 阅读全文

posted @ 2017-03-18 18:51 一个不会coding的girl 阅读(190) 评论(0) 推荐(0)

GC收集器
摘要:Serial收集器 ParNew收集器 Parallel Scavenge收集器 CMS收集器 (1) 初始标记:仅仅是标记一个GC Roots能直接关联到的对象,速度很快,Stop the world (2) 并发标记:进行GC Roots Tracing的过程,Stop the world (3 阅读全文

posted @ 2017-03-18 16:28 一个不会coding的girl 阅读(185) 评论(0) 推荐(0)

Minor GC与Full GC分别在什么时候发生?
摘要:Minor GC 当Eden区没有足够空间进行分配时,虚拟机就会进行一次Minor GC Full GC 阅读全文

posted @ 2017-03-18 10:30 一个不会coding的girl 阅读(1030) 评论(0) 推荐(0)

JVM分为哪些区,每一个区干嘛的?
摘要:程序计数器PC Java虚拟机栈 本地方法栈 与虚拟机栈非常相似,区别是虚拟机栈为虚拟机执行Java方法服务,而本地方法栈则为虚拟机使用Native方法服务 也会抛出StackOverFlowError和OutOfMemoryError异常 Java堆 方法区 运行时常量池 阅读全文

posted @ 2017-03-18 10:11 一个不会coding的girl 阅读(2310) 评论(0) 推荐(0)

如何改进复制算法?
摘要:面试:如何改进复制算法? 分情况使用复制算法,在新生代和老年代使用不同的策略。在新生代中的对象98%都是朝生暮死的类型,所以不必要按照1:1的比例去划分内存空间,只需要将内存划分为一块比较大的Eden和两块比较小的Survivor内存就好。每次使用一块Eden和Survivor,当回收时,将Eden 阅读全文

posted @ 2017-03-18 09:03 一个不会coding的girl 阅读(217) 评论(0) 推荐(0)

GC(垃圾回收器)中的算法
摘要:GC的两种判定方法 (1) 引用计数法 给对象添加一个引用计数器,每当引用一次+1,每次失效时-1,当计数器为0时,表示对象就是不可能再被使用的。 (2) 可达性分析算法 将“GC Roots”对象作为根节点,开始向下搜索,所走过的路径成为引用链。当一个对象到GC Roots没有任何引用链时,说明此 阅读全文

posted @ 2017-03-18 09:02 一个不会coding的girl 阅读(200) 评论(0) 推荐(0)

Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况
摘要:Java语言把异常当做对象来处理,并定义了一个基类(java.util.Throwable)作为所有异常的父类。异常分为Error和Exception两大类。 Error 不可恢复的异常。 程序中不推荐去捕获Error类型的异常,主要原因是:运行时异常多是由于逻辑错误导致的,属于应该解决的错误。也就 阅读全文

posted @ 2017-03-16 21:32 一个不会coding的girl 阅读(672) 评论(0) 推荐(0)

Java的四种引用
摘要:引用分为强引用、软引用、弱引用和虚引用,这四种引用强度一次减弱: 阅读全文

posted @ 2017-03-16 10:35 一个不会coding的girl 阅读(105) 评论(0) 推荐(0)

导航