Java简单思维导图

Java简单思维导图

  • Java
    • 集合:List, Map, Tree
    • 多线程:工具,锁
    • IO:BIO,NIO,AIO,Netty
  • 设计模式
    • 单例,简单工程,工厂,抽象工厂
    • build,装饰,observer,command
    • component,brighe,facade
    • state,proxy,adapter,strategy,visitor
  • JVM
    • 分区
      • 方法区
      • 程序计数器
      • 虚拟机栈
      • 本地方法栈
        • 新生代
        • 老年代
    • 类加载
      • 双亲委派:Bootstrap, Ext, Application, UserDefined
      • 打破:loadClass()/findClass()
    • GC
      • Serial/SerailOld
      • ParNew/ParallelOld
      • ParallelScavenge
      • CMS
      • G1
    • 对象引用计数
      • 引用计数
      • 根搜索算法:虚拟机栈,本地方法栈,方法区
    • JVM工具
      • jps/jmap/jstack/jinfo/jstat
      • JConsole/VisualVM
    • GC分代收集
      • 新生代:复制
      • 老年代:标记-删除,标记-整理
  • 数据结构
    • 数组、链表、hash表、树、队列、跳表、bitmap、堆(大/小)
    • 树:二叉树,红黑树,B/B+树,LSM树
  • 引用
    • 强引用
    • 软引用:内存不够时回收
    • 弱引用:下次GC回收
    • 虚引用:等于没有,主要为了出发GC后得到通知
  • JDK8特性
    • Lambda表达式
    • stream接口
    • function接口
    • 接口支持默认、静态方法(JDK9支持私有方法)
    • 方法引用
    • DateTime接口
    • Optional类
  • Class.forName与ClassLoader.loadClass()异同
    • Class.forName可以实例化
    • ClassLoadd.loadClass()不实例化,可指定ClassLoader

Java

集合:List, Map, Tree

多线程:工具,锁

IO:BIO,NIO,AIO,Netty

设计模式

单例,简单工程,工厂,抽象工厂

build,装饰,observer,command

component,brighe,facade

state,proxy,adapter,strategy,visitor

JVM

分区

方法区

程序计数器

虚拟机栈

本地方法栈

新生代

老年代

类加载

双亲委派:Bootstrap, Ext, Application, UserDefined

打破:loadClass()/findClass()

GC

Serial/SerailOld

ParNew/ParallelOld

ParallelScavenge

CMS

G1

对象引用计数

引用计数

根搜索算法:虚拟机栈,本地方法栈,方法区

JVM工具

jps/jmap/jstack/jinfo/jstat

JConsole/VisualVM

GC分代收集

新生代:复制

老年代:标记-删除,标记-整理

数据结构

数组、链表、hash表、树、队列、跳表、bitmap、堆(大/小)

树:二叉树,红黑树,B/B+树,LSM树

引用

强引用

软引用:内存不够时回收

弱引用:下次GC回收

虚引用:等于没有,主要为了出发GC后得到通知

JDK8特性

Lambda表达式

stream接口

function接口

接口支持默认、静态方法(JDK9支持私有方法)

方法引用

DateTime接口

Optional类

Class.forName与ClassLoader.loadClass()异同

Class.forName可以实例化

ClassLoadd.loadClass()不实例化,可指定ClassLoader

你可能感兴趣的:(Java)