当前位置: 首页 > news >正文

补充JDK源码-IDEA集成工具

在阅读JDK8源码的时候发现,只有一小部分常用包是存在源码及其注释的,而很多内部包是没有源码,class文件在阅读的时候对阅读者十分不友好。在网上搜集了很多资料都没有解决问题。
解决问题办法:参考文档。本文主要是根据这篇文章记录下解决过程。(本来不想重写一遍,但是网上太多教程根本无法解决这个问题)

一、问题描述

在学习JDK动态代理源码时,发现Proxy是有源码及注释的,文件后缀为java。而在阅读到其又依赖的ProxyGenerator类时发现无法看到其源码注释,文件后缀为class。
在这里插入图片描述
在这里插入图片描述
没有源码可给阅读带来了极大的难度,尝试在网上搜索了一些资料,均不能解决问题。
根据参考文档,原因如下:
IDEA展现JDK8的源码路径如下:
在这里插入图片描述
加压src.zip:
在这里插入图片描述
从具体内容看,确实没有ProxyGenerator所在的sun包。那如何解决呢?

二、如何解决

① 下载JDK源码

git clone https://github.com/unofficial-openjdk/openjdk.git #克隆至本地

在这里插入图片描述
② 切换目录&分支

cd /${path2jdk}/openjdk  # 切换至jdk目录
git checkout jdk8u/jdk8u  # 切换至jdk8分支

查看分支文件:
在这里插入图片描述
③ 找到源码文件
我们需要的源码文件在:{path2jdk}/openjdk/jdk/src/share/classes/
在这里插入图片描述
④ 按需压缩源码文件
这里我仅需要sun包下的源码文件,压缩sun文件夹:
在这里插入图片描述

将压缩后的sun.zip文件放置在某目录下,如/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home/,并将sun.zip加入到IDEA的sourcePath中:
在这里插入图片描述

三、结果

问题完美解决:
在这里插入图片描述
【最后】本文用到的sun.zip已上传至资源(JDK中Sun包下源码zip文件),如果有其他子包需要,可自行下载或联系我上传更多。

相关文章:

补充JDK源码-IDEA集成工具

在阅读JDK8源码的时候发现,只有一小部分常用包是存在源码及其注释的,而很多内部包是没有源码,class文件在阅读的时候对阅读者十分不友好。在网上搜集了很多资料都没有解决问题。 解决问题办法:参考文档。本文主要是根据这篇文章记…...

Git Submodule 更新子库失败 fatal: Unable to fetch in submodule path

编辑本地目录 .git/config 文件 在 [submodule “Assets/CommonModule”] 项下 加入 fetch refs/heads/:refs/remotes/origin/...

Springboot切面打印日志

切面打印完整日志,以下代码用于扫描RestController 注解修饰的接口,并打印相关日志 import org.aspectj.lang.JoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; impor…...

ubuntu上回环设备/dev/loop0占用100%清理

查看磁盘占用情况时: df -h/dev/loopn这些设备在Linux下被称为回环设备。 终端输入: sudo apt autoremove --purge snapd再次查看:...

List list=new ArrayList()抛出的ArrayIndexOutOfBoundsException异常

1.应用场景,今天生产日志监控到一下ArrayList 进行add 异常,具体日志如下: eptionHandler.handler(178): TXXYBUSSINESS|执行异常 java.util.concurrent.CompletionException: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bo…...

桶排序算法

桶排序算法 算法思想概述:桶排序的主要步骤如下: 算法goland实现:图解演示: 算法思想概述: 桶排序(Bucket Sort)是一种非比较性的排序算法,它将待排序的元素分到有限数量的桶&#…...

P8604 [蓝桥杯 2013 国 C] 危险系数

题目背景 抗日战争时期,冀中平原的地道战曾发挥重要作用。 题目描述 地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。 我们来定义一个危险系数 DF(x,y)&…...

Excel·VBA表格横向、纵向相互转换

如图:对图中区域 A1:M6 横向表格,转换成区域 A1:C20 纵向表格,即 B:M 列转换成每2列一组按行写入,并删除空行。同理,反向操作就是纵向表格转换成横向表格 目录 横向转纵向实现方法1转换结果 实现方法2转换结果 纵向转横…...

Leetcode-每日一题【剑指 Offer 06. 从尾到头打印链表】

题目 输入一个链表的头节点&#xff0c;从尾到头反过来返回每个节点的值&#xff08;用数组返回&#xff09;。 示例 1&#xff1a; 输入&#xff1a;head [1,3,2]输出&#xff1a;[2,3,1] 限制&#xff1a; 0 < 链表长度 < 10000 解题思路 1.题目要求我们从尾到头反过…...

