Java 程序的执行流程&内存结构

一、运行流程在这里插入图片描述

①.将编写好的java源程序(.java)通过编译器生成字节码文件(.calss)
②.通过JVM类加载器加载所有的字节码文件
③.加载完字节码文件后交给JVM执行引擎执行Java程序。
  注意:所有的Java程序最终都是在运行时数据区来运行。

内存结构

           ①.方法区
    -类的信息(访问修饰符 全类名(包名+类名) 注解)
    -静态的成员的属性(static修饰的成员属性)
    -常量(static final 修饰的成员属性)
     final:

  •    1.fanal修饰的类不能被继承 String类默认final修饰
  •    2.final修饰的成员属性是常量
         常量是存储在方法区的常量池
  •    3.final修饰的方法不能被重写
        -静态方法(static修饰的成员方法)
        -成员方法
    ②.堆
      -new 出来的对象
      -数组、接口
    ③.栈
      -局部变量
      -对象的引用

静态变量和实例变量(成员变量)的区别?

①.静态变量存储在方法区(静态域)
②.实例变量存储在堆中
③.静态变量可以被所有的对象共享
④.实例变量只属于某一个实例

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值