繁体   English   中英

调用 new Object() 时会发生什么?

[英]What happens when you invoke new Object()?

我试图弄清楚当您创建 Object 时会发生什么,但我没有在 Object.java 中找到 Object() 构造函数方法。

Object 确实有一个无参数构造函数,您可以通过转储 class 的字节码来查看它,使用

javap -v java.lang.Object


public java.lang.Object();
Code:
Stack=0, Locals=1, Args_size=1
0:  return
LineNumberTable: 
line 20: 0
Object object = new Object();

这是完全有效的代码。 它基本上什么都不做。 我见过的唯一用途是将它用作锁:

int c = 0;
Object lock = new Object();

...

synchronized(lock) { 
    c++;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM