java 学习笔记~ 调用顺序 过程 静态和非静态调用区别 (画图演示)

在磁盘上 .java 文件经 JDK 变为 .class文件 。.class文件经JRE 进入内存

所有类在jvm的方法区内

栈(线程):控制体系结构中程序内部的执行顺序

调用顺序

public class Test{

public static void main(String[] aaaa){

System.out.println("main start"); //1

m1();

m2();

System.out.println("main end"); //20

}

public static void m1(){

System.out.println("1 start");//2

m3();

m4();

System.out.println("1 end"); //13

}

public static void m2(){

System.out.println("2 start"); //14

m4();

System.out.println("2 end"); // 19

}

public static void m3(){

System.out.println("3 start");//3

m4();

System.out.println("3 end");//8

}

public static void m4(){

System.out.println("4 start");//4 9 15

m5();

System.out.println("4 end");//7 12 18

}

public static void m5(){

System.out.println("5 start");//5 10 16

System.out.println("5 end");//6 11 17

}

public static void m6(){

}

}

      。。。      

 

 

静态成员,进入内存 同时分配自己的空间

 

静态不在对象中

person a=new person();

person b=new person();

两个对象 用new 给非静态创造个体 都有自己的地址

拷贝person类中的非静态 在堆中生成对象。(对象成员都有默认值)

 

 

方法区内一个程序方法整体(例如Public class Person创建的Person,里面包含age、height等方法)是类,以类为模板在堆里创建的个体就是对象。栈中的是引用句柄。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值