Java 语言覆盖的知识很广泛,但是总的来说,最重要的是以下三个方面:
所以,所谓精通 Java 语言,可以大致等同于视为上述三个方面的精通。
Java 基础知识的精通主要体现在,能很顺畅的把 Java 的各种基础数据结构、各种内置对象,都融合到实际的场景中,能以最快的速度、最佳的方案,去解决实际中的工作问题。
比如,大家在项目中,经常是不会区分对象是强引用还是弱引用的,统统都是强引用。如果一个精通 Java 基础知识的工程师,就会根据实际情况,去灵活地运用强引用、弱引用。
Java 并发编程的精通主要体现在,能非常巧妙得把各种多线程设计模式以及并发包中的各种工具,去解决各种并发难题。
例如,使用 Future 和相关子类去提升程序的运行效率,用 CountDownLatch 去控制线程顺序。
对 JVM 底层知识的精通主要体现在,能很快速地通过优化 JVM,去提升项目的性能,也能非常迅速准确地去找到项目出现的底层问题,直接进行根源性的解决。
比如,我们正在写一个要嵌入到对方项目的一个监控客户端。这个客户端就需要保证不能因为它的嵌入,导致被嵌入项目的 CPU、内存出现大的耗费。也要保证,在不耗费大资源的情况下,还能快速无误地传递数据。这时候,我们就应该利用自己对 JVM 垃圾回收的深入理解,去搞对象池化。
总之,Java 语言本身的精通,就体现在能利用 Java 去最优的提供技术解决方案,也能创造性的解决各种复杂的技术难题。