LeetCode--HOT100题(22)

目录 题目描述&#xff1a;160. 相交链表&#xff08;简单&#xff09;题目接口解题思路代码 PS: 题目描述&#xff1a;160. 相交链表&#xff08;简单&#xff09; 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表…...

产品体系架构202308版

1.前言 当我们不断向前奔跑时&#xff0c;需要回头压实走过的路。不断扩张的同时把相应的内容沉淀下来&#xff0c;为后续的发展铺垫基石。 不知从何时起&#xff0c;产品的架构就面向了微服务/中台化/前后端分离/低代码化/分布式/智能化/运行可观测化的综合体&#xff0c;让…...

Linux systemctl 简单介绍与使用

在Linux下&#xff0c;systemctl是一个管理系统服务的命令。它提供了对systemd服务的控制和管理。 在系统中使用systemctl命令&#xff0c;您可以执行以下操作&#xff1a; 启动服务&#xff1a;systemctl start servicename停止服务&#xff1a;systemctl stop servicename重…...

恺英网络宣布:与华为鸿蒙系统展开合作,将开发多款手游

8月5日消息&#xff0c;恺英网络宣布旗下子公司盛和网络参加了华为开发者大会&#xff08;HDC.Together&#xff09;游戏服务论坛&#xff0c;并在华为鸿蒙生态游戏先锋合作启动仪式上进行了亮相。恺英网络表示&#xff0c;将逐步在HarmonyOS上开发多款游戏&#xff0c;利用Har…...

Vue CORS

使用Vue框架报错&#xff0c;客户端浏览器有CORS错误&#xff0c;怎么解决&#xff1f; 参考API Proxying During Development&#xff0c;可以新增或修改config/index.js下的proxyTable属性。 留意到 proxyTable的key值为/api&#xff0c;代表所有服务端域名都改成以/api开头…...

Godot 4 源码分析 - 文件读入编码处理

今天需要读入xml文件进行处理&#xff0c;结果读入一个带中文的文件时&#xff0c;出错了。当然程序还能运行&#xff0c;但编译器一直报错&#xff0c;而且XML解析也不正确 单步调试发现读入的内容出现乱码&#xff0c;具体逻辑&#xff1a; String FileAccess::get_as_text…...

Linux 中使用 verdaccio 搭建私有npm 服务器

安装 Node Linux中安装Node 安装verdaccio npm i -g verdaccio安装完成 输入verdaccio,出现下面信息代表安装成功&#xff0c;同时输入verdaccio后verdaccio已经处于运行状态&#xff0c;当然这种启动时暂时的&#xff0c;我们需要通过pm2让verdaccio服务常驻 ygiZ2zec61wsg…...

C++入门之stl六大组件--stack和queue源码深度剖析及模拟实现

目录 前言 一、stack的介绍和使用 1.stack的介绍 2.stack的使用 3.stack的模拟实现 二、queue的介绍和使用 1.queue的介绍 2.queue的使用 3.queue的模拟实现 三、priority_queue的介绍和使用 1.priority_queue的介绍 2.priority_queue的使用 3.priority_queue的模…...

MyCat配置文件schema.xml讲解

1.MyCat配置 1.1 schema标签 如果checkSQLschema配置的为false&#xff0c;那么执行DB01.TB_ORDER时就会报错&#xff0c;必须用use切换逻辑库以后才能进行查询。 sqlMaxLimit如果未指定limit进行查询&#xff0c;列表查询模式默认为100,最多只查询100条。因为用mycat后默认数…...

Grafana集成prometheus(2.Grafana安装)

查找镜像 docker search grafana下载指定版本 docker pull grafana/grafana:10.0.1启动容器脚本 docker run -d -p 3000:3000 --namegrafana grafana/grafana:10.0.1查看是否启动 docker ps防火墙开启 检查防火墙3000端口是否开启 默认用户及密码 admin/admin 登录 ht…...

代码随想录算法训练营第五十七天| 647. 回文子串 516.最长回文子序列

代码随想录算法训练营第五十七天| 647. 回文子串 516.最长回文子序列 一、力扣647. 回文子串 题目链接 思路&#xff1a;对于字符串cabac&#xff0c;其中a,b,c,aba,cabac&#xff0c;都是回文子串&#xff0c;如果当前的字串是回文字串&#xff0c;那么它的字串中也会有回文…...

