如何使用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显示(可 ...
随机推荐
- Django(51)drf渲染模块源码分析
前言 渲染模块的原理和解析模块是一样,drf默认的渲染有2种方式,一种是json格式,另一种是模板方式. 渲染模块源码入口 入口:APIView类中dispatch方法中的:self.response ...
- 微信架构 & 支付架构(下)
微信架构 & 支付架构(下) 3. 管理网络请求 首先看看原来 iOS 处理支付网络请求的缺陷: 原来支付的请求,都是通过一个单例网络中心去发起请求,然后收到回包后,通过抛通知,或者调用闭包的 ...
- 在NVIDIA(CUDA,CUBLAS)和Intel MKL上快速实现BERT推理
在NVIDIA(CUDA,CUBLAS)和Intel MKL上快速实现BERT推理 直接在NVIDIA(CUDA,CUBLAS)或Intel MKL上进行高度定制和优化的BERT推理,而无需tenso ...
- 毫米波RADAR与LIDAR探秘
毫米波RADAR与LIDAR探秘 说起激光雷达和毫米波雷达,相信业内人士并不陌生,激光雷达是以发射激光束探测目标的位置.速度等特征量的雷达系统.而毫米波雷达是指工作在毫米波波段探测的雷达.毫米波实质上 ...
- CAP 超详细名词解释
目录 引言 概述 分布式 一致性 ACID中的一致性 可用性 分区容错性 可用性与分区容错性,傻傻分不清 问题1:分区容错性说分区故障正常工作,什么叫正常工作?这个正常工作是指满足可用性吗? 问题2: ...
- 【NX二次开发】Block UI 线性尺寸
属性说明 常规 类型 描述 BlockID String 控件ID Enable Logical 是否可操作 Group Logical ...
- 分分钟教你Python Web开发框架Django
Python除了爬虫.深度学习(人工智能).数据分析等外,还可以用来开发网站系统,如我们常见的知乎,豆瓣等都是用Python开发的网站系统. 今天辰哥就来教大家如何新建属于自己的Django项目,让D ...
- Redission加锁解锁流程
redission分布式锁的使用 RLock lock = redissonClient.getLock("myLock"); lock.lock(); try { System. ...
- YOLO V4的模型训练
1.YOLO V4模型训练的基本思路 所有机器学习涉及模型训练,一般都有训练集.验证集.测试集,因此需要准备数据集.有了数据集,再调用训练的算法,获取训练的结果.v3.v4模型训练方法相同. 2.YO ...
- 玩转STM32MP157- 使用 u8g2 驱动 OLED 12864(SSD1306)
环境 硬件环境:STM32MP157C-DK2 软件: MPU上使用ST官方提供的STM32MP15x OpenSTLinux Starter Package 编译系统:Ubuntu 1604 64b ...