如何做到招聘中要求的【具有扎实的Java基础】

本文摘自左潇龙博客,原文出处:https://blog.youkuaiyun.com/zuoxiaolong8810/article/details/65629297 

一句话:玩好JDK(Java Development Kit)

总的来说,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的核心。路漫漫其修远兮 吾将上下而求索

 



 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值