没有合适的资源?快使用搜索试试~ 我知道了~
首页Java进阶:详解JVM内存与垃圾回收机制
"本资源是一份全面详尽的Java进阶核心知识集,涵盖了JVM架构、内存管理、垃圾回收机制、引用类型以及收集算法等关键主题。首先,读者将深入理解JVM的组成部分,包括线程、不同内存区域(如程序计数器、虚拟机栈、本地方法区、堆和方法区/永久代)及其作用。接下来,讲解了JVM运行时内存结构,如新生代(包括Eden区、Survivor From和To,以及 Minor GC的复制、清空和互换过程)、老年代和永久代,特别是Java 8后元数据的变化。 垃圾回收是核心部分,介绍了垃圾判定的方法,如引用计数法和可达性分析,以及各种垃圾回收算法,如标记清除、复制、标记整理和分代收集策略。这些算法针对不同内存区域(新生代与复制算法、老年代与标记复制算法)进行优化。此外,还讨论了四种引用类型(强引用、软引用、弱引用和虚引用),以及它们在内存管理中的作用。 进一步地,资源对比了分代收集算法和分区收集算法的区别,前者针对不同生命周期的对象采用不同的收集策略,后者则可能适用于更复杂的资源分配场景。最后,书中详细介绍了几种常见的垃圾收集器,如Serial、ParNew、ParallelScavenge和SerialOld,每个收集器的特点和适用场景都在这里得到阐述。 这份Java进阶知识集为开发者提供了深入了解Java内存管理和性能优化的基础,无论是在面试准备还是日常开发工作中,都能帮助提升对高级Java技术的理解和实践能力。"
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/87578775/bg10.jpg)
13/04/2018
Page 16 of 283
24. 分布式缓存 ...................................................................................................................................... 257
24.1.1.
缓存雪崩
.................................................................................................................................... 257
24.1.2.
缓存穿透
.................................................................................................................................... 257
24.1.3.
缓存预热
.................................................................................................................................... 257
24.1.4.
缓存更新
.................................................................................................................................... 257
24.1.5.
缓存降级
.................................................................................................................................... 257
25. HADOOP ........................................................................................................................................ 259
25.1.1.
概念
............................................................................................................................................ 259
25.1.2. HDFS ......................................................................................................................................... 259
25.1.2.1. Client .................................................................................................................................................. 259
25.1.2.2. NameNode ........................................................................................................................................ 259
25.1.2.3. Secondary NameNode ................................................................................................................. 259
25.1.2.4. DataNode......................................................................................................................................... 259
25.1.3. MapReduce ............................................................................................................................... 260
25.1.3.1. Client ................................................................................................................................................. 260
25.1.3.2. JobTracker ....................................................................................................................................... 260
25.1.3.3. TaskTracker ...................................................................................................................................... 261
25.1.3.4. Task ................................................................................................................................................... 261
25.1.3.5. Reduce Task 执行过程 ................................................................................................................... 261
25.1.4. Hadoop MapReduce
作业的生命周期
................................................................................... 262
1.作业提交与初始化........................................................................................................................................... 262
2.任务调度与监控。........................................................................................................................................... 262
3.任务运行环境准备........................................................................................................................................... 262
4.任务执行 .......................................................................................................................................................... 262
5.作业完成。 ...................................................................................................................................................... 262
26. SPARK ............................................................................................................................................ 263
26.1.1.
概念
............................................................................................................................................ 263
26.1.2.
核心架构
.................................................................................................................................... 263
Spark Core ......................................................................................................................................................... 263
Spark SQL .......................................................................................................................................................... 263
Spark Streaming ................................................................................................................................................ 263
Mllib ..................................................................................................................................................................... 263
GraphX ................................................................................................................................................................ 263
26.1.3.
核心组件
.................................................................................................................................... 264
Cluster Manager-制整个集群,监控 worker ................................................................................................. 264
Worker 节点-负责控制计算节点 ....................................................................................................................... 264
Driver: 运行 Application 的 main()函数......................................................................................................... 264
Executor:执行器,是为某个 Application 运行在 worker node 上的一个进程 .......................................... 264
26.1.4. SPARK
编程模型
...................................................................................................................... 264
26.1.5. SPARK
计算模型
...................................................................................................................... 265
26.1.6. SPARK
运行流程
...................................................................................................................... 266
1. 构建 Spark Application 的运行环境,启动 SparkContext .................................................................... 267
2. SparkContext 向资源管理器(可以是 Standalone,Mesos,Yarn)申请运行 Executor 资源,并启
动 StandaloneExecutorbackend, .................................................................................................................. 267
3. Executor 向 SparkContext 申请 Task ..................................................................................................... 267
4. SparkContext 将应用程序分发给 Executor ............................................................................................ 267
5. SparkContext 构建成 DAG 图,将 DAG 图分解成 Stage、将 Taskset 发送给 Task Scheduler,最
后由 Task Scheduler 将 Task 发送给 Executor 运行 ..................................................................................... 267
6. Task 在 Executor 上运行,运行完释放所有资源................................................................................... 267
26.1.7. SPARK RDD
流程
.................................................................................................................... 267
26.1.8. SPARK RDD ............................................................................................................................. 267
(1)RDD 的创建方式........................................................................................................................................... 267
(2)RDD 的两种操作算子(转换(Transformation)与行动(Action)) .............................................. 268
27. STORM ........................................................................................................................................... 269
![](https://csdnimg.cn/release/download_crawler_static/87578775/bg11.jpg)
13/04/2018
Page 17 of 283
27.1.1.
概念
............................................................................................................................................ 269
27.1.1.
集群架构
.................................................................................................................................... 269
27.1.1.1. Nimbus(master-代码分发给 Supervisor) ................................................................................ 269
27.1.1.2. Supervisor(slave-管理 Worker 进程的启动和终止) ............................................................... 269
27.1.1.3. Worker(具体处理组件逻辑的进程) ............................................................................................ 269
27.1.1.4. Task ................................................................................................................................................... 270
27.1.1.5. ZooKeeper ........................................................................................................................................ 270
27.1.2.
编程模型(spout->tuple->bolt)
....................................................................................... 270
27.1.2.1. Topology ............................................................................................................................................ 270
27.1.2.2. Spout.................................................................................................................................................. 270
27.1.2.3. Bolt ..................................................................................................................................................... 270
27.1.2.4. Tuple .................................................................................................................................................. 270
27.1.2.5. Stream ............................................................................................................................................... 271
27.1.3. Topology
运行
........................................................................................................................... 271
(1). Worker(进程) (2). Executor(线程) (3). Task .................................................................................. 271
27.1.3.1. Worker(1 个 worker 进程执行的是 1 个 topology 的子集) ....................................................... 271
27.1.3.2. Executor(executor 是 1 个被 worker 进程启动的单独线程) ...................................................... 271
27.1.3.3. Task(最终运行 spout 或 bolt 中代码的单元) ............................................................................... 272
27.1.4. Storm Streaming Grouping ..................................................................................................... 272
27.1.4.1. huffle Grouping ................................................................................................................................. 273
27.1.4.2. Fields Grouping ................................................................................................................................ 273
27.1.4.3. All grouping :广播 .......................................................................................................................... 273
27.1.4.4. Global grouping ................................................................................................................................ 274
27.1.4.5. None grouping :不分组 ................................................................................................................. 274
27.1.4.6. Direct grouping :直接分组 指定分组 ........................................................................................... 274
28. YARN .............................................................................................................................................. 275
28.1.1.
概念
............................................................................................................................................ 275
28.1.2. ResourceManager ................................................................................................................... 275
28.1.3. NodeManager ........................................................................................................................... 275
28.1.4.
ApplicationMaster
................................................................................................................. 276
28.1.5.
YARN 运行流程
.................................................................................................................... 277
29. 机器学习 .......................................................................................................................................... 278
29.1.1.
决策树
........................................................................................................................................ 278
29.1.2.
随机森林算法
............................................................................................................................ 278
29.1.3.
逻辑回归
.................................................................................................................................... 278
29.1.4. SVM............................................................................................................................................ 278
29.1.5.
朴素贝叶斯
................................................................................................................................ 278
29.1.6. K
最近邻算法
............................................................................................................................. 278
29.1.7. K
均值算法
................................................................................................................................. 278
29.1.8. Adaboost
算法
.......................................................................................................................... 278
29.1.9.
神经网络
.................................................................................................................................... 278
29.1.10.
马尔可夫
................................................................................................................................ 278
30. 云计算 ............................................................................................................................................. 279
30.1.1. SaaS .......................................................................................................................................... 279
30.1.2. PaaS .......................................................................................................................................... 279
30.1.3. IaaS ............................................................................................................................................ 279
30.1.4. Docker ........................................................................................................................................ 279
30.1.4.1. 概念 .................................................................................................................................................... 279
30.1.4.2. Namespaces ..................................................................................................................................... 280
30.1.4.3. 进程(CLONE_NEWPID 实现的进程隔离)...................................................................................... 281
30.1.4.4. Libnetwork 与网络隔离 .................................................................................................................... 281
30.1.4.5. 资源隔离与 CGroups ....................................................................................................................... 282
30.1.4.6. 镜像与 UnionFS ................................................................................................................................ 282
30.1.4.7. 存储驱动 ............................................................................................................................................ 282
![](https://csdnimg.cn/release/download_crawler_static/87578775/bg13.jpg)
13/04/2018
Page 19 of 283
2. JVM
(1) 基本概念:
JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、
一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接
的交互。
(2) 运行过程:
![](https://csdnimg.cn/release/download_crawler_static/87578775/bg14.jpg)
13/04/2018
Page 20 of 283
我们都知道 Java 源文件,通过编译器,能够生产相应的.Class 文件,也就是字节码文件,
而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码 。
也就是如下:
① Java 源文件—->编译器—->字节码文件
② 字节码文件—->JVM—->机器码
每一种平台的解释器是不同的,但是实现的虚拟机是相同的,这也就是 Java 为什么能够
跨平台的原因了 ,当一个程序从开始运行,这时虚拟机就开始实例化了,多个程序启动就会
存在多个虚拟机实例。程序退出或者关闭,则虚拟机实例消亡,多个虚拟机实例之间数据不
能共享。
2.1. 线程
这里所说的线程指程序执行过程中的一个线程实体。JVM 允许一个应用并发执行多个线程。
Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系。当线程本地存储、缓
冲区分配、同步对象、栈、程序计数器等准备好以后,就会创建一个操作系统原生线程。
Java 线程结束,原生线程随之被回收。操作系统负责调度所有线程,并把它们分配到任何可
用的 CPU 上。当原生线程初始化完毕,就会调用 Java 线程的 run() 方法。当线程结束时,
剩余282页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/977ad4bdbc6e4af48266f92f00597753_weixin_39570655.jpg!1)
zhaoshuangjian
- 粉丝: 9184
- 资源: 4
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 岩石滑动与断层冲击地压:声发射特征分析
- 新时代煤炭工业八大战略新取向剖析
- 开采强度对华亭矿区冲击地压危险性的影响分析
- 新安煤矿探采对比:影响安全生产的关键因素与技术支撑
- 210MW循环流化床锅炉引风机变频改造优化与节能效果
- 浅埋煤层开采沉陷预测:方法应用与影响分析
- 优化巷道过陷落柱支护方案:数值模拟与现场试验
- 坚硬顶板定向断裂爆破技术:安全高效采煤新方案
- 北航2019算法课作业解析:投资策略与凸子多边形优化
- 断层破碎带垮冒下堆积体边界抗力分布关键影响因素
- 哈拉沟选煤厂优化末煤系统提高效率与处理能力
- 瓦斯涌出影响下采动煤体蠕变失稳研究
- 提升煤矿装载效率的可控箕斗定量装载设备设计
- 水分调控下烟煤瓦斯吸附特性对比研究
- 重介质悬浮液密度控制硬件设计与选型探讨
- 坚硬顶板巷道支护参数设计:现场测试与数值分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)