JDK源码阅读调试环境搭建
一 概述
1. JDK java开发工具包
JDK全称Java SE Development kit(JDK),即java标准版开发包,是Oracle提供的一套用于开发java应用程序的开发包,它提供编译,运行java程序所需要的各种工具和资源,包括java编译器,java运行时环境,以及常用的java类库等。
2. JRE Java Runtime Environment(JRE) Java运行环境
Java运行环境,它的全称Java Runtime Environment(JRE) ,因此也被称为JRE,它是运行java的必需条件。
3. JVM Java Virtual Machine
Java虚拟机,JRE包含JVM。JVM是运行java程序的核心虚拟机,还需要其他的类加载器,字节码校验器,以及大量的基础类库。JRM除了包含JVM之外,还包含运行java程序的其它环境支持。
二 JDK的安装和配置(以JDK8为例)
1. Java SE Development kit(JDK) 8下载
2. JDK 安装
开始安装
选择安装目录
3. JDK 的配置
1. 操作步骤与操作图示
(1)新建->变量名"JAVA_HOME",变量值"D:\Java\jdk"(即JDK的安装路径)
(2)编辑->变量名"Path",在原变量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”
(3)新建->变量名“CLASSPATH”,变量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”
2. 检测环境变量配置(cmd输入java -version查看输出的ava版本信息与安装的版本信息相同即可)
三 利用Idea搭建源码阅读调试环境
1. 在Idea中新建一个简单的java项目,然后导入JDK源码调试(JDK源码就在下载安装的JDK的src.zip压缩包中,我们将其解压缩然后复制到新建的java项目的代码目录中即可),如图src.zip的目录地址
2. src.zip解压后的目录结构以及内容
src.zip|— com //com目录中只包含了sun目录|| |— sun //sun目录中的内容是sun的hotspot虚拟机中java.* 和javax.*的实现类。因为包含在 | rt中,所以我们也可以调用。但是因为不是sun对外公开承诺的接口,所以根据根据实 | 现的需要随时增减,因此在不同版本hotspot中可能是不同的,而且在其他的jdk实现 | 中是没有的,调用这些类,可能不会向后兼容,所以一般不推荐使用。 | |— java //java目录是javaSE的标准库,是java标准的一部分,是对外承诺的java开发接口, | 通常要保持向后兼容,一般不会轻易修改。包括其他厂家的在内,所有jdk的实现, | 在java.*上都是一样的。| |— javax //javax目录也是java标准的一部分,但是没有包含在标准库中,一般属于标准库的扩展 | 通常属于某个特定领域,不是一般性的api。 所以以扩展的方式提供api,以避免jdk | 的标准库过大。当然某些早期的javax,后来被并入到标准库中,所有也应该属于新版| 本JDK的标准库。比如jmx,java 5以前是以扩展方式提供,但是jdk5以后就做为标准 | 库的一部分了,所有javax.management也是jdk5的标准库的一部分。| |— launcher //launcher目录中包含的是JRE中用于启动程序入口main()方法的类。 | |— org //org目录是由企业或者组织提供的java类库,大部分不是sun公司提供的,同 | com.sun.*,不具备向后兼容性,会根据需要随时增减。其中比较常用的是w3c| 提供的对XML、网页、服务器的类和接口。 |
3. 导入到项目后的结构
4. 解决编译出现的系统资源不足的问题
问题:
解决办法:
5. 由于jdk源码是受保护的,我们debug,F7 step Into是无法步入调试的,其实只要进入设置将Debugger中的Do not step into the classes的勾去掉即可!
6. jdk源码文件被锁定是不能修改的,也就是常看到源码类文件有个小锁的图标。
因为这些源码文件的来源是jdk安装目录下src.zip,该包下的文件是不可更改的,所以我们在设置中将其删除,然后重新加入自己的源码包即可
四 总结
至此,JDK源码阅读调试环境搭建已经完成,希望对大家的帮助!谢谢查看!
JDK源码阅读调试环境搭建相关推荐
- Mycat源码篇 : 起步,Mycat源码阅读调试环境搭建
在研究mycat源码之前必须先把环境搭建好.这篇文章的目标就是搭建mycat源码调试环境.环境主要包括: git jdk maven eclipse mysql 这里假设你知道上面的知识点.我们搭建的 ...
- ffmpeg编译gb28181_RTSP/GB28181协议/海康SDK/Ehome协议视频上云网关EasyCVR视频平台在linux环境下ffmpeg源码单步调试环境搭建...
目前TSINGSEE青犀视频研发的视频上云服务平台EasyCVR已经可集成海康EHome私有协议,并且在前文中我也跟大家讲过EHome协议的配置和调用流程,有兴趣的可以阅读一下:配置及协议介绍.Eho ...
- 消息中间件RocketMQ源码解析-- --调试环境搭建
1. 依赖工具 JDK :1.8+ Maven IntelliJ IDEA 2. 源码拉取 从官方仓库 [https://github.com/apache/rocketmq) Fork 出属于自己的 ...
- SRS4.0源码分析-调试环境搭建
本本文采用的 SRS 版本是 4.0-b8 , 下载地址:github SRS4.0 可以很方便地在 clion 软件下面断点调试,查看函数调用,堆栈. SRS的作者杨成立很贴心,在源码里放置了一个 ...
- jdk源码阅读-HashMap
前置阅读: jdk源码阅读-Map : http://www.cnblogs.com/ccode/p/4645683.html 在前置阅读的文章里,已经提到HashMap是基于Hash表实现的,所以在 ...
- jdk javac运行不了_Intellij IDEA搭建jdk源码阅读环境
一.找到源码位置 直接找到jdk安装的目录,会看到src.zip的压缩包,这里面就是jdk的源码,例如下图: 在这里解压. 第一次尝试建议使用9或更早版本jdk的源码,否则易造成卡死. 二.Intel ...
- Mac搭建JDK源码阅读环境
点赞再看,养成习惯,微信公众号搜索[虚竹讲程序经],获取更多技术干货! 想要读懂JDK源码,需要在自己电脑上搭建JDK的源码阅读环境,正所谓,工欲善其事,必先利其器.下面演示如何在Mac上结合Idea ...
- JDK源码阅读环境搭建
内容来源 B站Up主: CodeSheep 视频: https://www.bilibili.com/video/BV1V7411U78L 感谢大佬分享学习心得 Thanks♪(・ω・)ノ~~~ 1. ...
- JDK源码阅读-搭建阅读环境
1.找到源码位置 其实我们安装jdk的时候源码就已经存在,只要找到jdk的安装位置,就能找到源码,如果不知道jdk具体安装位置的话,可以在idea中查看. 打开目录,找到路径下的src.zip,这就是 ...
- jdk源码(jdk源码阅读顺序)
如何在myEclipse中查看JDK源码 myeclipse中查看jdk类库的源码步骤如下: 1.点 "window"-> "Preferences" - ...
最新文章
- Python 中的魔术方法(双下划线开头和结尾的方法)
- 简单介绍六点nginx优化的方法
- MVC中执行成功弹出对话框
- 每个优秀程序员必须具备的技能
- 初学python下载哪个版本-学python下载哪个版本
- Boost:基于boost::asio的延迟tcp服务器测试程序
- xml 转map dom4j
- convirt2.5在虚拟机上安装笔记
- Photoshop的基本操作
- vue webapp滑动事件_js_监听移动端web触屏事件_滑动响应
- [转载] 字符串的startsWith和endWith方法
- nginx_lua vs nginx+php 应用场景
- numpy与tensorflow中的广播(broadcast)机制
- 原生js实现的日期选择插件
- 分享一个非常强大且好用的绘图控件QCustomPlot
- linux单引号作用,linux中单引号、双引号、反引号的作用
- 商用密码应用安全性评估量化评估规则(2021版)
- SAP中质检判定UD配置原理
- Oracle 11g实时SQL监控 --好东西不该藏着
- 十个技巧,让你成为“降维”专家