导图社区 java学习重点笔试面试考点
看完多套面试题,请教多位找工作的朋友,请教猎头,整理出的java学习重点,现在市场就是高工资高要求,基础很重要。
编辑于2019-08-28 04:01:27java学习重点
基础知识
数据结构
树
B+树
红黑树
链表
栈和队列
算法
排序算法
查找算法
KMP算法
深度优先和广度优先算法
集合容器
Map
HashMap
利用哈希算法根据hashCode()配置存储地址
Hashtable
LinkedHashMap
TreeMap
基于红黑树的NavigableMap 实现
SortedMap接口
键的总体排序 的 Map
ConcurrentHashMap
Collection
Set
HashSet
LinkedHashSet
TreeSet
List
ArrayList
Vector
LinkedList
Queue
PriorityQueue
数据传输流
IO
流式
字节流
InputStream
OutputStream
字符流
Writer
Reader
非流式
file
其他
SerializablePermission
FileSystem
NIO
Channel双向通道
Buffer缓冲
Selector选择器
多路复用
数据库
隔离级别
Read Uncommited读未提交
Read Committed读已提交
Repeatable Read可重复读
Serialization串行化
MYSQL存储引擎
索引
InnoDB索引
MyISAM索引
红黑树/B-Tree
锁
乐观锁
悲观锁
排它锁
sql语句
drop,delete与truncate
join/left join/right join/full join/ full outer join
show
存储过程
触发器
JVM
内存模型JMM
垃圾回收算法
GC
内存泄露和内存溢出
双亲委派模型
参数设置
基本参数
-Xms初始堆大小
-Xmx最大堆大小
-Xmn年轻代大小
Xss每个线程的堆栈大小
-XX:NewRatio年轻代与年老代的比值
-XX:SurvivorRatio为Eden区与Survivor区的大小比值
CMS参数
回收器选择
串行收集器
并行收集器(吞吐量)
并发收集器(响应速度)
并发编程
进程
独立性
动态性
并发性
线程Thread
JMM内存模型
顺序一致性
生命周期
新建
就绪
运行
阻塞
阻塞队列
死亡
线程池
四种线程池
newSingleThreadExecutor单线程线程池
newCachedThreadPool可缓存线程池
newFixedThreadPool定长线程池
newScheduledThreadPool大小无限线程池
ThreadPoolExecutor
timer定时器
ScheduledThreadPoolExecutor任务调度器
并发关键字
volatile变量
作用
原理
内存语义
synchronized
monitor机制
内存含义
锁升级
final
使用
重排序规则
并发容器
ConcurrentHashMap
ConcurrentLinkedQueue
CopyOnWriteArrayList
ConcurrentSkipListMap
ThreadLoclMap
ThreadLocal
原子操作
加锁
CAS
锁
死锁
锁优化
分布式架构
架构演变
单应用架构
数服分离
应用服务器集群
数据库读写分离
搜索引擎
缓存机制
数据拆分
应用拆分
Zookeeper分布式服务框架
功能
配置管理
命名服务
分布式锁
集群管理
队列管理
文件系统
znode
PERSISTENT-持久化目录节点
PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点
EPHEMERAL-临时目录节点
EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点
监听通知机制
中间件
消息中间件
RocketMQ
Kafka
RabbitMQ
ActiveMQ
缓存redis
持久化
RDB
AOF
主从复制
数据存储
MongoDB分布式文件存储数据库
MyCat数据库中间件
Nginx轻量级高并发服务器
正向代理
反向代理
tomcat集群
负载均衡
weight轮询
ip_hash
Netty异步事件驱动的NIO框架
应用领域
RPC 框架(Dubbo 协议)
游戏
大数据(Hadoop)
特点
单线程串行化
统一 API 阻塞和非阻塞 Socket
微服务架构
优势
低复杂度
可独立部署
容错
扩展
Dubbo
Spring Cloud
性能优化
JVM调优
工具
jstack
jhat
JMC
参数
Mysql调优
索引优化
索引最左原则,like右匹配,or
sql语句优化
插入拼接
存储过程
Tomcat调优
工作原理
启动main方法
监听端口
处理请求
返回结果jsp/html,json/xml
线程模型
BIO阻塞式IO(7以下默认)
NIO同步非阻塞(8以上默认)
APR(操作系统级别解决异步IO)
AIO异步非阻塞
性能检测
VisualVM
日志获取客户端IP
LambdaProbe
JProfiler
优化
容器(server.xml)
启动行参数(catalin)
开发框架
Spring
IOC控制权反转
@Autowired
context
bean
AOP面向切面编程
事务处理
原子性
一致性
隔离性
持续性
注解配置事务
传播属性
隔离级别
回滚策略
超时时间
是否只读
扩展接口
BeanFactoryPostProcessor后置处理器
BeanDefinitionRegistryPostProcessor自定义bean
BeanPostProcessor在bean初始化前后插逻辑
ApplicationContextAware动态获取bean
InitializingBean在bean初始化完成执行
DisposableBean在bean被销毁前执行
ApplicationListener监听应用事件
Spring MVC
Spring Boot
Spring Data
设计模式
单例模式
懒汉
饿汉
代理模式
工厂模式
开发思想
数据层
数据存储
关系型数据库
主从库Mycat
非关系型数据库
Redis
分布式数据库
数据访问
ORM对象关系映射
mybatis
事务
隔离级别
一级缓存
二级缓存
Hibernate
DAO层
Dao
逻辑层
Service
控制层
Controller
表示层
servlet
HttpServletRequest
HttpServletResponse
Model
forward()
redirect()
jsp
EL
JSTL
js
dom操作
ajax
html
Request、Response
get、post
css
选择器
标签选择器
类选择器.
id选择器#
伪类选择器
样式
字体
文本
边框
背景
列表样式
a标签
开发方法
面向过程
回调
面向对象
封装
抽象
继承
多态
数学与逻辑思维
《不讲逻辑的世界里的逻辑艺术》
概念
论证
《编程之美》
《Java编程思想》