天津网站搭建,河南建设工程造价信息,wordpress php那个版本,傻瓜式建站软件原文出处#xff1a;《一篇文章教会你#xff0c;如何做到招聘要求中的“要有扎实的Java基础”》
引言
不少同学总会产生这样的疑问#xff1a;
“请问#xff0c;如何才叫基础扎实#xff1f;”
答案是#xff1a;“玩好JDK#xff01;” JDK学习内容主要包含三部分…原文出处《一篇文章教会你如何做到招聘要求中的“要有扎实的Java基础”》
引言
不少同学总会产生这样的疑问
“请问如何才叫基础扎实”
答案是“玩好JDK” JDK学习内容主要包含三部分 1、Java运行时环境其实就是JVM 2、Java基础类库 3、Java开发工具辅助Java的利器。 第一部分Java运行时环境
这一部分其实就是常说的JRE而它的核心其实就是一个东西JVMJava虚拟机
JVM这个东西它的重要性原作者认为甚至比《Thinking in Java》还重要。而这部分的知识和内容只要是Java稍微高级一点点的职位基本上是面试必问的内容这更说明了JVM的重要性。
所以对于JVM,没有什么可说的就是往死里学往死里研究能有多深就多深。
第二部分Java的基础类库
Java虽然拥有庞大的类库系统但是并不是所有都需要掌握和知道原作者列出Java6的包列表并将其分为四个等级对待的程度也是分为四个等级。
第一级别精读源码
java.io
java.lang
java.util 精读源码这是要求最高的级别。 但是要求精读源码不意味着这些类是最重要的。而是因为这些类比较常用而且比较简单阅读这些类的源码有助于锻炼看源码的感觉也了解一下大神们写代码的风格。 Exception和Error这一类的可以忽略。 看源码从这些常用的包下手找手感在合适不过。
第二级别深刻理解
java.lang.reflect
java.net
javax.net.*
java.nio.*
java.util.concurrent.*
深刻理解这个级别看似比精读源码要求低但所选类库确实最重要的。这个级别的类全都是一些进阶到高级所必须了解的。
但是由于这些类的源码往往非常复杂要了解清楚细节花费的时间是非常多的因此花费巨量的时间去研究这么复杂的代码其实没必要。
不过在使用这些类库遇到问题时可以通过阅读源码的方式尝试解决问题。这种学习方式不仅可以加深对类库的理解还会帮助解决90%的问题。
reflect代表反射net代表网络IOnio代表非阻塞ioconcurrent代表并发。
这四个家伙可以说每一个都能够面试官问上半天的而且这四个包的内容如果要深刻理解的话其实还牵扯了很多其他的知识。
举个栗子反射你要了解的话就需要搞明白JVM的类加载机制网络IO要搞清楚的话你就要搞清楚TCP/IP和HTTP、HTTPS。
第三级别会用即可
java.lang.annotation
javax.annotation.*
java.lang.ref
java.math
java.rmi.*
javax.rmi.*
java.security.*
javax.security.*
java.sql
javax.sql.*
javax.transaction.*
java.text
javax.xml.*
org.w3c.dom.*
org.xml.sax.*
javax.crypto.*
javax.imageio.*
javax.jws.*
java.util.jar
java.util.logging
java.util.prefs
java.util.regex
java.util.zip
会用即可这个级别要求很明显就是会用就可以了这些包大部分都是在特定的情况下会用到但却不会时刻用到。
仅仅是用的时候稍微研究一下知道其具体的用法即可不需要深究。
第四级别无视
所有以上没有提到的包。比如swingawt这些玩意儿。
第三部分Java 开发工具
这些开发工具主要就是辅助开发javac应该是最常用的一个虽然你几乎不用手动执行它。
此外其实还有一些比较实用的工具可以帮助你排查问题。而且有的面试官也会问你这类问题。比如问你平时都用什么工具排查问题。
原作者觉得比较实用的几个工具主要有jmap、jconsole、jstack、jvisualvm至于这几个工具有什么作用请参考百度。
还可以自己去JDK 的bin目录下找一找看有没有什么更好玩的工具。