对象与类、JVM

一、

类:相当于现实世界中相似事物的抽象,‘类’是具有相同属性事物的总称。

对象:按照类创造出的个体。

块:类似于二维数组,逻辑地址在一起,物理地址不一定在一起。

文件都在磁盘中,经过编译之后就变成class文件。进入内存中每个程序都会占据空间, 比如QQ,微信,每个独立运行的程序它自己占的空间只能自己使用。

二、java占的内存区域叫JVM(Java运行时)

1、方法区

java进入方法区,所有的类信息会记录 在JVM的方法区内。

所有的java文件首次进入内存的时候,都是进入的方法区,在方法区把他们存起来了,在方法区相当于保存的设计图纸。只有设计图纸不够,要按照设计图纸创造。

2、栈区域、堆区域

栈就是数据结构里面的栈。

假设有很多方法:m1、m2等。

方法执行首先在栈里申请一个子栈,从主方法开始执行,它的触发事件是入栈,属于被拷贝到栈里面的,除了主方法,还有其他6个方法,m1,m2,m3,m4,m5,m6。入栈 被拷贝到栈里,方法执行完毕就出栈,到m5执行完毕,m5出栈,m4执行完毕也出栈,m3出栈,m4入栈,m5入,出,m4出,m4执行完,它由m1调用,m1执行完出栈,m4入,m5、m4出,m2出,main出栈。

栈结构:满足先入后出,后入先出。

程序内部控制程序的执行顺序的是栈。

线程:从进来到出去,整个线程的开始和结束,调用的过程,线程的本质是个栈。

利用栈结构创建

出栈,句柄没

二、

线程栈:

public class Test{ 
    public static void main(String[] aaa){
     int a = 9;
     int b = 8; 
    if(a > b){
         int k = m1(); 
    } 
    for(int i = 0;i < 2; i++){ 
        int s = 8;
        if(i == 1){ 
            int f = 8; 
        } 
    } 
    } 
    public static int m1(){ 
        int a = 10; 
        int b = 8; 
        if(a > b){ 
            a = 4; 
            int k = 3;
         }else{ 
            int h = 8; 
        } 
            return a + b;
 } 
}

遇到“{}”这里面声明的变量(int k = 3)要被回收,出栈。k = 12,回到上面声明的k被回收,出栈。每声明一个一个变量也是压栈操作,只不过压的方法栈。

凡是静态资源的话,进入内存都会给它分配一个属于自己的空间,相当于现实世界中被造出来了。静态操作起来方便,可以直接调用(static方法、属性)下图 静态m1,非静态m2(没有属于自己的空间,会报错)

1)public class Person{

public int age;

public int height;

public String name;

public static int flag;

public static void m1(){}

public void m2(){}

}

2)

public class Test{

public static void main(String[] aaa){

Person.m2();

}

}

三、

静态属于类,通过类调用 静态变量。

非静态的是在堆中。

创建方式 通过 new,照着设计图纸创造,静态有了,不需要创造,只创造非静态(有独立空间了)。

Person是类 而堆中的是对象,

引用类型 句柄和值不能在一起。

以方法为单位执行。在方法里面声明的变量没有默认值。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值