扎实的java基础_如何做到面试官要求的“扎实的Java基础”

那么,如何具有扎实的Java基础?

总结成一句话——玩好JDK。

总的来说,JDK包括三部分,第一:Java运行环境(JVM),第二:Java的基础类库(lang 、uitl、io等等),第三:Java开发工具(java、javac等等)。

第一部分:Java运行环境

这里的运行环境就是指咱们平常的所说的JRE(Java Runtime Environment),它的核心就是java虚拟机(JVM),可以说它是java中的重中之重,没有它class文件就无法解析。

划重点:Java稍微高级一点的职位,面试必问

建议:对于JVM,多深入研究,能有多深就多深

第二部分:Java基础类库

Java基础类库有近200多个包,这里就不一一列举了,以下是对所有的包进行分级,大伙可以根据以下进行分级学习。

第一级别:精读源码

java.lang、java.util(使用数据结构常用的)、java.io(读写文件必不可少的)

这3个包是最常用的,这里要求精读源码,一方面增加读代码的能力,另一方面的学习大神们的写代码风格。

第二级别:深刻理解

java.lang.reflect(反射)、java.net(网络IO)、javax.net.*(网络)、java.nio.*(非阻塞IO)、java.util.concurrent(并发包).*

以上这些包虽然比精读源码要求低一级,但是却很重要,这些类的源码非常复杂,需要花太多时间去研究,其实会得不偿失。

不过在使用这些类的过程中遇到了问题,第一反应是先看看它们的源码试着解决问题,而不是百度或者谷歌。

Java.reflect,反射要搞清楚的话,需要弄明白JVM的类加载机制;

网络IO要搞清楚的话,需要弄清楚TCP/IP和HTTP\HTPS;

并发包要弄清楚的话,需要理解并发的相关知识;

这4个包的熟悉程度决定你的程序员所在的水平。

第三级别:会用即可

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

第三级别的包你会用就行,,这些包在特定情况下会用到,但不会时刻用到。比如sql包和transaction包就是操作数据库的使用用到,xml、dom\sax对xml操作的时候用到。

第三部分:Java的开发工具

这些开发工具是辅助你开发的,java、javac是常用的,还有其他的比较实用的工具,可以帮助你排查问题,这儿列出常用的工具有jmap、jconsole、jstack、jvisualvm,其他工具可在bin目录下查找。

小结

总的来说,大家先从第二部分开始着手比较好,在第二部分中,可以把第一级别称为基础,第二级别成为进阶,第三第四级别后续慢慢熟练就行了。

不过,请记住,学Java更重要的是JVM,JVM才是你Java根基的根本,就是再厉害的类,没了JVM它也就是一个无用的class文件而已。

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值