java中byte x =1;执行过程

一、byte x = 1;这个过程中计算机底层做了什么?

1、x是变量空间,它存放在哪里?
2、1是常量,它存放在哪里?
3、= 是赋值,它做了什么?

1、创建:首先,我们在硬盘创建了一个Test.java文件(硬盘)
2、编译:经过编译器javac.exe编译成Test.class字节码文件(硬盘)
3、执行:在内存中执行,由类加载器(classLoader)将硬盘中Test.class文件的信息加载到内存中,运行的时候不是运行Test.class文件,而是运行Test.class文件的信息,所以是java Test
在开始运行的时候,JVM会把空间分成三块(内存):
① 栈空间:连续的空间,先入后出,存放变量,所有的执行过程都是在栈空间中
② 堆空间:不连续空间,存放对象,
③ 方法区:已被虚拟机加载的类信息、常量、字符串常量、类静态变量、即时编译器编译后的代码等数据,所有元素只有一份,不能被修改,被所有对象共享,线程共享
4、执行过程:首先把main方法加载到栈空间,再在栈空间中开辟一块空间存放x的内容----------->从常量池中复制1,把1的副本赋值给变量x

在这里插入图片描述:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值