类中的静态变量和静态方法能够与类名一起使用,不需要创建一个类的对象来访问该类的静态成员,所以,static修饰的变量又称作“类变量”。 static属性的内存分配 一个类中,一个static变量只会有一个内存空间,虽然有多个类实例,但这些类实例中的这个static变量会共享同一个内存空间。 static的变量是在类装载的时候就会...
2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。) 3. 堆:存放所有new出来的对象。 4. 静态域(属于方法区) :存放静态成员(static定义的) 5. 常量池 (属于方法区):存放字符串常量和基本类型常量(public static ...
栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中。 堆:存放new出来的对象,注意创建出来的对象只包含各自的成员变量,不包括成员方法。 常量池:存放常量,如基本类型的包装类(Integer、Short)和String,注意常量池位于堆中。 代码段:用来存放从硬盘上读取的源程序代码。 静态域:用来存放stati...
堆一般存放引用类型的对象,也就是我们通过new创建的对象存储在堆中,数组值也可以存储在堆中; 对于类的非静态成员变量值(不管是基本数据类型还是引用类型)、非静态成员变量的引用,存储在堆中:(例如在可以在类中创建一个int类型的数组变量: int[] array = new int[]{1,2};虽然是1,2这两个是基本类型的数据,...
(1)栈中主要存放一些基本数据类型的变量(byte,short,int,long,float,double,boolean,char)和对象的引用。 (2)栈的优势是,存取速度比堆快,栈数据可以共享。但缺点是,存放在栈中的数据占用多少内存空间需要在编译时确定下来,缺乏灵活性。 举例说明栈数据可以共享 ...
堆 存放的是所有new出来的东西 每一个new出来的东西都会为其分配一个地址值。 每一个变量都有一个默认的值 数据类型 值 byte,short,int,long 0 float,doubl... 查看原文 成员变量与局部变量区别 成员变量和局部变量的区别 (1)在类中的位置不同 成员变量:类中方法外局部变量:方法定义中或者方法声明上 (2...
static修饰符能够与属性、方法和内部类一起使用,表示静态的。类中的静态变量和静态方法能够与类名一起使用,不需要创建一个类的对象来访问该类的静态成员,所以,static修饰的变量又称作“类变量”。 static属性的内存分配 一个类中,一个static变量只会有一个内存空间,虽然有多个类实例,但这些类实例中的这个static变量...
2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。) 3. 堆:存放所有new出来的对象。 4.静态域:存放静态成员(static定义的) 5.常量池:存放字符串常量和基本类型常量(public static final)。
(1)局部变量表 就是用来存储方法中的局部变量(包括在方法中声明的非静态变量以及函数形参)。对于基本数据类型的变量,则直接存储它的值,对于引用类型的变量,则存的是指向对象的引用。局部变量表的大小在编译器就可以确定其大小了,因此在程序执行期间局部变量表的大小是不会改变的。