黑马程序员技术交流社区

标题: 对象问题 [打印本页]

作者: 邱俊彬    时间: 2015-1-25 22:57
标题: 对象问题
class DeadLockDemo
{
        public static void main(String[] args)
        {
               
                new Thread(new Demo(false)).start();

               
                new Thread(new Demo(true)).start();
               
        }
}
看毕老师视频  看到死锁那里 想问一下   new Demo(false)和new Demo(true)是同一个对象吗?不是new了就不是同一个吗?
小白求解

作者: 赵耿    时间: 2015-1-25 22:57
看以上图,显然并不是同一个对象,每new一次,就生成一个新的对象,往后面看视频,慢慢就理解了!

无标题.png (65.44 KB, 下载次数: 7)

看图理解

看图理解

作者: 朋好友    时间: 2015-1-25 23:29
不是同一个对象,每new一次,就在堆内存中新建一个对象。
作者: 邓士林    时间: 2015-1-26 08:45
线程也是个类,new一个肯定只属于该对象,
作者: 安鑫东    时间: 2015-1-27 21:44
同一个类,每被new一次,就会在堆内存创建一个对象,创建出来的对象没有引用时,会等待被GC清理掉
作者: heshiwei    时间: 2015-1-28 20:20
不是同一个对象,每new一次,就会在堆内存中开辟一块空间,创建对象并且为属性赋值
作者: xiaozhong    时间: 2015-1-30 08:48
楼上
这两个对象,不是在main当中的,main是在栈内存中的,新开辟的两个空间应该是在堆内存中的,
当调用完一个对象后,他的空间也消失了,随着对象的消失而消失
作者: 边晓炎    时间: 2015-1-30 15:28
不是同一个对象!是两个对象!!
作者: 鸿鹄2008    时间: 2015-2-6 18:55
还没学到咧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2