先看再点赞,给自己一点思考的时间,如果对自己有帮助,微信搜索【程序职场】关注这个执着的职场程序员。
我有什么:职场规划指导,技能提升方法,讲不完的职场故事,个人成长经验。

最近,有很多读者问我,有没有java学习资料 ,我专门整理好的资源等你来拿,微信搜索「程序职场」,关注后 回复  学习资料。

你好,我是刚毕业的学生,想学习Java开发,但是不知道JDK用哪个版本好呢,怎么查看sdk源码呢?

今天有小伙伴问我java开发用哪个版本的jdk比较好,作为一个jdk使用了8-9年的老开发来说,甚至jdk的重要,当然很清楚这个问题,我想都没想就整理了这篇文章。

选择JDK版本

对于Java开发者来说搭建开发环境是少不了下载JDK的,那么我该下载哪个版本呢?

首先说一下我经历过的JDK都有哪些版本:JDK5 , JDK6 , JDK7 , JDK8 , JDK9 , JDK10 , JDK11 .

从5到11,7个版本,但是并不是说我每个版本都使用过,我使用过的,主要有4个 JDK 5 ,JDK6 , JDK8 ,JDK 11。

这些jdk版本也是区分大版本还是小版本的,比如主要现在使用的大版本,目前可以选的就是8和11了,其他都不是LTS。

个人的建议是选择主流的大版本,以免出现做好的项目线下能跑,线上有问题的情况。

目前我主要使用11,当然,8也装了。

下载JDK

那么如何下载JDK呢?

1,打开地址

https://openjdk.java.net/projects/jdk/

2,找到Java SE

3,选择JavaSE11(LTS)

下载后解压就好了。

查看源码

1,创建一个项目用来阅读源码

创建项目我这里通过 IDEA,也可以用其他工具,这个不做多说明。

2,创建项目后添加两个目录

source:放置JDK源码

test:测试代码

3、导入JDK源码

找到JDK安装目录就能找到源码,JDK安装目录下有一个名为src.zip压缩包,就是JDK源码!

解压压缩包,拷贝里面的所有目录到 我们创建的 项目的 source目录,拷贝后目录如下:

我们把源码放进一个项目中是为了我们学习查看源码,如果在开发中,直接进入去查看就行。

一切准备好以后我们随意查看一下这个源码信息,比如我们想看List的源码,就可以直接打开 Java--》util --》--》ArrayList

public class ArrayList<E> extends AbstractList<E>

4,建议阅读源码顺序

根据我的经验,排序如下:

1、java.lang

这里面其实就是Java的基本语法,比如各种基本包装类型(IntegerLongDouble等)、基本类(ObjectClassEnumExceptionThread)等等...

2、java.lang.annotation

包含Java注解基本元素相关的源码

3、java.lang.reflect

包含Java反射基本元素相关的代码

4、java.util

