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

最近,有很多读者问我,有没有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. 第7讲 | ICMP与ping:投石问路的侦察兵

    第7讲 | ICMP与ping:投石问路的侦察兵 ping 是基于 ICMP 协议工作的.ICMP 全称 Internet Control Message Protocol,就是互联网控制报文协议. ...

  2. 一文读懂一条 SQL 查询语句是如何执行的

    2001 年 MySQL 发布 3.23 版本,自此便开始获得广泛应用,随着不断地升级迭代,至今 MySQL 已经走过了 20 个年头. 为了充分发挥 MySQL 的性能并顺利地使用,就必须正确理解其 ...

  3. jQuery选择器中的特殊符号和关键字

    一般情况下,在jQuery选择器中,我们很少会用到诸如"."."#"."("."["等特殊字符,因为根据W3C规定,HT ...

  4. 可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读

    可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读 Visual Deprojection: Probabilistic Recovery of Collapsed Dimensions 论文链接: ...

  5. Wide & Deep的OneFlow网络训练

    Wide & Deep的OneFlow网络训练 HugeCTR是英伟达提供的一种高效的GPU框架,专为点击率(CTR)估计训练而设计. OneFlow对标HugeCTR搭建了Wide & ...

  6. Django框架之路由层汇总

    一 Django中路由的作用 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来 ...

  7. 强烈推荐!15 个Github 顶级Java教程类开源项目

    大家好,我是 Guide 哥!今天给大家推荐 15 个新手也能看懂的 Java 教程方向的开源项目.这些项目无论是对于你学习 Java 还是准备 Java 方向的面试都非常有帮助. 正如我第一个要推荐 ...

  8. 2020想进大厂你不得不了解的MySQL意外事件的查询技巧

    导读:数据库是导致应用系统运行缓慢的常见原因.面对数据库引性能问题,很多开发者或者DBA却束手无策.本文作者经过多年的实际经验,整理了一些材料,将Linux环境下MySQL性能突发事件问题排查技巧分享 ...

  9. 记Aspose.Word的使用中出现的问题

    最近实现一个功能,具体需求就是把数据库中的内容转换成word文档,文档中需要包含标题.目录以及表格信息. 这里我使用的是Aspose.Word类,这是一个很强大的文档操作工具包,实现了所有操作文档的所 ...

  10. Unity3D学习笔记1——绘制一个三角形

    目录 1. 绪论 2. 概述 3. 详论 3.1. 准备 3.2. 实现 3.3. 解析 3.3.1. 场景树对象 3.3.2. 绘制方法 4. 结果 1. 绪论 最近想学习一下Unity3d,无奈发 ...