java入门容易,精通难。外行培训个几个月就能上手写程序了。但刚开始总觉上不着天(架构),下不着地(源码),夹在中间特别难受。那怎么办呢?只能慢慢积累,一层一层的补债。 java的体系之庞大,任意找出一个话题都能写成一本几本书,毫无头绪的进入,结果只会迷失在茫茫大海中。那么如何破?关键在于找到学习的路径,找到进阶的次第。 我觉得大致需要分成以下几类:linux,数据结构与算法,jdk,中间件,架构。 linux:作为程序运行的载体,必须对其有足够的认识,在提高性能上有决定性的作用。 数据结构和算法:对于编程的要求比较低,但对于思维的要求甚高,对于提高编程技巧和思维有非常好的锻炼,而且对于以后看jdk和其他中间件的源码非常有用。 中间件:这里说的中间件包含spring全家桶,常见的小组件,以及通常意义上的中间件。这一块需要会用,还要看源码,来拓宽我们的视野。 架构:需要从架构的思维来审视全局,具有全局观,锻炼宏观思维。 这些技术有一些依赖关系,但大多数情况下无法只专注一块来提升,必须各个模块统筹并进,层层深入,才能真正做到整体提升。