2017年3月18日

双亲委派模型

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

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

类加载器、类初始化

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

posted @ 2017-03-18 18:51 一个不会coding的girl 阅读(181) 评论(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 阅读(178) 评论(0) 推荐(0) 编辑

Minor GC与Full GC分别在什么时候发生?

摘要: Minor GC 当Eden区没有足够空间进行分配时,虚拟机就会进行一次Minor GC Full GC 阅读全文

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

JVM分为哪些区,每一个区干嘛的?

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

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

如何改进复制算法?

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

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

GC(垃圾回收器)中的算法

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

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

导航