Java核心技术文档(238页)-【千锋教育】程序设计基础学习笔记

2024-07-03
| 283页
| 98人阅读
| 0人下载
教辅

内容正文:

1.目录 2.2. 2.2.1. 程序计鼓.......................... 2.2.2 虚拟机(线程私有)....... 2.2.3. 本地方法区(线程私有)..... 2.2.4. 堆(. 助e..........................3 2.2.5. 方法回...............................3 2.3.................. 2.3.1....................................4.. 2.31... .......................................24 23.1.. .erivorto..... ..................................... 2.3.1.4. MinorGC的过程(复制->清空->互换) 1: edeo,.、..r...复....................5.. 2: 清空 eden、 servicorFrom.... 2.3.2. 老年代........5.. 2.3.3. 永久“..................5... 2.3.3.1. 2.4. 垃圾回句............. 2.4.1 2.4.1.1............. 2.4.1.2. 可达性分析.... .............6. 2.4.2. 标记清险除................ 2.4.3. 2.4.4. 标记整................ 2.4.5. 分代收集算法...... 2.4.5.1. 新生代与复制算法.. 2.4.5.2. 老年代与标记复制算法. 2.5. JAVA四中引用类型. 2.5.1. 强引...... 2.5.2. 2.5.3. 2.5.4. 2.6. GC分................. 2.6.1. 2.6.1.1. 在新生代-复制算法..... 2.6.1.2. 在老年代-标记整理算法.... 2.6.2. 分区以吃.......... 2.7.) GC续垃............ 2.7.1. Serial苹.垃.....复.......1 2.7.2 ParNew垃极收集器(Serial+多线程)...... .................. 2.7.3. Paralle. .是.对..果...、.程复....高............. 2.7.4. Serial ..................... 2.7.5. ParallelOld收集器(多线程标记整理算法) 2.7.6. CMS收集器(多线程标记清除算法) 2.7.6.1. 初始标记 2.7.6.2 并发标记 2.7.6.3. 重新标记 2.7.6.4. 并发清除 2.7.7. G1收集器........ 2.8.1. 阻塞lO模型....... 2.8.2. 非阻塞lO模型....... 2.8.3. 多路复用1O模型...... 2.8.4. 信号驱动10模型.... 2.8.5. 异步lO模型....... 2.8.1. JAVA 1O........ 2.8.2. JAVA NIO.... 2.8.2.1. NIO的缓冲区 2.8.2.2. NIO的非阻塞 2.8.3. 2.8.4. 2.8.5. 2.9.1.2. .验证.............................................41 2.9.1.3. 2.9.1.5. 2.9.1.6. 直接引用 2.9.1.7...始.化..... 2.9.1.8. 类构造器<client>...... 2.9.2.1. 启动类加载器(Bootstrap ClassLoader) ..... 2.9.2.2. 扩展类加载器(Extension ClassLoader)..... 2.9.2.3. 应用程序类加载器(ApplicationClassLoader): ................... 2.9.3. 双亲...... 2.9.4. OSGl(动态模型系统) 2.9.4.1. 动态改变构造 2.9.4.2. 模块化编程与热插拔 3.1. 接口............................5 3.2. 3.2.1. ArrayList(数组)..... ............................. 3.2.2. Vector..............4.... 3.2.3. LinkL i.............................................4.. 3.3.1.......................................148 3.3.1.2. TreSe. 一..)... .............................. 3.3.1.3. ...s.t...... ..........................49.. 3.4..MaP..... 3.4.1 Has....................................................50 3.4....................... 3.4.2. Concu...............51.. 3.4.2.1. 3.4.2.2. 线程安全(Segment 继承ReentrantLock 加锁)..... .............5... 3.4.2....行度....1................ 3.4.2..4.a.实现..入.红黑............... -13/04/2018 Page 2of 283 3.4.3 HashTable(线程安全) 3..........5. 3.4.4. T爱ee.u............................5 3.4.5. Link追................................5. 4. JAVA多线程并发...... ..................................4 4.1.1. AV. .......................................4 4.1.2. JAV. 终续..............4.. 4.1.2.2. 实现Runnable接口。..... 4.1.2.3. ExecutorService、Callable<Class>、Future 有返回值线程.... 4.1.2.4....y线.....方............... 4.1.3.1. newCached ThreadPool.. 4.1.3.2. newFixedThreadPool. .... 4.1.3.3. ..一--.-o.......................- -.............................5.... 4.1.3.4. ....-x“-................-..- 4.1.4. 线程生............ 4.1.4.1...................................8. 4.1.4.2. .说就绪.......................................59 4.1.4.3. . 运行状态(RUNNING):.... 4.1.4.4. 阻塞状态(BLOCKED): .... 等待阻塞(o.wait-→等待对列):..... 同步.loc-........... 其他阻塞(sleep/join).... 4.1.5. 终止线...............6... 4.1.5.1. .正........................-6... 4.1.5.2.....出....出.......................60 4.1.5...............................----60 4.1.5.4. -...终.....安.........61 4.1.6. sleep与wait 区别...... .......................6... 4.1.7. 4.1.8. 4.7.9. AVA 短................... 4.1.9.................................................... 4.1.9.-...................................6. 4.1.93...............................................6. 自..的.............................................. 自旋时过.................6. 自旋锁的开启........ 4.1.9.4. .nchronized 同步锁....... Synchronized作用范围....... Synch.oi...............................................64 Synchr..-..........................................64.. 4.1.9-5....................................-.6 Lock 或接................. 非公平....................................6. 公平载.......................... Reer..............-...........................67 Conditio..................... tryLock 和lock 和locklnterruptibly 的区别. 4.1.9.6. .emo............... 实现..计......................... 代码....................... Semaphore .与 .eeentranttLock ...... ................. 4.1.9.7....Atomiclnteger........ ........69 Page 3of 283 4.1.9.8. 4.1.9.9. 公平...............................................”. 4.1.9.10. 写....... 4.1.9.11 共享.样.............. 4.1.9.12. 重量级锁(Mutex Lock) 4.1.9.13. 轻量互.....................................1.. 锁升...............................--.1.. 4.1.9.14. 4.1.9.15. 4.1.9.16. 锁优..... 减少锁持有时间...... 减小载每...........-...................--.-.. 锁粗.....................................”2. 4.1.1...............”... 4.1.10.1. 线程等..................................... 4.1.10.2. 线程睡...................... 4.1.10.3. 线程让步(yield)...... .................................... 4.1.10.4. 线程中断(interrupt).. 4.1.10.5. Join等待其他线程终止.. 4.1.10.6. 为什么要用join0方法? 4.1.10.7. 线程唤醒(notify)...... 4.1.10.8. 0 其他.....................................................74 4.1.1.............”.5.. 4.1.11.1. 4.1.11.2. 上下..........................5 4.1.113. 寄存幕...............................5. 4.1.11.4. 程序计....................5. 4.1.11.5. PCB-.................... 4.1.11.6. 上下文切换的活动:. ............................ 4.1.11.7. 引起线程................ 4.1.12............... 4.1.12.1. 4.1.12.2. 4.1.13..................................76. 4.1.13.1. 线程复用..... 4.1.13.2. 线程池的组成 4.1.13.3. 拒绝策略..... 4.1.13.4. lava线程池工作过程 .-................. 4.1.14. . JAVA阻塞队列原理... 4.1.14.1. 阻塞队列的主要方法.. ..............8... 插入操作..... 获取数据操作:... 4.1.14.2. Java中的阻塞队列...... ....... 4.1.14.3. ArrayBlockingQueue(公平、非公平) .............. 4.1.14.4. LinkedBlockinaQueue(两个独立锁提高并发) 4.1.14.5. PriorityBlockingQueue (compareTo 排序实现优先) 4.1.14.6. DelayQueue(缓存失效、定时任务).... 4.1.14.7. SynchronousQueue(不存储数据、可用于传递数据) 4.1.14.8. Link.-r............... ........... Page 4of 283 4.1.14.9. LinkedBlockinaleaue........... ........................... 4.1.15. . Cy .l..、 .to.. 、.Sp. ...........84 4.1.15.1. CountDownLatch(线程计数器)..... 4.1.15.2. CyclicBarrier(回环概栏-等待至barrier状态再全部同时执行) 4.1.15.3. Semaphore(信号量-控制同时访问的线程个数) 4.1.16.volatile关键字的作用(变量可见性、禁止重排序) ....................... 变量.可.......................................... .................... 禁止,重..............................-.87 比 sych............................................87 适用.... 4.1.17......................88 将数.据.......数.操...为.....方..........88 Run...对.....为............................9 4.1.1.,............... 9.. ThreaduLo................... 使用.......... ................................ 4.1.19.. ................x......................................1 4.1.19.1. 两者的共同点: 4.1.19.2. 两者的不同点:..... 4.1.20.-.......................9.. 4.1.20.1. 减小粒度... 4.1.20.2. ConcurrentHashMap 分段锁... ConcuerrentHast/Mp.. eg meH.数组结构,..aNstrnr.y.数组结 ...........93 4.1.21....................... 4.1.21.1. 抢占式调度: 4.1.21.2. 协同式调度:... .......................... 4.1.21.3. IVM的线程调度实现(抢占式调度) 4.1.21.4. 线程让出cpu的情况 ........................ 4.1.22..进程调度算法..... 4.1.22.1. 优先调度簿法. 4.1.22.2. 高优先权优先调度算法. 4.1.22.3. 基于时间片的轮转调度算法..... 4.1.23............观机..一锁......96 4.1.23.1. 概念....................... .................. 4.1.23.2. 原子包java.util.concurrent.atomic(锁自旋) ...................... 4.1.23.3. ABA问题. 4.1.24.什么是AOS(抽象的队列同步器) Exclusive 独占资源-ReentrantLock..... Share 共享资源-Semaphore/CountDownLatch .... 同步器的实现是ABS核心(state资源状态计数) ReentrantReadWriteLock实现独占和共享两种方式... 5.1.1...背.................1.1 5.1.1.1. 概。....... 5.1.1.2. 异常分类 Erro............ ...........1..... Exception(RuntimeException. CheckedException) 5.1.1.3. 异常的处理方式..... 遇到问是..不.........续给...xw.平w........102 try catch捕获异常针对性处理方式...... 5.1.1.4. Throw和throws的区别: Page 5 of 283 位置不...... 5.1.2. JAVA. 后.......... 5.1.2.1. 动态语言...... -....................13 5.1.22. 反射机制概念(运行状态中知道类所有的属性和方法) 5.1.2.3. 反射的................................1. 编译时,....................1. 的编译时类型无法获取具体方法..... 5.1.2.4. lava 反射 API..... 反射API用来生成JVM中的类、接口或则对象的信息。...... ...............1.... 5.1.2.5. 反射使用步骤(获取Class对象、调用对象方法) ...................0.. 5.1.2.6. 获取Class对象的3种方法 调用某个对象的qetClass0方法...... 调用苹.......获..对.的...................-1.04 使用 (.非......不.静...方......量最...........1.04.. 5.1.2.7. 创建对............................1... Class 对象的 newlnstanceO... 调用 .是..u......w...一.........................-.1.5 5.1.3. AV_ ............. 5.1.3.2..4种标准元注解..... ..-.................1.... Target 修饰的对象范围...... Reter......留..............16 Documented .描.-.jJavadoc........ lnherited阐述了某个被标注的类型是被继承的....... 5.1.4 5.1.4.1. 5.1.4.2. 成员内部类...... .......................1... 5.1.4.3. .............................1.. 5.1.4.4. 匿名内部类(要继承一个父类或者实现一个接口、直接使用new来生成一个对象的引用)..-.111 5.1.5. 5.1.5.1. 5.1.5.2. 泛型.......................1.... 5.1.5.3..................1.. 5.1.6 VA ....................... 保存(持久化)对象及其状态到内存或者慰盘....... 序列.,对.......保............ 序列......................................................1.1.... Seriali......列................... Object.uoutputSBtream.和.. .ject美put$Stream.对.对.象.进.行序列.化.及反序列.................113 writeob.e.......................11. 序列........................ 序列................ 序列化父类说明........ ................................... Transien.................”4. 5.1.7. AV. .复............ 5.1.7.1. 直接赋值复制... ....................... 5.1.7.2. 浅复制(复制引用但不复制引用的对象) 5.1.7.3. 深复制(复制对象和其应用对象)... 5.1.7.4. 序列化(深clone一中实现) 6.选 6.1.1. Spring.................. 6.1.1.1. Page 6 of 283 6.1.1.2 6.1.1.3. 面向切面 6.1.1.4. 容器. 6.1.1.5. 框架集合..... 6.1.2. Spring ...................17 6.1.3. Sprin .第..........................17 6.7.4. Spring ......... 6.1.5. Spring 常u.......... 6.1.6. Spring ..方结合..... 6.1.7. 6.1.7................ 6.1.7.2. Spring 容器高层视图 .... 6.1.7.3.. 1OC容器实现.... Bean-越......是...........................--12 1.1.1....................................-.-121 1.1.1.1...........................-121. 1.1.1...-....8......................-121 1.1..1.1.4 HierarchicalBeanFactory 父子级联..... .................1.1.... 1.11..........一................................-.-121 1.11.1....y”...长.................-12... 1.121... n.耳t事..re..5....注.....w...............-.12 1.1.1.1..............................-12 Applic...........................................122 WebApplication体系架构...... 6.1.7.4. Spring Bean 作用域.... ...........................1... singleto....模..............123 protot梦yp..................1.4..... Requ_................................124. sessio-..-.....-...................-.124.. globa- ..--.............................-124. 6.1.7.5... ........................-.124 实例化....... lOC ............... setBeanName 实现..... BeanFactoryware .实现....... Applic....x.w...........................125 postpPro是y1..y.........预....125 init-m..-........................-.1”5 postProc-...........-...-..-.-.-...-.-1.5.. Destroy过期自动清理阶段 ....... destroy-method 自配置清理..... 6.1.7.6... ...............12. 构.器....................................1.. sette..............................................127 静态..................1..... 实例.................................................12. 6.1.7.7..5种不同方式的自动装配...... 6.1.8. Sprng .......................9... 6.1.8.1. 6.1.8.2..AOP核心概念..... 6.1.8.1 AOP两种代理方式... JDK 动.态接............ CGLib动态代理....... 6.1.8.2..实现原理.... 6.1.9 sSprin................... Http i求到 DispatcherServlet .... HandlerMapping寻找处理器..... 调用......oroll.............. Page7of 283 Control.......辑.........-... ............13 DispatcherServlet 查询 ModelAndView .... Modeln......背.................... 6.1.9.............................................13 6.1.1.................................................1.4.. 1. 创建.....................4.... 2.嵌入的.....无...............4. 3.简化Maven配置...... 4. 自动配置Spring..... .......................... 5. 提是“....绪..........外.配.............134... 6.绝对没..................4. 6.1.1.............4.... 6.1.11.1. 6.1.11.2. 本.地事............................................. 6.1.11.1. 6.1.11.1 2提交....................... 6.1.12.1. Mybat..........s ....................138.. 6.1.12.2. 二级缓存原理(mapper基本) 6.1.13............9... 7.1.1 服.............................................4... 7.1.1.1......................”14.. 7.1.1.2. 第三方注册(独立的服务Registrar) 7.1.1.3. 客户发..... 7.1.1.4. .服..................那4... 7.1.1.6. 7.1.1.7-......................-.4... 7.1.2...................... 7.1.2.1..................................1.4... 7.1.2.2...应合并..... 7.1.2.......”.4... 7.12.4...........................14.. 7.1.3............4... 7.1.3.1.......................144. 7.1.3.2. . 配置中心数据分类...... 7.1.4. 事件调度(kafka)..... .......................... 7.1.5. 服务跟..............4.4.... 7.1.6. 7.1.6.1............14..... 7.1.7.................46.. 8. .........4... 8.1.1. Nefy .................. 8.1.2. 8.1.2.1. 多路复............1..... 8.1.2.1. 异步.................... 8.12.2. .零荐于..D......外..........149.. 8.1.2.3. 内存池(基于内存池的缓冲区重用机制).... 8.1.2.......t............. Reacto....模................... Reaccto......模.................... Page8 of 283 主从Reactor多线程模型...... 8.1.2.6. 小包封大包,防止网络阻塞....... 软中断Hash值和CPU绑.... 8.1.3.2. . 关.............. 8.133. 核心................. 息数格据结.构..口.你+方.名+参参数类型和参数值.+.超时时间.+.rqust......153 8.1.3..1.通迅过程........ 核心.........................................1.54 通讯...............................................154. requestlD.生成-_AtomicLong ...... -....................................54.. 存放回..............-...........154... synchr........回.... ..x......w.........154. 监听.消.息..................锁.并.唤.醒................................155 8.1.4 RM 显..............5.... 8.1.4......................................15.. 8.1.5. Prooe..........-... 8.1.5.1......................5... 8.1.6. Th值rif.....................5... 9. _吗.......... 9.1.1. 9.1.2. 9.1.2.1....... .w....-.y..........-160. 9.1.2.2. 网络层(lnternet Layer)..... 9.1.2......不下.-.---.........-16. 9.1.2.4........-.......-16... 9.13 TCP ...........1 9.13.2. 三次握.............................. 9.1.3..........种6. 9.1.4. 9.1.4.1..........164... 1:.............6..... 2: 封.............”... 3: 封装成TCP包并建立连接..... 4:客..............5.. 6: 服...-........ 9.1.4.2..................5. 9.1.4.3. -...............................1. 证书......... 数.加密和.... 9.1.5......................6.... 9.1.5.2......................16.. 10. 日.志....................................... 10.1.1. 10.1.2. 10.13.1. Logback优点.. Page 9of 283 11. 之Zo.......................................1.1 11.1.1. 11.1.1.. Zookeeper角色..... 11.1.1.1. Leade..... 11.1.1.2. Follower...... .......171.. 11.1.1.3. 11.1.1.1. 事务编号.......数...........1.2.... Zab协.....一.复式.......模........-1. ZA. ...............................................172 Leader.......阶.....-..-.......-1.-.. Discovery(发现阶段-接受提议、生成epoch、接受epoch) Synchronization(同步阶段-同步follower 副本)...... Broadcast(广播阶段-leader 消息广播).... ..........7... ZAB协议. .AVA实现. .FI..发现阶段和.步合并为R.eRecOvery. 中hase.(.恢复阶段).....173 11.1.1... 投机...... 11.1.2. Zooke................4. 11.1.3. Znode有四种形式的目录节点.... 12. 医我F........ 12.1.2.. Kafka数据存储设计.... 12.1.2.1 partitio....... sJy.. ......-1.5. 12.1.2.2. 数据文件分段segment(顺序读写、分段命令、二分查找) 12.1.2.3. 数据文件索引(分段索引、稀疏存储) 12.1...产者设计........ ............ 12.1.3.1. 负载均衡(partition会均衡分布到不同broker上) )............ 12.1.3.2. 批量发送.... 12.1.3.3. 压缩(GZIP或Snappy) ................................. 12.1.1..消费者设计...... 12.1.1.......-....................-1.-... 13. RABB............................. 13.1.1.......... 13.1.2 13.1.2.1. Message....... 13.1.2.2. Publisher.... 13.1.2.3. Exchang.消息路由给队列)...... 13.1.2.4. Binding(消息队列和交换器之间的关联) .................8.. 13.1.2.5. oueu...... 13.1.2.6. Conne...................... 13.1.2.7. 13.1.2.8. Consumer........ 13.1.2.9. 13.1.2.100. Broker.... 13.1.3... Exchange. .类....... ...................... 13.13.1. Direct键(routing key)分布: 13.13.2. Fanout(广播分发) 13.1.3.3. topic交换器(模式匹配) Page 10 of 283

资源预览图

Java核心技术文档(238页)-【千锋教育】程序设计基础学习笔记
1
Java核心技术文档(238页)-【千锋教育】程序设计基础学习笔记
2
Java核心技术文档(238页)-【千锋教育】程序设计基础学习笔记
3
Java核心技术文档(238页)-【千锋教育】程序设计基础学习笔记
4
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。