敢说自己精通Java的有两种人,一种是牛人,另一种是爱吹牛的人。

Java编程语言精通
 

可能在Java领域工作了三五年的人都没有资格在简历上写下精通Java两个字,同样的,写精通c++或者其他的也不多。

因为精通一门编程语言不仅仅是对语法了如指掌,还要深挖和拓宽。

难点一,拓宽Java:

Java作为横行几十年的语言,而且一直处于开源的状态,生态圈几乎是编程语言里最为庞大的。无论是大数据还是中间件,都可以用Java进行开发。而与Java相关的技术能精通一门就已经很厉害,最重要的是Java方面的很多技术都是要相辅相成。

Java编程语言精通
 

比如开发一个web系统,Java相关的spring家族框架,Java相关的MySQL数据库,都是最基本的,还有诸如缓存Redis,负载均衡Nginx等等。

玩Java,其生态圈就足够你玩一辈子不重样。

难点二,深挖Java:

Java相关技术已经琳琅满目,更可怕的是去深挖其中某个技术。比Java最常用框架spring,你如果只是单纯的会用,顶多在简历上写熟练,而如果你想写精通spring,那你没把源码看个三五遍是没有这种资本的。而很多人喜欢提的Java虚拟机更是接近操作系统的东西,研究起来枯燥而难懂。

更重要的是,抛开Java相关技术,Java自己的语法特性比如多线程,网络编程,以及反射就足以让人花心思研究。

不过归根结底,深挖Java底层的东西,必须精通数据结构,设计模式,最重要的还是Java自己的语法特性。