首页
it技术
登录
6mi
u
盘
搜
搜 索
it技术
java---内存分配
java---内存分配
it
2025-11-09
9
/* * 内存分配 * 1.凡是在栈区存放的,只能在一函数中使用,不能跨函数使用 * 2.一个函数中动态分配的空间,可以跨函数使用,如:mallc(),new出来的 * 3.每new 一个对象,在堆中就有一块空间被分配出来。 */
class
A
{
int
i
;
int
j
;
}
public
class
hello
{
public
static
void
main
(
String
[
]
args
)
{
A aa
=
new
A
(
)
;
//相当于A aa=(A*)malloc(sizeof(A));A是数据类型,或者方法、类
//new A();在堆中动态分配了一块区域,被当做了A的对象
//aa本身的的内存是在栈中分配的,堆中的内存的地址赋给了aa
//aa指向堆中的内存,aa代表了堆中的内存;
//aa是静态分配的,因为是以数据类型 变量名的方式定义的,而new A()是动态的内存分配
//aa.i代表:aa这个静态指针变量所指向的动态内存中的A对象的i这个成员
aa
.
i
=
10
;
//aa本身没有i这个成员,aa保存的是A这个对象的首地址,指向了A
aa
.
j
=
20
;
System
.
out
.
printf
(
"%d %d\n"
,
aa
.
i
,
aa
.
j
)
;
}
}
转载请注明原文地址: https://lol.8miu.com/read-31321.html
最新回复
(
0
)