Java学习指导————如何做到基础扎实

原文出处:《一篇文章教会你,如何做到招聘要求中的“要有扎实的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目录下找一找,看有没有什么更好玩的工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559040.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

奥特曼系列ol服务器名称带怪兽,《奥特曼系列ol》怪兽图鉴 怪兽阵容

《奥特曼系列ol》这款游戏中的怪兽图鉴也是很多玩家非常关注的问题之一哦,随着游戏的不断的更新,游戏也是加入了不少全新的玩法,一定让很多玩家觉得有些迷惑吧。下面小编为大家带来《奥特曼系列ol》怪兽图鉴以及怪兽阵容,希望大家…

继上一篇博客--javaweb通过接口来实现多个文件压缩和下载(包括单文件下载,多文件批量下载)

通过动态分配地址来提升javaweb文件下载接口的其兼容性和可扩展性: (上篇博文地址:https://blog.csdn.net/weixin_37766296/article/details/80044000)log4j.properties 文件: log4j.rootLogger debug,stdout,D,Elog4…

服务器主机启动不显示,服务器主机不启动怎么回事

服务器主机不启动怎么回事 内容精选换一换本文介绍了主机迁移服务SMS各特性版本的功能发布和对应的文档动态,新特性将在各个区域(Region)陆续发布,欢迎体验。源端服务器数据收集声明。源端服务器上安装和配置完迁移Agent后,迁移Agent会把源端…

Swagger自动接口文档生成框架————springboot整合swagger总结

swagger简介: swagger是一款开源的api接口文档生成工具。 Swagger的项目主页:https://swagger.io/ 目前比较流行的做法是在代码中加入swagger相关的注释,然后,利用小工具生成swagger.json或者swagger.yaml文件。 springboot…

申请 Let's Encrypt 数字证书,并安装cerbot快速上手教程~~

申请 Lets Encrypt 数字证书,并安装cerbot快速上手教程~~Let‘s Encrypt SSL证书介绍如今,越来越多的网站已经由HTTP迁移到HTTPS安全协议了。HTTPS不但能够避免网站内容在传输过程中被恶意篡改,切实保护访问者的权益,还能够让搜索…

Java常用设计模式————单例模式

单例模式简介 90%以上的设计模式都或多或少的应用了接口和抽象类,而单例比较特殊,并没有接口的应用。 单例Singleton指仅仅被实例化一次的类。通常被用来代表那些本质上唯一的系统组件。————《Effective Java》 数据库连接获取类的对象可以是单例的…

最简明扼要的 Systemd 教程,只需十分钟

systemctl常用命令介绍~~~Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。 Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。启动及服务大多数主流发行版要…

Java常用设计模式————工厂模式

简介: 工厂模式(Factory Pattern)是Java中最常用的设计模式之一,又称多态工厂模式、虚拟构造器模式。属于创建型模式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的…

JavaScript新手入门教程大全~~~

JavaScript新手入门教程大全~~~一。 js教程介绍:JavaScript是一种运行在浏览器中的解释型的编程语言。 那么问题来了,为什么我们要学JavaScript?因为你没有选择。在Web世界里,只有JavaScript能跨平台、跨浏览器驱动网页&#xff0…

Java常用设计模式————抽象工厂模式

简介 每一个具体工厂类只负责创建抽象产品的某一个具体子类的实例。 与工厂方法模式的区别 工厂方法模式针对的是一个产品等级结构,而抽象工厂模式针对的是多个产品等级结构,因此抽象工厂模式在结构上要比工厂方法模式更加复杂和抽象,也更…

CSS新手入门教程~~~~

CSS新手入门教程~~~~CSS简介:什么是 CSS? CSS 指层叠样式表 (Cascading Style Sheets)样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存储在…

Docker必备知识整理

Docker简介 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 Docker是用Go语言…

Exception和Error深入分析~~~

Exception和Error深入分析~~~Exception 和 Error 都是继承了 Throwable 类,在 Java 中只有 Throwable 类型的实例才可以被抛出(throw)或者捕获(catch),它是异常处理机制的基本组成类型。 Exception 和 Erro…

Java常用设计模式————原型模式(一)

介绍 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象。 原型模式用于创建重复的对象,同时又能保证性能。当直接创建对象的代价比较大时,则采用这种模式。&…

解决eclipse刚启动卡死的问题~~~亲测有效~~

解决eclipse刚启动卡死的问题~~~亲测有效~~ 重启了eclipse三次,还是卡死了。最后找到一下方法: 建议大家在删除先备份一下文件,以免丢失项目! 关于 eclipse启动卡死的问题(eclipse上一次没有正确关闭,导致…

Java常用设计模式————原型模式(二)之深拷贝与浅拷贝

引言 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可…

Java控制台输入教程~~~~

Java控制台输入教程~~~~当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所有输入的内容传给Scanner,作为扫描对象。如果要获取输入的内容,则只需要调用…

Java面试宝典————基础篇

参考原文:《Java面试题全集(上)》 1.Java中的基本数据类型有哪些? 类型:byte short int long float double boolean char 字节:1 2 4 8 4 8 1 2 2.面向…

Git初学札记(零)————EGIT完成Eclipse到GitHub一条龙

eclipse安装Egit插件 首先我们要找到所需的egit插件的url更新地址。百度一大堆,但是我还是希望自己去寻找。 打开Eclipse Downloads官网,在页面底部直接输入“egit”关键字,并直接点击第一条搜索到的结果。然后点击Downloads标签页&#xff0…

如何使用echo指令向文件写入内容

如何使用echo指令向文件写入内容0.前言本文总结如何使用echo命令向文件中写入内容,例如使用echo指令覆盖文件内容,使用echo指令向文件追加内容,使用echo指令往文件中追加制表符。echo向文件中输出内容的基本方法是使用IO重定向指令——“>…