zoukankan      html  css  js  c++  java
  • 利用IDEA搭建JDK源码阅读环境

    利用IDEA搭建JDK源码阅读环境

    首先新建一个java基础项目

    基础目录

    source 源码

    test 测试源码和入口

    准备JDK源码

    下图框起来的路径就是jdk的储存位置

    image-20200410092921547

    打开jdk目录,找到src.zip右键选解压

    image-20200410093244953

    解压后进入src文件夹,选择java、javax、org 复制 粘贴到 项目的source目录下

    注意注意!window系统不要在IDEA里面复制,而是像下图直接在文件夹之间复制。

    image-20200410103548221

    image-20200410103635416

    源码准备完毕

    解除Debug限制

    取消勾选单步进入底层类

    更换SourcePath

    原来的源码是受保护的,不能添加注释,所以更换为本项目source 目录下的源码

    image-20200410110027447

    image-20200410112649981

    编写测试代码

    public class Test {
        public static void main(String[] args) {
           StringBuffer stringBuffer = new StringBuffer();
           stringBuffer.append("可变序列");
           stringBuffer.append("123456");
    
           System.out.println(stringBuffer.toString());
           System.out.println(stringBuffer);
        }
    }
    

    输出的两句效果是一样的,想探究底层发生了什么

    在打印输出之前打个断点

    image-20200410112903513

    Debug查看底层源码

    F7单步进入查看

    上面的测试代码第9行传入的是一个字符串,所以直接打印String,再换行

    image-20200410113106684

    上面的测试代码第10行传入的是一个对象,这时println会自动将对象转换为字符串,然后再输出,最后换行。

    image-20200410113312171

    建议先看常用模块

    描述 重点类
    lang 基础语法,包装类型 基础类型,反射,注解
    util 基本工具 常用工具,JUC,原子类,锁
    io 阻塞式io 字节流,字符流
    nio 非阻塞式io
    math 基本数学,大数
    time 日期,时间
    net 网络通信 socket等
  • 相关阅读:
    $(this)的意思
    Springmvc框架文件上传单文件上传
    保险业务知识价税分离
    SpringMVC框架,json
    使用springmvc框架实现多文件上传
    oracle数据库中的绑定变量
    使用Springmvc框架实现多文件上传(二)
    Springmvc框架json对象的处理
    Springmvc框架json数据传递处理,解决方案2
    [算法] 6 种排序的重写,很熟练!
  • 原文地址:https://www.cnblogs.com/1101-/p/12672488.html
Copyright © 2011-2022 走看看