摘要: 'bool' | 'byte' | 'i8' | 'i16' | 'i32' | 'i64' | 'double' | 'string' | 'binary' | 'slist'(deprecated)list | map | set 阅读全文
posted @ 2018-09-28 15:48 飞晨信息 阅读(1510) 评论(0) 推荐(0) 编辑
摘要: 双亲委派模型要求除了启动类加载器以外的加载器都要有父类加载器,且子加载器要通过组合复用父加载器的代码,在某个类加载器需要加载类时,先要用父类加载器加载,依次递归到启动类加载器。如果各层加载器加载不了(它的搜索范围中找不到此类),子加载器才会尝试加载这个类。 阅读全文
posted @ 2018-09-27 10:03 飞晨信息 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 1.CountDownLatch是线程组之间的等待,即一个(或多个)线程等待N个线程完成某件事情之后再执行;而CyclicBarrier则是线程组内的等待,即每个线程相互等待,即N个线程都被拦截之后,然后依次执行。 2.CountDownLatch是减计数方式,而CyclicBarrier是加计数方 阅读全文
posted @ 2018-09-26 16:13 飞晨信息 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 适配:强调接口兼容性,把旧接口转换成新接口 装饰:强调增强,新接口增强旧接口,用于扩展,装饰类需传入被装饰类实例 代理:强调隔离,新旧接口需一致 阅读全文
posted @ 2018-09-26 14:37 飞晨信息 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 索引(Index)是一种特殊的查找表,数据库搜索引擎用来加快数据检索。简单地说,索引是一个指向表中数据的指针。一个数据库中的索引与一本书后边的索引是非常相似的。 例如,如果您想在一本讨论某个话题的书中引用所有页面,您首先需要指向索引,索引按字母顺序列出了所有主题,然后指向一个或多个特定的页码。 索引 阅读全文
posted @ 2018-09-25 16:01 飞晨信息 阅读(502) 评论(0) 推荐(0) 编辑
摘要: GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。 GC机制 要准确理解Java的垃圾回收机制,就要从:“什 阅读全文
posted @ 2018-09-21 09:50 飞晨信息 阅读(982) 评论(0) 推荐(0) 编辑
摘要: Minor GC触发条件:当Eden区满时,触发Minor GC。 Full GC触发条件: (1)调用System.gc时,系统建议执行Full GC,但是不必然执行 (2)老年代空间不足 (3)方法去空间不足 (4)通过Minor GC后进入老年代的平均大小大于老年代的可用内存 (5)由Eden 阅读全文
posted @ 2018-09-21 09:43 飞晨信息 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 对象是否死亡的2中判定方法:引用计数和可达性分析(又称引用链) 对象再被创建时,对象头里会存储引用计数器,对象被引用,计数器+1;引用失效,计数器 -1;GC时会回收计数器为0的对象。但是JVM没有用这种方式,因为无法判定相互循环引用(A引用B,B引用A)的情况,无法解决对象互相循环引用。 程序把所 阅读全文
posted @ 2018-09-21 09:12 飞晨信息 阅读(1023) 评论(0) 推荐(0) 编辑
摘要: 堆里面分为新生代和老生代(java8取消了永久代,采用了Metaspace),新生代包含Eden+Survivor区,survivor区里面分为from和to区,内存回收时,如果用的是复制算法,从from复制到to,当经过一次或者多次GC之后,存活下来的对象会被移动到老年区,当JVM内存不够用的时候 阅读全文
posted @ 2018-09-21 09:01 飞晨信息 阅读(4506) 评论(0) 推荐(0) 编辑
摘要: 方法区:主要是存储类信息,常量池(static常量和static变量),编译后的代码(字节码)等数据 堆:初始化的对象,成员变量 (那种非static的变量),所有的对象实例和数组都要在堆上分配 栈:栈的结构是栈帧组成的,调用一个方法就压入一帧,帧上面存储局部变量表,操作数栈,方法出口等信息,局部变 阅读全文
posted @ 2018-09-21 08:51 飞晨信息 阅读(671) 评论(0) 推荐(0) 编辑