这里面放的都是Java的基本工具,最典型和常用的就是各种容器和集合(ListMapSet

5、java.util.concurrent

大名鼎鼎的JUC包,里面包含了Java并发和多线程编程相关的代码

6、java.util.function +java.util.stream

包含Java函数式编程的常见接口和代码

7、java.io

包含Java传统I/O相关的源码,主要是面向字节和流的I/O

8、java.nio

包含Java非阻塞I/O相关的源码,主要是面向缓冲、通道以及选择器的I/O

9、java.time

包含Java新日期和期间相关的代码,最典型的当属LocalDateTimeDateTimeFormatter

10、java.math

主要包含一些高精度运算的支持数据类

11、java.net

主要包含Java网络通信(典型的如:Socket通信)相关的源代码。

我是【尔东双月】一枚执着的职场程序员,微信搜索【程序职场】关注我。别忘了三连啊,点赞、收藏、留言,随意给,我不挑。
注:如果文章有任何问题,欢迎毫不留情地指正。

如何使用Jdk查看源码?的更多相关文章

  1. 配置Eclipse可以查看JDK类库源码

    一.配置方法 配置Eclipse可以查看JDK类库源码 Window->Preferences->Java->Installed JREs 若没有JRE,需要自己添加进来,有的话,点 ...

  2. Eclipse导入jdk的源码

    eclipse导入JDK源码 前言:这件事情的重要性不言而喻,对于学习和观摩优秀的代码非常的有用,我喜欢想看什么代码都能 Ctrl+鼠标一点 就能够看到,不过这个不常操作,在这里小记一笔,以备后用.( ...

  3. Android Studio 关联 JDK Java 源码

    Android Studio 关联 Android 源码比较方便,一般下载后可自动关联,但是 Android Studio 默认使用的 JDK 是内嵌的,是不带源码的.所以在查看 JDK 源码时,看到 ...

  4. eclipse查看源码失败总结

    之前看的网上查看源码的方法,查看了JDK,只是知其然不知所以然. 后来发现要是查看其他源码,总是查看失败. 最开始每次点击Attach  Source包到所要查看源码的jar包,但是还是这样. 但是依 ...

  5. 解决eclipse为什么不能查看源码

    Java eclipse中查看源代码ctrl+左键单击 一.你是第一次使用该功能,没有导入项目源码,故无法查看源码 解决方法: ​1.点 “window“-> “Preferences”-> ...

  6. eclipse 查看源码 source not found

    是因为eclipse里面没有设置好源码路径. 源码路径在jdk安装包里面 C:/Program Files/Java/jdk1.8.0_191/src.zip  这个src.zip文件, 设置ecli ...

  7. Ecilpse绑定jdk的源码

    因为近期才入职,所以电脑环境才配好,今天在写代码的时候,想查看源码,发现不能查看,所以在网上百度了一下: 下面是解决方法: 1.在Ecilpse的窗体下,点击Preferences 2.然后点击Jav ...

  8. JDK Collection 源码分析(2)—— List

    JDK List源码分析 List接口定义了有序集合(序列).在Collection的基础上,增加了可以通过下标索引访问,以及线性查找等功能. 整体类结构 1.AbstractList   该类作为L ...

  9. androidstudio 查看源码

    handler.postDelayed(myrunable,10000); ctrl+鼠标左键,点击postDelayed显示(不可以查看源码) ctrl+鼠标左键,点击postDelayed显示(可 ...

随机推荐

  1. Qt 进度条

    一.前言 有时我们需要在表格(QTableWidget).树状栏(QTreeWidget)中直观显示任务进度或消耗百分比,达到报表显示的形式,可通过重写QLabel的方式实现. 1.进度条控件功能 1 ...

  2. KMP算法中我对获取next数组的理解

    之前在学KMP算法时一直理解不了获取next数组的函数是如何实现的,现在大概知道怎么一回事了,记录一下我对获取next数组的理解. KMP算法实现的原理就不再赘述了,先上KMP代码: 1 void g ...

  3. XShell本地上传文件到Ubuntu上及从Ubuntu下载文件到本地

    使用XShell本地上传文件到Ubuntu上及从Ubuntu下载文件到本地. 1.第一种方法是最常用的 :如果下载了Xshell和Xftp,Ctrl+Alt+F就可以选择文件的互传了!(虚拟机/云服务 ...

  4. java并发编程工具类JUC第三篇:DelayQueue延时队列

    DelayQueue 是BlockingQueue接口的实现类,它根据"延时时间"来确定队列内的元素的处理优先级(即根据队列元素的"延时时间"进行排序).另一层 ...

  5. 解决Maven资源过滤问题

    向pom文件添加如下配置 <build> <resources> <resource> <directory>src/main/java</dir ...

  6. [leetcode] 35. 搜索插入位置(Java)(二分)

    35. 搜索插入位置 二分,太简单,没啥好说的 class Solution { public int searchInsert(int[] nums, int target) { if (nums. ...

  7. GO语言的JSON03---JSON文件的序列化与反序列化

    package main import ( "encoding/json" "fmt" "os" ) type Human2 struct ...

  8. 机器学习PAL数据预处理

    机器学习PAL数据预处理 本文介绍如何对原始数据进行数据预处理,得到模型训练集和模型预测集. 前提条件 完成数据准备,详情请参见准备数据. 操作步骤 登录PAI控制台. 在左侧导航栏,选择模型开发和训 ...

  9. RGB-D相机视觉SLAM

    RGB-D相机视觉SLAM Dense Visual SLAM for RGB-D Cameras 开源代码地址:  vision.in.tum.de/data/software/dvo 摘要 本文提 ...

  10. 图像超分辨率算法:CVPR2020

    图像超分辨率算法:CVPR2020 Unpaired Image Super-Resolution using Pseudo-Supervision 论文地址: http://openaccess.t ...