一、基础
- 基本语法
- 基本数据类型;运算符;表达式;选择与循环语句;
- 类与对象(普通类、抽象类、接口、枚举、Annotation、内部类);
- 继承与实现;重载与覆盖;异常;package与jar包;
- 序列化与反序列化;正则表达式;
- 数组 —— 一维数组;二维数组。。。
- 集合 —— Collection接口;Set相关;List相关;Map相关
- 线程 —— Thread;Runnable;Callable;线程状态;优先级;
- IO
File类;字节流(InputStream、OutputStream);字符流(Reader、Writer);
转换流(OutputStreamWriter、InputStreamReader);压缩流; - 网络 —— TCP编程;UDP编程
- 泛型
- 反射 —— 提供api方法取得类的结构;调用类的方法;动态代理
源码分析
- List
- Map
- HashMap
- LinkedHashMap
- ConcurrentHashMap(上)
- ConcurrentHashMap(下)
- ConcurrentHashMap,Java 7为实现并行访问,引入了Segment这一结构,实现了分段锁,理论上最大并发度与Segment个数相等。Java 8为进一步提高并发性,摒弃了分段锁的方案,而是直接使用一个大的数组。同时为了提高哈希碰撞下的寻址性能,Java 8在链表长度超过一定阈值(8)时将链表(寻址时间复杂度为O(N))转换为红黑树(寻址时间复杂度为O(long(N))),原文链接
二、进阶
- Java关键字
- 正则表达式
- 常见锁
- 常用Java类库
- java的System.getProperty()方法使用
- Java8函数编程(lambda表达式)
- Java的线程状态
- ThreadLocal原理机制
- HashMap的扩容机制
- Exception
- IO类型
- 各种坑
NIO
多线程
java并发包
示例
netty
三、JVM虚拟机
- 内存模型
- 类加载
- GC垃圾回收
- 强引用、软引用、弱引用、幻象引用
JVM 调优
- jvm参数
- jvm自带命令
- 如何优化Java GC
- 大型跨境电商 JVM 调优经历
- Jvm知识汇总
- 海量连接服务端jvm参数调优杂记
JVM 调优工具
- XXFox
四、前沿
五、其它
- 随机数生成 — NativePRNGNonBlocking
- 随机token 生成代码
- HashMap扩容、散列碰撞
- 一台Java服务器跑多少个线程
- 【死磕Java并发】—- 深入分析CAS
- 深入探索 Java 热部署
- signal 信号
- jvm与系统信号(2)
- kill 命令详解 系统信号
- Linux系统下如何优雅地关闭Java进程方法
- signal信号捕捉
- drools-demo 代码示例,java工程优雅关闭(kill pid , 默认信号 15)