超级大佬给定制的2019年Java程序员的学习计划(附java学习教程)
知识点:
1. 数据结构 (各类集合框架用到的数据结构,数据库索引用到的B+tree之类)
2. 并发编程 (实践并结合书籍《JAVA并发编程实战》)
3. 设计模式 (GOF23种设计模式,也许会漏学一些,重点学习一个编程的思想)
4. 性能调优 (数据库性能调优的几个方法,并结合实践理解,这一块其实也包含了服务器负载均衡,消息队列的使用)
5. 中间件的使用 (如消息队列MQ,服务器Jetty、Nginx)
6. 框架的深入理解 (如SpringAOP、IOC)
7. JVM (会先学习类加载器,GC相关,结合书籍《深入理解JVM》)
8. NoSQL (非关系型数据库,如redis,mongoDB)
相关书籍:
1. 《深入分析Java Web》
2. 《Effective JAVA》
3. 《深入理解JVM》
4. 《并发编程实战》
5. 《Spring源码深度解析》
6. 《Think in JAVA》
具体计划:
每天抽出2个小时的时间来学习(有些技术比较深,有的地方并不能一下就看懂,所以需要反复学习,有时候学一遍懵懵懂懂,学两遍三遍能理解其中意思,再学一遍可能就能领悟其奥妙,进而理解成自己的东西。所以重点在具体月份计划的学习目标里带着问题去学习,如11月份学习设计模式,将会结合深入分析JavaWeb一书中提到的一些大型JAVA项目中用到的设计模式去学习)
1. 学习设计模式
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:
2. 学习SpringAOP、IOC的原理 (结合Spring源码深度解析一书)
关注我,私信回复“架构资料”就可以免费获取这些技术的视频学习资料了,还会有免费的思维导图分享给大家的
程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这也造成了很多错误看源码的方式。
3. 学习JVM (个人认为其难度需要用到两个月的时间去学习)
任何脱离细节的ppt架构师都是耍流氓,向上能运筹帷幄,向下能解决一线性能问题,Java技术体系,需要了解:
性能指标体系
JVM调优
Web调优
DB调优
4. 学习并发编程 (个人认为其难度需要用上两个月的时间去学习)
1. 对于代码重构的理解与思考
2. 数据库调优方面的几个点
3. 对于SpringIOC与AOP的理解
5.学习微服务架构
业务越来越复杂,服务分层,微服务架构是架构升级的必由之路,Java技术体系,和微服务相关的技术有哪些呢?
微服务框架
Spring Cloud
Docker与虚拟化
微服务架构
最后是电商项目实战
大型电商分布式系统应用实践,利用云服务器搭建真实的开发和部署环境,千人在线参与开发。
由浅入深的,带你从零到项目发布上线与运维,让你体验真实的企业级项目开发过程,掌握大牛的编码思维、经验与技巧。
具备独立开发和搭建分布架构系统的能力。
学习完后相当于具备4年以上互联网开发经验。