一、基础篇
JVM
JVM内存结构
堆、栈、方法区、直接内存、堆和栈区别
Java内存模型
内存可见性、重排序、顺序一致性、volatile、锁、final
垃圾回收
内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定
JVM参数及调优
Java对象模型
oop-klass、对象头
HotSpot
即时编译器、编译优化
类加载机制
classLoader、类加载过程、双亲委派(破坏双亲委派)、模块化(jboss modules、osgi、jigsaw)
虚拟机性能监控与故障处理工具
jps, jstack, jmap、jstat, jconsole, jinfo, jhat, javap, btrace、TProfiler
编译与反编译
javac 、javap 、jad 、CRF
Java基础知识
阅读源代码
String、Integer、Long、Enum、BigDecimal、ThreadLocal、ClassLoader & URLClassLoader、ArrayList & LinkedList、 HashMap & LinkedHashMap & TreeMap & CouncurrentHashMap、HashSet & LinkedHashSet & TreeSet
Java中各种变量类型
熟悉 Java String 的使用,熟悉 String 的各种函数
JDK 6 和 JDK 7 中 substring 的原理及区别、
replaceFirst、replaceAll、replace区别、
String 对“+” 的重载、
String.valueOf 和 Integer.toString 的区别
1.
toString可以重写。
自动拆装箱
字符串的不可变性
Integer的缓存机制
transient、instanceof、volatile、synchronized、final、static、const 原理及用法。
熟悉Java中各种关键字
集合类
常用集合类的使用、ArrayList 和 LinkedList 和 Vector 的区别 、SynchronizedList 和Vector的区别、HashMap、HashTable、ConcurrentHashMap 区别、Java 8 中 stream相关用法、apache 集合处理工具类的使用、不同版本的 JDK 中 HashMap 的实现的区别以及原因
枚举
枚举的用法、枚举与单例、Enum 类
Java IO&Java NIO,并学会使用
bio、nio 和 aio 的区别、三种 IO 的用法与原理、netty
Java反射与javassist
反射与工厂模式、 java.lang.reflect.*
Java序列化
什么是序列化与反序列化、为什么序列化、序列化底层原理、序列化与单例模式、protobuf、为什么说序列化并不安全
注解
元注解、自定义注解、Java 中常用注解使用、注解与反射的结合
JMS
什么是 Java 消息服务、JMS 消息传送模型
JMX
框架
•
ssh
•
spring
•
springMVC
•
MyBatis
•
Hibernate
•
springCloud
•
J2EE
•
SpringBoot
•
velocity
•
Maven
•
SSM
•
Struts2
数据库
•
NoSQL
•
MySQL
•
MongoDB
•
HBase
•
DB2
•
性能调优
•
大数据量应用开发经验
服务器
•
Tomcat
•
Wwblogic
•
Jboss
•
Nginx
中间件
•
Redis
•
Kafka
•
RabbitMQ
版本管理
•
Git
•
Subrersion
•
Maven
•
JIRA
•
confluence
shell
大数据
•
Hadoop
•
MaplReduce
•
Hire
•
Hbase
•
HDPS
其它
•
多线程
•
多种锁机制
•
并发
•
JVM
评论区