Java简单思维导图 Java集合:List, Map, Tree多线程:工具,锁IO:BIO,NIO,AIO,Netty 设计模式单例,简单工程,工厂,抽象工厂build,装饰,observer,commandcomponent,brighe,facadestate,proxy,adapter,strategy,visitor JVM分区方法区程序计数器虚拟机栈本地方法栈堆新生代老年代 类加载双亲委派:Bootstrap, Ext, Application, UserDefined打破:loadClass()/findClass() GCSerial/SerailOldParNew/ParallelOldParallelScavengeCMSG1 对象引用计数引用计数根搜索算法:虚拟机栈,本地方法栈,方法区 JVM工具jps/jmap/jstack/jinfo/jstatJConsole/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