虽然本人作为一名php工程师,也会点前端啥的,但是还是觉得学无止境,语言都是相通的,学习别的语言的解决方案,别的语言的算法都可以提升自己的能力,于是在这里写一个学习目标目录,记录自己学习的每一步。
- 有些下面列举目前为止想要深入,或要学习的部分。
必学
- 网络通信协议()
- 计算机底层知识()
- 代码编译过程()
- 设计模式
- 算法
PHP相关
- Laravel源码
- Swoole编程深入运用
前端相关
- js V8引擎
- Vue源码
- nodejs相关
- 各种解决方案
- 各种优化方案
Java
- Java基础语法
- Java包扩展
1. Java并发编程
- Java内存模型(JMM)
1.1. 线程通信
1.2. 消息传递 - 内存模型
2.1. 重排序
2.2. 顺序一致性
2.3. happens-before
2.4. as-if-serial - synchronized
3.1. 同步、重量级锁
3.2. synchronized原理
3.3. 锁优化
3.3.1. 自旋锁
3.3.2. 轻量级锁
3.3.3. 重量级锁
3.3.4. 偏向锁 - volatile
4.1. volatile实现机制
4.2. 内存语义
4.3. 内存模型 - DCL
5.1. 单例模式
5.2. DCL
5.3. 解决方案 - 并发基础
6.1. AQS
6.1.1. AbstractQueuedSynchronizer同步器
6.1.2. CLH同步队列
6.1.3. 同步状态的获取和释放
6.1.4. 线程阻塞和释放
6.2. CAS
6.2.1. Compare And Swap
6.2.2. 缺陷 - 锁
7.1. ReentrantLock
7.2. ReentrantReadWriteLock
7.3. Condition - 并发工具类
8.1. CyclicBarrier
8.2. CountDownLatch
8.3. Semphore - 并发集合
9.1. ConcurrentHashMap
9.2. ConcurrentLinkedQueue - 原子操作
10.1. 基本类型
10.1.1. AtomicBoolean
10.1.2. AtomicInteger
10.1.3. AtomicLong
10.2. 数组
10.2.1. AtomicIntegerArray
10.2.2. AtomicLongArray
10.2.3. AtomicReferenceArray
10.3. 应用类型
10.3.1. AtomicReference
10.3.2. AtomicReferenceFieldUpdater - 线程池
11.1. Executor
11.2. ThreadPoolExecutor
11.3. Callable和Future
11.4. ScheduleExecutorService - 其他
12.1. ThreadLocal
12.2. Fork/Join