暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
JAVA核心知识点整理
497
283页
1次
2020-08-18
10墨值下载
1. 目录
1. 目录 ......................................................................................................................................................... 1
2. JVM ....................................................................................................................................................... 19
2.1. 线程 ...................................................................................................................................................... 20
2.2. JVM 内存区域 ..................................................................................................................................... 21
2.2.1.
程序计数器
(
线程私有
) ................................................................................................................ 22
2.2.2.
虚拟机栈
(
线程私有
) .................................................................................................................... 22
2.2.3.
本地方法区
(
线程私有
) ................................................................................................................ 23
2.2.4.
堆(
Heap-
线程共享)
-
运行时数据区
...................................................................................... 23
2.2.5.
方法区
/
永久代(线程共享)
..................................................................................................... 23
2.3. JVM 运行时内存 ................................................................................................................................. 24
2.3.1.
新生代
.......................................................................................................................................... 24
2.3.1.1. Eden .................................................................................................................................................... 24
2.3.1.2. ServivorFrom ........................................................................................................................................... 24
2.3.1.3. ServivorTo .............................................................................................................................................. 24
2.3.1.4. MinorGC 的过程(复制->清空->互换) ....................................................................................... 24
1edenservicorFrom 复制到 ServicorTo,年龄+1 ................................................................................... 25
2:清空 edenservicorFrom ............................................................................................................................. 25
3ServicorTo ServicorFrom 互换 ................................................................................................................ 25
2.3.2.
老年代
.......................................................................................................................................... 25
2.3.3.
永久代
.......................................................................................................................................... 25
2.3.3.1. JAVA8 与元数据 ................................................................................................................................. 25
2.4. 垃圾回收与算法 .................................................................................................................................. 26
2.4.1.
如何确定垃圾
.............................................................................................................................. 26
2.4.1.1. 引用计数法............................................................................................................................................... 26
2.4.1.2. 可达性分析............................................................................................................................................... 26
2.4.2.
标记清除算法(Mark-Sweep
.............................................................................................. 27
2.4.3.
复制算法(
copying
................................................................................................................. 27
2.4.4.
标记整理算法
(Mark-Compact) .................................................................................................. 28
2.4.5.
分代收集算法
.............................................................................................................................. 29
2.4.5.1. 新生代与复制算法 .............................................................................................................................. 29
2.4.5.2. 老年代与标记复制算法 ...................................................................................................................... 29
2.5. JAVA 四中引用类型 ........................................................................................................................... 30
2.5.1.
强引用
.......................................................................................................................................... 30
2.5.2.
软引用
.......................................................................................................................................... 30
2.5.3.
弱引用
.......................................................................................................................................... 30
2.5.4.
虚引用
.......................................................................................................................................... 30
2.6. GC 分代收集算法 VS 分区收集算法 ................................................................................................ 30
2.6.1.
分代收集算法
.............................................................................................................................. 30
2.6.1.1. 在新生代-复制算法 ............................................................................................................................. 30
2.6.1.2. 在老年代-标记整理算法 ..................................................................................................................... 30
2.6.2.
分区收集算法
.............................................................................................................................. 31
2.7. GC 垃圾收集器 ................................................................................................................................... 31
2.7.1. Serial
垃圾收集器(单线程、复制算法)
................................................................................ 31
2.7.2. ParNew
垃圾收集器(
Serial+
多线程)
................................................................................... 31
2.7.3. Parallel Scavenge
收集器(多线程复制算法、高效)
.......................................................... 32
2.7.4. Serial Old
收集器(单线程标记整理算法
........................................................................... 32
2.7.5. Parallel Old
收集器(多线程标记整理算法)
......................................................................... 33
2.7.6. CMS
收集器(多线程标记清除算法
..................................................................................... 33
2.7.6.1. 初始标记 .............................................................................................................................................. 33
13/04/2018
Page 2 of 283
2.7.6.2. 并发标记 .............................................................................................................................................. 34
2.7.6.3. 重新标记 .............................................................................................................................................. 34
2.7.6.4. 并发清除 .............................................................................................................................................. 34
2.7.7. G1
收集器
.................................................................................................................................... 34
2.8. JAVA IO/NIO ....................................................................................................................................... 34
2.8.1.
阻塞
IO
模型
................................................................................................................................ 34
2.8.2.
非阻塞
IO
模型
............................................................................................................................ 35
2.8.3.
多路复用
IO
模型
........................................................................................................................ 35
2.8.4.
信号驱动
IO
模型
........................................................................................................................ 36
2.8.5.
异步
IO
模型
................................................................................................................................ 36
2.8.1. JAVA IO
.................................................................................................................................. 36
2.8.2. JAVA NIO .................................................................................................................................... 37
2.8.2.1. NIO 的缓冲区 ..................................................................................................................................... 38
2.8.2.2. NIO 的非阻塞 ..................................................................................................................................... 38
2.8.3. Channel ....................................................................................................................................... 40
2.8.4. Buffer ............................................................................................................................................ 40
2.8.5. Selector ........................................................................................................................................ 40
2.9. JVM 类加载机制 ................................................................................................................................. 41
2.9.1.1. 加载 .......................................................................................................................................................... 41
2.9.1.2. 验证 .......................................................................................................................................................... 41
2.9.1.3. 准备 .......................................................................................................................................................... 41
2.9.1.4. 解析 .......................................................................................................................................................... 41
2.9.1.5. 符号引用 .............................................................................................................................................. 42
2.9.1.6. 直接引用 .............................................................................................................................................. 42
2.9.1.7. 初始化 ...................................................................................................................................................... 42
2.9.1.8. 类构造器<client> .............................................................................................................................. 42
2.9.2.
类加载器
...................................................................................................................................... 42
2.9.2.1. 启动类加载器(Bootstrap ClassLoader) ......................................................................................... 43
2.9.2.2. 扩展类加载器(Extension ClassLoader) .......................................................................................... 43
2.9.2.3. 应用程序类加载器(Application ClassLoader) .......................................................................... 43
2.9.3.
双亲委派
...................................................................................................................................... 43
2.9.4. OSGI
动态模型系统
............................................................................................................ 44
2.9.4.1. 动态改变构造 ...................................................................................................................................... 44
2.9.4.2. 模块化编程与热插拔 .......................................................................................................................... 44
3. JAVA 集合 ............................................................................................................................................ 45
3.1. 接口继承关系和实现 .......................................................................................................................... 45
3.2. LIST ....................................................................................................................................................... 47
3.2.1. ArrayList
(数组)
....................................................................................................................... 47
3.2.2. Vector
(数组实现、线程同步)
............................................................................................... 47
3.2.3. LinkList
(链表)
......................................................................................................................... 47
3.3. SET ....................................................................................................................................................... 48
3.3.1.1. HashSetHash 表) ............................................................................................................................. 48
3.3.1.2. TreeSet(二叉树) ................................................................................................................................ 49
3.3.1.3. LinkHashSetHashSet+LinkedHashMap ................................................................................... 49
3.4. MAP ....................................................................................................................................................... 50
3.4.1. HashMap
(数组
+
链表
+
红黑树)
............................................................................................. 50
3.4.1.1. JAVA7 实现 ............................................................................................................................................. 50
3.4.1.2. JAVA8 实现 ............................................................................................................................................. 51
3.4.2. ConcurrentHashMap.................................................................................................................. 51
3.4.2.1. Segment .............................................................................................................................................. 51
3.4.2.2. 线程安全(Segment 继承 ReentrantLock 加锁) .............................................................................. 51
3.4.2.3. 并行度(默认 16 ................................................................................................................................. 52
3.4.2.4. Java8 实现 (引入了红黑树) .............................................................................................................. 52
of 283
10墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