首先java基础很多人都说《think in java》,我觉得还有个途径,ocjd的认证考试,如果去考过jdkse6-8的认证,那么很多坑点都会绕开,比如最基础的多太,重载,重写,集合应用等,然后再看下think in java,开下一些经典的设计套路,或者套路用法
常见模式与框架
工程化与工具
分布式架构
性能优化
底层知识
我理解,1, 2, 5, 6 是高级开发就需要掌握的知识,到架构师级别 3, 4 要理解得比较深入,5, 6 的要求也更高。
技术上是从单体技术 -> 分布式,微服务
局部 -> 整体
简单 -> 深入
因为架构师是一个更宏观的角色,单体系统的时候,单体系统划分、设计功能模块的也是架构师。随着分布式的兴起,架构师需要从分布式角度看整体系统,而到了微服务时代,架构师又要关注微服务,docker 等技术。
java狭义上说只是这个语言,包括语言的特性和基础库的功能、原理。广义上的java,是以java网络应用为核心的分布式系统所涉及的一系列知识和工具。题主所谓的进阶,应该就是广义的java技术。大致分几类,通信,包括网络层通信涉及的netty、分布式通信涉及的zookeeper;存储,nosql的redis、各种本地缓存,mysql以及相应的持久层框架mybatis、hibernate之类;应用框架,主要是跟java几乎完全绑定的springs。这些方向都可以作为进阶的选择。
集结各类场景实战经验,助你开发运维畅行无忧