Java学习路线
2018-06-12 18:32:34 0 举报
AI智能生成
java学习路线有兴趣的可以加微信 careme900123
作者其他创作
大纲/内容
团队协作
开发工具
文本编辑器
EditPlus
Notepad++
Sublime Text
IDE
IntelliJ Idea
MyBatis插件(三剑客)
mybatis-generator
mybatis-plugin
mybatis-pagehelper
Eclipse
前端调试
FireBug(FireFox插件)
restlet client(Google Chrome Extension)
版本构建
Ant
Gradle
Maven
安装与配置
Maven工程目录结构
pom.xml文件配置
Maven命令
清理clean
编译build
运行测试用例Test
发布install
打包package
Maven仓库
本地资源库
中央仓库
远程仓库
Nexus私服
Nexus服务搭建
Nexus仓库管理
Nexus使用、上传、配置
IDE集成Maven
自动化部署
代码管理
SVN
GIT
码云
GitHub
Jenkins
Jenkins服务搭建
Jenkins持续集成
Sonar
静态代码检查
代码走查
思维导图工具
本地
XMind
在线
ProcessOn
幕布
百度脑图
流程图
Viso
ProcessOn
UML
Enterprise Architect(EA)
PowerDesigner
StarUML
数据库建模
PowerDesigner
Open System Architec
在线文档
石墨
算法
JavaSE
Java基础知识
Java语法基础
数据类型
8种基本数据类型
数值型
整型
byte
short
int
long
浮点类型
float
double
char类型
boolean类型
类型转换
自动拆装箱
变量
常量
变量初始化
枚举类型Enum
字符串String
数组
保留字和关键字
标识符
运算符
算术运算符
关系运算符
赋值运算符
位运算符
移位运算符
流程控制
顺序结构
选择结构
循环结构
面向对象基础
三大特性
封装
继承
类、超类、子类
对象包装器与自动装箱
多态
类与对象
静态
静态域
静态方法
静态常量
构造函数
包
类的导入
静态导入
包的作用域
内部类
局部内部类
静态内部类
接口
接口的特性
接口与抽象类
对象克隆
接口与回调
JavaSE高级
异常
Throwable
Error
VirtualMachineError
OutOfMemoryError
StackOverFlowError
其他虚拟机相关错误
Exception
RuntimeExeption
unchecked exceptions 其他,如IOException
多线程
认识线程
线程的定义
线程的分类
用户线程
守护线程
线程的优先级
线程内存模型
创建线程
继承Thread类,重写run方法
实现Runnable接口,重写run方法
实现Callable接口,重写call方法
异步计算结果Future/FutureTask
线程组
匿名内部类实现
线程终止
线程状态
Thread类
对象方法
启动start()
中断interrupt()
等待该线程终止join()
将该线程标记为守护线程或用户线程setDaemon(boolean on)
更改线程的优先级setPriority(int newPriority)
静态方法
返回对当前正在执行的线程对象的引用currentThread()
线程休眠sleep(long millis)
暂停当前正在执行的线程对象,并执行其他线程yield()
线程同步
synchronized
可见性
原子性(互斥性)
可重入性
volatile
不保证原子性
可见性
有序性
显示锁Lock
ReentrantLock
公平锁与非公平锁
获取锁lock()
解锁unlock()
尝试获取锁tryLock()
tryLock(long timeout, TimeUnit unit)
ReentrantReadWriteLock
公平锁与非公平锁
返回用于读取操作的锁(共享锁)readLock()
返回用于写入操作的锁(独占锁)writeLock()
读读共享、读写互斥、写读互斥、写写互斥
并发编程工具类
闭锁CountDownLatch
计数器减1 countDown()
阻塞等待至计数器为0 await()
await(long timeout,
TimeUnit unit)
TimeUnit unit)
关卡CyclicBarrier
阻塞互相待await()
await(long timeout,
TimeUnit unit)
TimeUnit unit)
信号量Semaphore
公平策略与非公平策略
从此信号量阻塞地获取一个许可 acquire()
释放一个许可,将其返回给信号量 release()
AQS
乐观锁和悲观锁
乐观锁
CAS
线程通信
基于共享内存通信
管道
ThreadLocal
重写initialValue解决空指针问题
wait() 与 notify/notifyAll()
显示锁Lock的Condition通信
join
线程异常捕获
UncaughtExceptionHandler
线程组重载UncaughtException
线程池
线程池定义
线程池的组成
线程池管理器
工作线程
任务接口
任务队列
concurrent包
Executors框架
Executors.newSingleThreadExecutor()
Executors.newCachedThreadPool()
Executors.newFixedThreadPool()
Executors.newScheduledThreadPool()
Executors.newSingleThreadScheduledExecutor()
Executor
ExecutorService接口
ScheduledExecutorService接口
ScheduledThreadPoolExecutor
ThreadPoolExecutor
原子类(CAS)
基本类型
AtomicBoolean
AtomicInteger
AtomicLong
引用类型
AtomicReference
AtomicMarkableReference
AtomicStampedReference
数组类型
AtomicIntegerArray
AtomicLongArray
AtomicReferenceArray
属性原子更新类型
AtomicIntegerFieldUpdater
AtomicLongFieldUpdater
AtomicReferenceFieldUpdater
IO
IO体系结构
NIO
File
集合框架
体系结构
安全队列
源码解析
LinkedList
ArrayList
HashMap
集合框架工具类
Collections
Arrays
网络编程
TCP
UDP
Socket
其他主题
反射
反射机制
序列化
基本概念
泛型
比较器
内省IntroSpector
正则
GUI图形用户界面
AWT
Swing
事件监听机制
设计模式
代理模式
单例模式
七种单例实现
工厂模式
委派模式
策略模式
原型模式
模板模式
观察者模式
编码规范
JavaEE-JavaWeb
JavaWeb前端
HTML
CSS
JavaScript
jQuery
JavaWeb基础
XML及其解析
DOM
SAX
jdom
dom4j
XStream
Servlet
HTTP协议
session与cookie
Tomcat
tomcat环境搭建
tomcat服务器配置
JavaWeb进阶
jsp语法
表达式语言
EL表达式
JSTL表达式
编码
JavaBean
自定义标签
异常处理
国际化
MVC三层架构
JavaWeb高级
监听器Listener
过滤器Filter
文件上传与下载
ajax操作
Java邮件服务JavaMail
Java事务管理JTA
Java命名和目录服务JNDI
JavaWeb-JDBC技术
MYSQL数据库
Navicat for MySQL
增删改查操作
JDBC原理与常用API
Connection
Statement
PreparedStatement
ResultSet
JDBC事务管理
JDBC分页
pager-lib
数据库连接池
c3p0
dbcp
druid
编写自己的JDBC框架
JAVA EE高级技术
RPC(跨语言)
RMI(JAVA)
JMX
WebService
利用JDK web服务api实现
xfire框架
axis1.4
JavaEE-主流框架
Spring
Spring入门
SpringFrameWork体系
环境搭建
Spring容器
IOC容器设计原理及高级特性
装配bean的方式
XML
注解
JavaConfig
属性编辑器
Spring 2与Spring 4配置区别
BeanFactory与FactoryBean
BeanDefinition源码
bean加载流程
bean的生命周期
Spring AOP
面向切面基础
AOP的基石动态代理
Spring 对AOP的支持
注解
XML
AOP源码分析
ProxyFactory源码分析
AopProxy源码分析
JdkDynamicAopProxy
CglibAopProxy
拦截与织入
Advice源码分析
Interceptor源码分析
Trransaction事务分析
事务管理
编程式事务管理
声明式事务管理
注解式事务管理
源码分析
Spring Cache框架源码分析
SpringMVC
映射请求注解
@RequestMapping
Spring MVC九大组件
手写Spring MVC
请求处理方法签名
@RequestParam 绑定请求参数值
@RequestHeader 绑定请求报头的属性值
映射 URL 绑定的占位符
@PathVariable
模型数据处理
@ ModelAndView
Map 及 Model
@SessionAttributes
@ModelAttribute
自定义类型转换器
mvc:annotation-driven
数据格式化
@DateTimeFormat 日期格式化
@NumberFormat 数值格式化
数据校验
JSR303注解校验
i18n消息国际化
文件上传
拦截器的使用
异常处理
Restful风格接口设计
Mybatis
入门
关联查询、嵌套查询
sqlMapConfig配置文件
输入映射
POJO类
基本类型
Map
List
输出映射
restltType
resultMap
高级映射
多表查询
缓存
一级缓存
二级缓存
MyBatis事务
分页
代码生成 mybatis generator
Hibernate
入门
映射配置
xml配置方式
注解配置
HQL查询
Query
Criteria
Configuration
配置并启动Hibernate
SessionFactory
初始化Hibernate
Session
持久化对象的CRUD操作
Transaction
事务管理
分页
Struts2
Struts2框架入门
动作Action
action配置
action调用
action类型转换
action请求参数处理
result结果类型
国际化
拦截器-Interceptors
原理
配置与使用
触发器
值栈valueStack/OGNL
结果/结果类型
视图技术
Struts2标签库
Struts2+Spring+Hibernate整合
Spring+SpringMVC+Mybatis整合
JavaEE-其他框架技术
Oracle数据库
SQL
触发器
数据字典
Java调用存储过程
分布式数据
Mongdb
非关系型数据库
数据库存储于交互
数据备份与安全控制
mongdb集群
分布式存储
Bootstrap框架
Jquery Easy UI框架
Apache Shiro技术
BRAC认证模型
Apache poi数据导入导出
报表技术
JFreeChart报表
HighCharts报表
ECharts报表
Lucene 和Solr
Redis
Memcached
页面缓存Oscache
quartz任务引擎
Freemarker模板引擎
LVS+Tomcat集群的配置
分布式架构
分布式架构思维
大型互联网架构演变
大型网站架构技术一览
架构师应具备的分布式知识
主流分布式架构设计
架构开发基础
并发编程
线程基础
原子操作类和CAS
Lock、Condition和显式锁
AbstractQueuedSychronizer分析
并发工具类和并发容器
线程池和Executor框架
实现原理和Java内存模型
线程安全
高性能NIO框架
Netty应用
Netty源码解读
架构核心层服务技术
服务的前世今生
基于框架的RPC技术
RMI
WebService
Hessian
深入理解通讯协议
TCP
UDP
HTTP
基于分布式思想的RPC解决方案
Dubbo全解析
Dubbo入门
Dubbo管理中心及监控系统安装部署
领域驱动之如何正确地划分Dubbo分布式服务
Dubbo负载均衡机制分析
如何完成Dubbo服务只订阅和只注册模式
架构师必备技术之如何设计Dubbo服务接口
Dubbo设计原理及源码分析
Dubbo容错机制及高扩展分析
Dubbo服务与Docker虚拟化技术集成实战
架构关键基础设施
分布式环境指挥官ZooKeeper
ZooKeeper基础
ZooKeeper入门
数据节点
会话
节点属性
节点类型
版本
监听器机制
安全权限
单机部署
ZooKeeper命令
ZooKeeper开发基础
原生客户端
ZooKeeper client
Curotor客户端
ZooKeeper进阶
ZooKeeper集群
ZooKeeper集群安装
客户端连接ZooKeeper集群及原理
ZooKeeper注意事项
ZooKeeper使用举例
配置中心
分布式锁
集群选举
命名服务
分布式消息服务框架
ActiveMq
消息中间件ActiveMq、RabbitMq、Kafka比较
软件下载安装
P2P、PUB/SUB模型详解
消息确认及重发机制
企业级高可用集群部署方案
ActiveMq基于Spring完成分布式消息队列实战
RabbitMq
RabbitMq及高可用集群部署
RabbitMq消息分发机制及主题消息分发
RabbitMq消息路由机制分析
RabbitMq消息确认机制分析
RabbitMq基于Spring完成分布式消息队列实战
集群化与镜像队列
Kafka
基于ZooKeeper搭建高可用集群
Kafka消息处理过程解析
基于Java语言实现Kafka生产者与消费者实例
Kafka副本机制及选举原理窥探
使用Kafka实现日志实时上报统计分析实战
RocketMq
ZeroMQ
分布式缓存框架 NoSQL
Redis
Redis入门及介绍
Redis主从模式
一主一从
一主多从,树形主从
Redis常用命令及应用场景
Redis客户端
Jedis
Jedispool
JedisCluster
JedisCluster+SpringMVC
手写Jedis实战
Redis持久化
RDB
AOF
数据恢复与转移实战
哨兵
选举原理
主观下线
客观下线
Java与哨兵如何工作
搭建Spring与Redis哨兵模式集成实战
高可用集群
槽的介绍
键槽关系
分布式存储
重定向
搭建Redis高可用集群
动态扩容、缩减集群节点实战
原子性
Lua语言结合开发
弱事务体现
multi、watch、discard、exec
Redis与Lua模拟抢红包实战
应用场景代码开发与设计分析实战
分布式锁
Session共享实战
Memcached
概述
Memcache特点
与Redis区别
安装配置
开发基础
安装客户端
Java客户端
集群搭建
缓存开发专题
缓存雪崩
缓存粒度控制
缓存击穿
缓存热点KEY重建优化
缓存同步
Spring-Cache开发
MongoDB
MongoDB入门
NoSQL与SQL使用场景分析
基本概念
数据库
集合
索引
文档
MongoDB进阶
常用命令
快速入门
客户端驱动
增删改查与聚合
安全控制
MongoDB高级知识
存储引擎
索引
高可用
最佳实践与注意事项
Ehcache
Cacheonix
数据存储
MySQL
MySQL主从复制、读写分离高可用方案实战
MySQL+Keepalived实现双主高可用方案实战
MySQL实现分库分表高性能解决方案实战
MyCat
MyCat简介及用途
基于MyCat实现MySQL读写分离实战
基于MyCat实现数据库切分实战
全局表、ER表、分片机制分析
高并发分流技术Nginx
Ngix模块简介
Nginx工作原理及安装配置
Nginx常用命令管理及升级
Nginx配置文件解析
线上Nginx多站点配置
Nginx配置优化及深入剖析
Nginx rewrite规则剖析
Nginx日志分析及脚本
Nginx日志切割案例
Nginx防盗链案例
Nginx日常运维及故障解决
Nginx构建案例Https架构实战
企业实战Nginx+Tomcat动静分离架构实战
Nginx+Keepalived集群架构实战
Nginx+Keepalived双主架构实战
分布式文件存储 fastdfs
文件存储
文件同步
文件查询
分布式部署实战
分布式常见应用场景解决方案
分布式主键生成方案
Session跨域共享实战
分布式事务解决方案实战
分布式锁解决方案实战
分布式单点登陆SSO实战
分布式调度任务系统
分布式配置中心
软负载均衡
Apache
Nginx
LVS
Squid
大数据
Hadoop
Hbase
Zookeeper
分布式计算
MapReduce
Storm
Spark
微服务
Spring Boot
Spring Cloud
Docker虚拟化
漫谈微服务架构
SOA与微服务
性能优化
理解性能优化
性能的衡量标准
性能优化是什么
性能优化的后果
JVM调优
JVM执行子系统
类文件结构
类加载机制
类加载过程
双亲委派模型
字节码执行引擎
内存模型
JVM性能故障监控与处理工具
JVM内存管理机制
内存区域
堆
方法区
虚拟机栈
本地方法栈
程序计数器
垃圾回收与内存分配策略
垃圾回收算法与基础
串行收集器
并行收集器
内存分配与回收策略
程序编译与代码优化
编译期优化
运行期优化
Java程序性能优化
优雅地创建对象
注意对象的通用方法
类的设计陷阱
泛型注意事项
Java方法的坑
程序设计通用原则
Tomcat调优
Tomcat线程模型分析
Tomcat生产环境配置
Tomcat运行机制及框架
Tomcat针对并发优化
Tomcat针对内存优化
MySQL调优
探析BTree机制
执行计划深入分析
MySQL索引优化
慢查询分析与SQL优化
0 条评论
下一页