java堆栈内存_关于 js 与 Java 堆栈内存的一些疑惑

最近学习中遇到了些疑惑,希望 v2 各位大牛解惑。

先说 js ,限定在 ES5 讨论。在 js 中对象是存在堆内存中的,变量只是个引用,那对象的属性是存在哪的呢,假设该属性是个数字 3 ,函数作用域中的变量又是存在哪里呢。

再说 java , static 修饰的静态变量我理解为和 js 构造函数本身的属性是类似的东西,这东西存在哪块内存,局部变量存在哪块内存,类 new 出的对象中实例变量又存在哪里。

问题总结:下面两段 java 和 js 代码中, demo.num1 , DemoJava.num2 , num3 , num4 , obj1.num5 , arr1[0]都存在内存哪里?

public class DemoJava {

public int num1 = 1;

public static int num2 = 2;

public static void main(String[] args) {

DemoJava demo = new DemoJava();

int num3 = 3;

System.out.println("num1:" + demo.num1);

System.out.println("num2:" + DemoJava.num2);

System.out.println("num3:" + num3);

}

}

var fun1, obj1, arr1;

function add() {

var num4 = 4;

}

obj1 = {

num5: 5

};

arr1 = [6, 7];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值