没有合适的资源?快使用搜索试试~ 我知道了~
首页Java核心知识点整理:JVM、线程及目录
Java核心知识点整理:JVM、线程及目录
需积分: 0 0 下载量 176 浏览量
更新于2024-01-18
收藏 6.71MB PDF 举报
本文是关于Java核心知识点整理的总结,共包括300页的内容。其中第二章主要介绍了Java虚拟机(JVM)的相关知识。在这一章的内容中,主要包括了线程以及JVM的具体介绍。在线程部分中,详细介绍了线程的概念、线程的创建与启动、线程的声明周期、线程的同步与锁等内容,使读者对线程有了更深入的了解。而在JVM部分,主要包括了JVM内存结构、垃圾回收机制、类加载机制、JVM调优等多个方面的内容,可以帮助读者更好地理解JVM的工作原理以及如何优化JVM。
在2.1节中,对线程进行了详细的介绍。文中首先介绍了线程的基本概念,包括线程的定义、线程与进程的区别、线程的状态等,使读者可以对线程有一个清晰的认识。接着介绍了线程的创建与启动方式,包括继承Thread类和实现Runnable接口两种方式,并对它们进行了详细的比较与分析。此外,还介绍了线程的声明周期,包括新建状态、就绪状态、运行状态、阻塞状态和死亡状态,丰富的图示以及生动的案例分析,使读者能够更加直观地了解线程的整个声明周期。最后,对线程的同步与锁进行了介绍,包括synchronized关键字、Lock接口以及volatile关键字等,使读者能够掌握线程同步的多种方式,更好地避免多线程并发带来的问题。
在2.2节中,对JVM进行了详细的介绍,包括JVM的内存结构、垃圾回收机制、类加载机制、JVM调优等内容。首先介绍了JVM的内存结构,包括方法区、堆、栈、程序计数器和本地方法栈等,通过图示和实例分析,使读者对JVM内存结构有了更加深入的了解。接着介绍了垃圾回收机制,包括垃圾收集算法、垃圾收集器以及垃圾回收的时机与方法等,使读者能够更好地理解垃圾回收机制的原理。此外,还介绍了类加载机制,包括类加载的过程以及双亲委派模型等,帮助读者更好地理解类加载机制的工作原理。最后,对JVM调优进行了介绍,包括内存调优、垃圾回收调优、程序性能调优等内容,使读者能够更好地了解如何对JVM进行调优,提高程序的性能。
总的来说,本文详细介绍了Java核心知识点,包括线程和JVM的相关内容,内容丰富、图文并茂、案例详实、通俗易懂。通过阅读本文,读者可以更全面地了解Java核心知识,对于Java程序员来说是一份不可多得的学习资料。
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
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
13/04/2018
Page 19 of 283
2. JVM
(1) 基本概念:
JVM 是可运行 Java 代码的假想计算机 ,包括一套字节码指令集、一组寄存器、一个栈、
一个垃圾回收,堆 和 一个存储方法域。JVM 是运行在操作系统之上的,它与硬件没有直接
的交互。
(2) 运行过程:
13/04/2018
Page 20 of 283
我们都知道 Java 源文件,通过编译器,能够生产相应的.Class 文件,也就是字节码文件,
而字节码文件又通过 Java 虚拟机中的解释器,编译成特定机器上的机器码 。
也就是如下:
① Java 源文件—->编译器—->字节码文件
② 字节码文件—->JVM—->机器码
每一种平台的解释器是不同的,但是实现的虚拟机是相同的,这也就是 Java 为什么能够
跨平台的原因了 ,当一个程序从开始运行,这时虚拟机就开始实例化了,多个程序启动就会
存在多个虚拟机实例。程序退出或者关闭,则虚拟机实例消亡,多个虚拟机实例之间数据不
能共享。
2.1. 线程
这里所说的线程指程序执行过程中的一个线程实体。JVM 允许一个应用并发执行多个线程。
Hotspot JVM 中的 Java 线程与原生操作系统线程有直接的映射关系。当线程本地存储、缓
冲区分配、同步对象、栈、程序计数器等准备好以后,就会创建一个操作系统原生线程。
Java 线程结束,原生线程随之被回收。操作系统负责调度所有线程,并把它们分配到任何可
用的 CPU 上。当原生线程初始化完毕,就会调用 Java 线程的 run() 方法。当线程结束时,
剩余282页未读,继续阅读
2020-06-08 上传
2022-08-03 上传
2024-02-20 上传
2021-01-22 上传
2023-01-28 上传
2019-11-03 上传
不能汉字字母b
- 粉丝: 22
- 资源: 291
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- OO Principles.doc
- Keil C51程序设计中几种精确延时方法.doc
- 基于单片机的智能遥控小汽车
- 利用asp.net Ajax和sqlserver2005实现电子邮件系统
- 校友会网站需求说明书
- Microsoft Windows Internals (原版PDF)
- 软件测试工具的简单介绍
- 2009年上半年软件评测师下午题
- 2009年上半年软件评测师上午题
- linux编程从入门到提高-国外经典教材
- 2009年上半年网络管理员下午题
- 2009年上半年系统集成项目管理师下午题
- 2009年上半年系统集成项目管理师上午题
- 数据库有关的中英文翻译
- 2009年上半年系统分析师下午题II
- 2009年上半年系统分析师上午题
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功