如何使用Jdk查看源码?
先看再点赞,给自己一点思考的时间,如果对自己有帮助,微信搜索【程序职场】关注这个执着的职场程序员。
我有什么:职场规划指导,技能提升方法,讲不完的职场故事,个人成长经验。
最近,有很多读者问我,有没有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的基本语法,比如各种基本包装类型(Integer
、Long
、Double
等)、基本类(Object
,Class
,Enum
,Exception
,Thread
)等等...
2、java.lang.annotation
包含Java注解基本元素相关的源码
3、java.lang.reflect
包含Java反射基本元素相关的代码
4、java.util
这里面放的都是Java的基本工具,最典型和常用的就是各种容器和集合(List
、Map
、Set
)
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新日期和期间相关的代码,最典型的当属LocalDateTime
、DateTimeFormatter
等
10、java.math
主要包含一些高精度运算的支持数据类
11、java.net
主要包含Java网络通信(典型的如:Socket
通信)相关的源代码。
我是【尔东双月】一枚执着的职场程序员,微信搜索【程序职场】关注我。别忘了三连啊,点赞、收藏、留言,随意给,我不挑。
注:如果文章有任何问题,欢迎毫不留情地指正。
如何使用Jdk查看源码?的更多相关文章
- 配置Eclipse可以查看JDK类库源码
一.配置方法 配置Eclipse可以查看JDK类库源码 Window->Preferences->Java->Installed JREs 若没有JRE,需要自己添加进来,有的话,点 ...
- Eclipse导入jdk的源码
eclipse导入JDK源码 前言:这件事情的重要性不言而喻,对于学习和观摩优秀的代码非常的有用,我喜欢想看什么代码都能 Ctrl+鼠标一点 就能够看到,不过这个不常操作,在这里小记一笔,以备后用.( ...
- Android Studio 关联 JDK Java 源码
Android Studio 关联 Android 源码比较方便,一般下载后可自动关联,但是 Android Studio 默认使用的 JDK 是内嵌的,是不带源码的.所以在查看 JDK 源码时,看到 ...
- eclipse查看源码失败总结
之前看的网上查看源码的方法,查看了JDK,只是知其然不知所以然. 后来发现要是查看其他源码,总是查看失败. 最开始每次点击Attach Source包到所要查看源码的jar包,但是还是这样. 但是依 ...
- 解决eclipse为什么不能查看源码
Java eclipse中查看源代码ctrl+左键单击 一.你是第一次使用该功能,没有导入项目源码,故无法查看源码 解决方法: 1.点 “window“-> “Preferences”-> ...
- eclipse 查看源码 source not found
是因为eclipse里面没有设置好源码路径. 源码路径在jdk安装包里面 C:/Program Files/Java/jdk1.8.0_191/src.zip 这个src.zip文件, 设置ecli ...
- Ecilpse绑定jdk的源码
因为近期才入职,所以电脑环境才配好,今天在写代码的时候,想查看源码,发现不能查看,所以在网上百度了一下: 下面是解决方法: 1.在Ecilpse的窗体下,点击Preferences 2.然后点击Jav ...
- JDK Collection 源码分析(2)—— List
JDK List源码分析 List接口定义了有序集合(序列).在Collection的基础上,增加了可以通过下标索引访问,以及线性查找等功能. 整体类结构 1.AbstractList 该类作为L ...
- androidstudio 查看源码
handler.postDelayed(myrunable,10000); ctrl+鼠标左键,点击postDelayed显示(不可以查看源码) ctrl+鼠标左键,点击postDelayed显示(可 ...
随机推荐
- 第7讲 | ICMP与ping:投石问路的侦察兵
第7讲 | ICMP与ping:投石问路的侦察兵 ping 是基于 ICMP 协议工作的.ICMP 全称 Internet Control Message Protocol,就是互联网控制报文协议. ...
- 一文读懂一条 SQL 查询语句是如何执行的
2001 年 MySQL 发布 3.23 版本,自此便开始获得广泛应用,随着不断地升级迭代,至今 MySQL 已经走过了 20 个年头. 为了充分发挥 MySQL 的性能并顺利地使用,就必须正确理解其 ...
- jQuery选择器中的特殊符号和关键字
一般情况下,在jQuery选择器中,我们很少会用到诸如"."."#"."("."["等特殊字符,因为根据W3C规定,HT ...
- 可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读
可视化反投射:坍塌尺寸的概率恢复:ICCV9论文解读 Visual Deprojection: Probabilistic Recovery of Collapsed Dimensions 论文链接: ...
- Wide & Deep的OneFlow网络训练
Wide & Deep的OneFlow网络训练 HugeCTR是英伟达提供的一种高效的GPU框架,专为点击率(CTR)估计训练而设计. OneFlow对标HugeCTR搭建了Wide & ...
- Django框架之路由层汇总
一 Django中路由的作用 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来 ...
- 强烈推荐!15 个Github 顶级Java教程类开源项目
大家好,我是 Guide 哥!今天给大家推荐 15 个新手也能看懂的 Java 教程方向的开源项目.这些项目无论是对于你学习 Java 还是准备 Java 方向的面试都非常有帮助. 正如我第一个要推荐 ...
- 2020想进大厂你不得不了解的MySQL意外事件的查询技巧
导读:数据库是导致应用系统运行缓慢的常见原因.面对数据库引性能问题,很多开发者或者DBA却束手无策.本文作者经过多年的实际经验,整理了一些材料,将Linux环境下MySQL性能突发事件问题排查技巧分享 ...
- 记Aspose.Word的使用中出现的问题
最近实现一个功能,具体需求就是把数据库中的内容转换成word文档,文档中需要包含标题.目录以及表格信息. 这里我使用的是Aspose.Word类,这是一个很强大的文档操作工具包,实现了所有操作文档的所 ...
- Unity3D学习笔记1——绘制一个三角形
目录 1. 绪论 2. 概述 3. 详论 3.1. 准备 3.2. 实现 3.3. 解析 3.3.1. 场景树对象 3.3.2. 绘制方法 4. 结果 1. 绪论 最近想学习一下Unity3d,无奈发 ...