Java学习体系
一、JavaSE
1、Java开发环境搭建
2、Java基础语法
3、Java面向对象
4、异常
5、数组/算法
6、常用类
7、集合/数据结构
8、IO流
9、线程
10、反射机制
11、网络编程
12、注解Annotation
13、MySQL初级
14、JDBC
二、JavaWeb初级
1、HTML/HTML5
2、CSS/CSS3
3、JavaScript
4、jQuery
5、Bootstrap
6、XML+XPath
7、Servlet
8、Jsp
9、EL
10、JSTL
11、Filter
12、Listener
13、Servlet3.0
14、AJAX
15、MVC
16、ThreadLocal
17、Gof之代理模式
18、连接池/C3P0/DBCP/Druid
19、JNDI
20、Gof之工厂模式
21、MySQL高级
22、Oracle
23、PL/SQL
14、SQL优化
25、MyBatis
三、项目实战:
1、UML/Rational Rose/StarUML
2、CDM+PDM/PowerDesigner
3、软件工程
4、开发原则
5、SCM/SVN/Git
6、开发规范
7、log4j/log4j2
8、jsonlib/jackson/Gson
9、Bootstrap相关插件
10、Apache POI
11、Apache Commons FileUpload
12、JUnit4
13、ECharts
14、Comet框架之Pushlets
15、RBAC权限模型
16、zTree
17、FreeMarker/Velocity
四、Java高级框架
1、Spring4
2、SpringMVC
3、SpringBoot
5、Apache Shiro
6、Spring Security
6、开发规范
7、Quartz
8、Struts2
9、Hibernate5
10、JPA
五、互联网架构
1、Maven/Gradle
2、Linux
3、ActiveMQ
4、Nginx
5、Redis/Memcached
6、Dubbo+Zookeeper
7、WebServices/JMS
8、HttpClient
9、微信支付
10、分布式锁
11、接口安全方案
12、分布式文件系统
13、RPC框架hessian
14、Apache Cassandra
15、MongoDB
16、压力测试/jmeter
17、Web服务器优化
18、P2P项目中特有业务
19、MySQL主从复制
20、MyCat分库分表
21、优化意识
22、WebLogic/JBOSS
六、Hadoop体系
1. Hadoop起源与安装
2.HDFS分布式文件系统
3.Hadoop文件I/O详解
4.MapReduce工作原理
5.MapReduce编程开发
6.Hive数据仓库工具
7.Hive深入解读
8.Sqoop与Oozie
9.Zookeeper详解
10.开源数据库HBase
七、Storm实时开发
1. storm简介与基本知识
2.拓扑详解与组件详解
3.spout详解 与bolt详解
4.storm安装与集群搭建
5.Kafka
6.Flume
7.Redis
八、Spark生态体系
1.Scala编程开发
2.Scala深入解析
3.SparKcore编程
4. Sparkcore深入编程
5.SparkSQL
6.深入SparkSQL
7.Spark Streaming
8.SparkGraphX
9.Spark源码导读
10.Spark调优
九、ElasticSearch&Docker
1.ElasticSearch简介
2.查询DSL进阶
3.底层索引控制
4.索引段统计与故障处理
5.ElasticSearch Java API
6、初识容器与Docker
7.核心概念与安装配置
8.Docker镜像使用
9.Docker数据管理
10.Docker与大数据
这些也只是大体的JAVA学习体系,与Java语言相关的知识还有很多。就是工作十多年java开发工程师,也未必能够全部掌握与java相关知识。在实际工作中,也只是用到相关的一些知识,也没有必要全部掌握,有一些了解就行,开发中如果遇到了,查查资料,会使用就行。
所以说,学习贵不在多,而在于精。能成为某一知识体系的专家,也是很了不起的。如:数据库,JVM、大数据等,真正能了解透彻,年薪百万那都是小意思。
下面是一位在阿里做架构师的开发人员,整理出的一份xmind——“Java高级架构师所需技术栈”体系表。
(点击图片可以全屏缩放)
在不同岗位,不同开发阶段,所接触的知识体系也是不一样的。对于初级开发人员来说,打好基础才是最重要的。俗话说,“万丈高楼平地起” ,再高的大楼都要从平地修建起,要把基础打牢。 做好眼前的事,在工作中慢慢提交自己的开发技能,拓宽知识面,不要贪多,一步一步的来。相信自己也会成为开发中的大佬。