千寻

道路很长, 开始了就别停下!

0%

Java知识汇总

一、基础

  • 基本语法
    • 基本数据类型;运算符;表达式;选择与循环语句;
    • 类与对象(普通类、抽象类、接口、枚举、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))),原文链接

二、进阶

NIO

多线程

java并发包

示例

netty

三、JVM虚拟机

四、前沿

五、其它