FLAME PyTorch高效构建参数化3D人脸模型实战指南

FLAME PyTorch高效构建参数化3D人脸模型实战指南 【免费下载链接】FLAME_PyTorch 项目地址: https://gitcode.com/gh_mirrors/fl/FLAME_PyTorch 在数字内容创作、虚拟现实和影视制作等领域&#xff0c;3D建模技术正发挥着越来越重要的作用。其中&#xff0c;参数化人脸…...

OpenClaw模型对比测试:Phi-3-vision-128k与纯文本模型在图文任务表现

OpenClaw模型对比测试&#xff1a;Phi-3-vision-128k与纯文本模型在图文任务表现 1. 测试背景与动机 最近在搭建个人自动化工作流时&#xff0c;遇到了一个典型问题&#xff1a;当OpenClaw需要处理包含图片和表格的文档时&#xff0c;纯文本模型的表现总是不尽如人意。作为一…...

jEasyUI 自定义对话框

jEasyUI 自定义对话框 引言 jEasyUI是一款流行的前端框架,它提供了一套完整的UI组件,旨在帮助开发者快速构建富客户端应用程序。在jEasyUI中,对话框是一个非常重要的组件,它可以用于显示信息、收集用户输入或执行其他交互任务。本文将详细介绍如何使用jEasyUI自定义对话框…...

OpenClaw多模态技能扩展:用Qwen3.5-9B实现截图OCR自动归档

OpenClaw多模态技能扩展&#xff1a;用Qwen3.5-9B实现截图OCR自动归档 1. 为什么需要智能截图归档 作为一个长期依赖截图保存信息的用户&#xff0c;我的桌面常年堆积着数百张未命名的截图文件。传统的解决方案无非两种&#xff1a;手动重命名&#xff08;耗时费力&#xff0…...

嵌入式开发高效数据结构:queue.h解析与应用

1. 嵌入式开发中的数据结构利器&#xff1a;queue.h深度解析在嵌入式开发的江湖里&#xff0c;数据结构的选择往往决定了程序的效率和稳定性。今天我要分享的是一个被很多开发者忽视的"神兵利器"——queue.h头文件。这个来自FreeBSD和Linux系统的头文件&#xff0c;通…...

论文AI率太高怎么降?去AI化实用技巧与工具避坑指南

“整篇论文都是自己原创的&#xff0c;就用AI顺了下逻辑&#xff0c;结果学校AIGC检测直接飙到73%&#xff0c;当场被打回”“熬了3个通宵手动改&#xff0c;AI率才降了不到12%&#xff0c;离答辩只剩一周根本赶不完”“随便找了个降AI工具&#xff0c;把我专业名词改得乱七八糟…...

openclaw连接飞书操作表格

01意义 将智能助手从电脑网页端连接到手机飞书&#xff0c;从此无需守在电脑前&#xff0c;用手机就能随时指挥它干活。未来&#xff0c;飞书中需要手动操作的任务&#xff0c;都可以交由 AI 智能助手来完成。它还能帮你构建企业知识库&#xff0c;随着飞书终端 CLI 能力的增强…...

2026海雅达HDT500手持终端PDA“12米远距扫描”应用案例:造纸厂原纸立库高层纸卷条码采集应用

标准工业原纸卷重达2吨、宽幅近2.8米&#xff0c;在12-15米高的原纸仓库中堆垛高达8-10米。高空扫码怎么破&#xff1f; 传统PDA扫码距离仅1米&#xff0c;难道必须冒生命危险爬上纸堆&#xff1f;海雅达HDT500的12米扫描头如何实现“降维打击”&#xff1f; 如何利用海雅达H…...

不再依赖翻译专员:跨马翻译让运营人员也能独立完成高质量多语言出图

一、一个让中型跨境团队头疼的问题 我们团队从最初的单人作战发展到现在的十五人规模&#xff0c;花了大概三年时间。团队架构从最早的"运营一肩挑"&#xff0c;逐步细分为运营组、产品组、设计组、客服组和市场组。分工越来越明确&#xff0c;但问题也随之而来——翻…...

OpenHTMLtoPDF字体加载机制深度解析:从Jar包困境到优雅解决方案

OpenHTMLtoPDF字体加载机制深度解析&#xff1a;从Jar包困境到优雅解决方案 【免费下载链接】openhtmltopdf An HTML to PDF library for the JVM. Based on Flying Saucer and Apache PDF-BOX 2. With SVG image support. Now also with accessible PDF support (WCAG, Sectio…...