原文出处:《一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础”》

引言

不少同学总会产生这样的疑问:

“请问,如何才叫基础扎实?”

答案是:“玩好JDK!”

JDK学习内容主要包含三部分:

1、Java运行时环境,其实就是JVM;

2、Java基础类库

3、Java开发工具,辅助Java的利器。

第一部分:Java运行时环境

这一部分其实就是常说的JRE,而它的核心其实就是一个东西:JVM,Java虚拟机

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代表网络IO,nio代表非阻塞io,concurrent代表并发。

这四个家伙可以说每一个都能够面试官问上半天的,而且,这四个包的内容,如果要深刻理解的话,其实还牵扯了很多其他的知识。

举个栗子:反射你要了解的话,就需要搞明白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

会用即可,这个级别要求很明显,就是会用就可以了,这些包大部分都是在特定的情况下会用到,但却不会时刻用到。

仅仅是用的时候稍微研究一下,知道其具体的用法即可,不需要深究。

第四级别:无视

所有以上没有提到的包。比如swing,awt这些玩意儿。

第三部分:Java 开发工具

这些开发工具主要就是辅助开发,javac应该是最常用的一个,虽然你几乎不用手动执行它。

此外,其实还有一些比较实用的工具,可以帮助你排查问题。而且有的面试官,也会问你这类问题。比如问你平时都用什么工具排查问题。

原作者觉得比较实用的几个工具主要有jmap、jconsole、jstack、jvisualvm,至于这几个工具有什么作用,请参考百度。

还可以自己去JDK 的bin目录下找一找,看有没有什么更好玩的工具。

Java学习指导————如何做到基础扎实相关推荐

  1. java学习笔记:零基础java学习路线+配套资料+书籍推荐

    公众号菜鸟名企梦2018年,精品文章汇总: 01 我的秋招 我的秋招offer 我的offer选择 秋招全面总结-必读宝典 求职必读 02 零基础学习路线 零基础-java学习路线(上) 零基础-ja ...

  2. invader的java学习第三天基础篇

    invader的java学习第三天基础篇 一.整数的取值范围表 类型名称 数据类型 所占空间 表数范围 字节型 byte 1字节 -128-127 短整型 short 2字节 +-3w(-2^15-2 ...

  3. invader的java学习第五天基础篇

    invader的java学习第五天基础篇(持续更新中-) 一.位运算符 ^.&.|.~.>>.<<.>>>,位运算符就是基于二进制直接进行运算(0为f ...

  4. invader的java学习第四天基础篇

    invader的java学习第四天基础篇(持续更新中-) 一.类型转换 自动转换(数值之间在进行四则运算时,数据类型会自动向大类型靠拢) byte num=10; short a=num; Syste ...

  5. JAVA学习笔记(1)【基础知识】

    JAVA学习笔记DAY_1 提示:关于java系列的内容只是本人在老师的指导下和自学过程中的一些学习笔记,如果存在错误敬请批评指正! 文章目录 JAVA学习笔记DAY_1 前言 一.Java语言未来的 ...

  6. Java学习路线(语法基础+算法与数据结构部分)

    后端开发学习经验 首先,对于软件基础知识的学习,建议尽可能地去看一些经典的书籍,看第一遍的时候可以不用太过细致,快速地看,重在了解这本书的知识框架,在把握了整体的逻辑框架之后,第二遍就可以详细学习各章 ...

  7. java学习需要具备什么基础,大量教程

    大学生学习Java需要注意些什么?大学生学习Java需要注意些什么?互联网行业,零基础也能学习.只要你肯努力,有真才实学,就会体会到敲代码的快乐.为什么Java行业吸引了大学生前来学习呢?一是因为就业 ...

  8. 【Java学习笔记】JavaSE基础全程笔记

    前言 该文章为Java自学笔记:JavaSE基础全程笔记,导航部分 学习视频为https://www.bilibili.com/video/av250694651 Java基础语法 Java面向对象基 ...

  9. Java学习之JavaSE-Java语言基础

    第一章:初识计算机和Java语言 一.计算机的体系结构 (一)计算机的基本概念 计算机(Computer)俗称电脑,是现代一种用于高级计算,使用非常广泛的设备,主要由计算机硬件和计算机软件两个部分组成 ...

最新文章

  1. 2022-2028年中国钽酸锂单晶行业市场调查分析及投资发展潜力报告
  2. 链接mysql_使用python链接mysql及redis(缓存型数据库)
  3. Leangoo卡片和列表完成状态上线
  4. python曲线拟合笔记
  5. aspose java_Aspose.Cells for Java
  6. shell scripts 之 代码量统计
  7. Educational Codeforces Round 72 (Rated for Div. 2) D. Coloring Edges dfs树/拓扑找环
  8. linux安装elasticsearch5.5
  9. c# out关键字 vb_c# 关键字:ref 和 out
  10. js中 var a= b || c;
  11. java内存stack heap_java内存解析-------stack(栈)和heap(堆)的理解
  12. EasyUI 1.5.1 美化主题大包 Insdep Theme 1.0.3 正式版已发布,开源下载
  13. 第十三届蓝桥杯A组Python组心得分享
  14. 微信公众号后台开发---永久素材失效
  15. google 搜索语法总结
  16. java实现百度网盘爬虫
  17. 平面内有N个点,如何快速求出距离最近的点对?
  18. malloc,calloc和realloc。
  19. 最轻的5号电池------耐时锂电池
  20. 【leetcode】快乐数

热门文章

  1. java中get接口示例_Java LocalDateTime类| 带示例的get()方法
  2. java enummap_Java EnumMap containsValue()方法与示例
  3. Spring Boot(十三)RabbitMQ安装与集成
  4. 转:ORA-01126: 数据库必须已装载到此实例并且不在任何实例中打开
  5. IP地址与二进制转换
  6. HashMap的put方法(Java7)和putVal方法(Java8)
  7. python asyncio 并发编程_asyncio并发编程
  8. android按钮旋转,单击一个按钮在android中顺时针旋转图像
  9. linux+基因组字符替换,liftover基因组版本直接的coordinate转换
  10. 电脑温度检测软件哪个好_重装电脑,用哪个软件重装系统比较好?