Skip to content

Commit c615041

Browse files
committed
为JDK文章添加目录
1 parent ef23d84 commit c615041

4 files changed

+67
-5
lines changed

note/JDK/一篇文章快速深入学习ThreadLocal.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
<!-- TOC -->
2+
- [前言](#前言)
3+
- [正文](#正文)
4+
- [1. 适用(使用)场景](#1-适用使用场景)
5+
- [1.1 线程资源持有(线程隔离)](#11-线程资源持有线程隔离)
6+
- [1.2 线程资源一致性](#12-线程资源一致性)
7+
- [1.3 线程安全](#13-线程安全)
8+
- [1.4 分布式计算](#14-分布式计算)
9+
- [1.5 在SqlSessionManager中的应用](#15-在sqlsessionmanager中的应用)
10+
- [1.6 在Spring框架中的TransactionContextHolder中的应用](#16-在spring框架中的transactioncontextholder中的应用)
11+
- [2. 源码学习](#2-源码学习)
12+
- [2.1 ThreadLocal内部使用了哪些数据结构?](#21-threadlocal内部使用了哪些数据结构)
13+
- [2.2 源码分析](#22-源码分析)
14+
- [3. 总结](#3-总结)
15+
- [3.1 ThreadLocal的适用场景](#31-threadlocal的适用场景)
16+
- [3.2 哪些开源框架、源码使用到了ThreadLocal](#32-哪些开源框架源码使用到了threadlocal)
17+
- [3.3 关于内存泄漏](#33-关于内存泄漏)
18+
- [3.4 其他](#34-其他)
19+
- [引用](#引用)<!-- /TOC -->
20+
121
## 前言
222
最近开始空闲起来了,深入学习系列以及自我提升系列都得提上日程了。本次学习的ThreadLocal,是由JDK提供的一个用于存储每个线程本地副本信息的类,它的编写者就是著名的并发包大神Doug Lea。要想深入学习一个类,首先得先阅读它的官方类注释:
323

note/JDK/深入学习String源码与底层(一).md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
1+
<!-- TOC -->
2+
- [前言](#前言)
3+
- [正文](#正文)
4+
- [1 基础](#1-基础)
5+
- [1.1 String的修饰符与实现类](#11-string的修饰符与实现类)
6+
- [1.2 String类的成员变量](#12-string类的成员变量)
7+
- [1.2.1 String是通过char数组来保存字符串的](#121-string是通过char数组来保存字符串的)
8+
- [1.2.2 String类的属性hash](#122-string类的属性hash)
9+
- [1.2.3 serialVersionUID属性作为String类的序列化ID](#123-serialversionuid属性作为string类的序列化id)
10+
- [1.2.4 serialPersistentFields属性](#124-serialpersistentfields属性)
11+
- [1.3 创建String对象](#13-创建string对象)
12+
- [1.4 String被设计为不可变性的原因](#14-string被设计为不可变性的原因)
13+
- [2 深入String](#2-深入string)
14+
- [2.1 先了解一下JAVA内存区域](#21-先了解一下java内存区域)
15+
- [2.2 String与JAVA内存区域](#22-string与java内存区域)
16+
- [2.3 String的intern方法](#23-string的intern方法)
17+
- [2.3.1 重新理解使用new和字面量创建字符串的两种方式](#231-重新理解使用new和字面量创建字符串的两种方式)
18+
- [2.3.2 解析](#232-解析)
19+
<!-- /TOC -->
20+
121
## 前言
222

323
不想成为一个只会使用API的攻城狮,也不甘于现状想深入学习JDK。

note/JDK/深入学习String源码与底层(二).md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
<!-- TOC -->
2+
- [前言](#前言)
3+
[正文](#正文)
4+
- [1. String的equals方法](#1-string的equals方法)
5+
- [2. String的hashcode方法](#2-string的hashcode方法)
6+
- [3. String的hashcode()和equals()](#3-string的hashcode和equals)
7+
- [4. String的compareTo()方法](#4-string的compareto方法)
8+
- [5. String的startWith(String prefix)方法](#5-string的startwithstring-prefix方法)
9+
- [6. String的endsWith(String suffix)方法](#6-string的endswithstring-suffix方法)
10+
- [7. String的indexOf(int ch)方法](#7-string的indexofint-ch方法)
11+
- [8. String的split(String regex, int limit)方法](#8-string的splitstring-regex-int-limit方法)
12+
- [8.1 源码分析1](#81-源码分析1)
13+
- [8.2 源码分析2](#82-源码分析2)
14+
- [总结](#总结)
15+
<!-- /TOC -->
16+
117
## 前言
218

319
不想成为一个只会使用API的攻城狮,也不甘于现状想深入学习JDK源码。

note/JDK/深入解读CompletableFuture源码与原理.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
<!-- TOC -->
2+
- [1 前言](#1-前言)
3+
- [2 正文](#2-正文)
4+
- [2.1 JDK官方文档解释](#21-jdk官方文档解释)
5+
- [2.2 使用下CompletableFuture的API](#22-使用下completablefuture的api)
6+
- [2.3 源码分析](#23-源码分析)
7+
- [Completion](#completion)
8+
- [CompletionStage](#completionstage)
9+
- [总结](#总结)
10+
<!-- /TOC -->
11+
112
## 1 前言
213
最近在看公司源码,发现有些服务大量使用到了CompletableFuture,学了这么久Java,对这个类还是挺陌生的,实在惭愧。于是利用了业余时间认真学习并总结了下CompletableFuture的特性以及用法。
314

@@ -555,11 +566,6 @@ main线程会在asyncSupplyStage()方法中返回d,就是我们的“依赖任
555566
3. CompletableFuture中有“源任务”和“依赖任务”,“源任务”的完成能够触发“依赖任务”的执行,这里的完成可以是返回正常结果或者是异常。
556567
4. CompletableFuture默认使用ForkJoinPool,也可以使用指定线程池来执行任务。
557568

558-
文中的测试用例都在下列源码的JdkLearn模块的test目录下。
559-
560-
> 源码地址:https://github.com/coderbruis/JavaSourceLearning
561-
562-
563569

564570
参考文档:
565571
- 《JDK8官方文档》

0 commit comments

Comments
 (0)