JAVA——底层源码阅读——包装数据类型Integer.valueOf()自动装箱方法底层源码分析

JAVA——底层源码阅读——包装数据类型Integer.valueOf自动装箱方法底层源码分析

  • 一、提出问题
  • 二、查看源码方法
    • 途径1、查看本地文件(不推荐)
    • 途径2、在编辑器里查看jdk源码(推荐)
  • 三、查看Integer源码
    • 步骤1、新建java文件,把代码敲上去如下
    • 步骤2、还原代码
    • 步骤3、查看源码。
    • 步骤4、阅读和分析源码。
  • 四、总结原因

  • 当前 jdk版本:jdk1.8.0_74

一、提出问题

为什么用==进行比较Integer类型的变量,变量值不同,比较的结果也不同?
如下图所示:两个赋值为10的Integer类型变量比较结果相同,两个赋值为128的Integerlei类型变量比较结果不同。
JAVA——底层源码阅读——包装数据类型Integer.valueOf()自动装箱方法底层源码分析_第1张图片

二、查看源码方法

途径1、查看本地文件(不推荐)

1.打开Java安装路径,查看根目录,发现一个src的压缩包,这个压缩包里存放的就是jdk的源码。
2.可以通过解压文件夹,如图所示按照需要查看对应路径文件
JAVA——底层源码阅读——包装数据类型Integer.valueOf()自动装箱方法底层源码分析_第2张图片

途径2、在编辑器里查看jdk源码(推荐)

途径1查看源码极不方便,因此通常在在编辑器里查看jdk源码,有关联的内容可以直接通过CTRL+鼠标左键跳转查看。
以eclipse为例:
如图所示把鼠标放在Object上,按住CTRL后单击鼠标右键,就会跳转
JAVA——底层源码阅读——包装数据类型Integer.valueOf()自动装箱方法底层源码分析_第3张图片
JAVA——底层源码阅读——包装数据类型Integer.valueOf()自动装箱方法底层源码分析_第4张图片

三、查看Integer源码

步骤1、新建java文件,把代码敲上去如下

public class Temp {

	public static void main(String[] args) {

		Integer i = 10;

你可能感兴趣的:(Java,java)