A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邱俊彬 中级黑马   /  2015-1-25 22:57  /  2641 人查看  /  8 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

3黑马币
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了就不是同一个吗?
小白求解

最佳答案

查看完整内容

看以上图,显然并不是同一个对象,每new一次,就生成一个新的对象,往后面看视频,慢慢就理解了!

8 个回复

倒序浏览
看以上图,显然并不是同一个对象,每new一次,就生成一个新的对象,往后面看视频,慢慢就理解了!

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

看图理解

看图理解
回复 使用道具 举报
不是同一个对象,每new一次,就在堆内存中新建一个对象。
回复 使用道具 举报
线程也是个类,new一个肯定只属于该对象,
回复 使用道具 举报
同一个类,每被new一次,就会在堆内存创建一个对象,创建出来的对象没有引用时,会等待被GC清理掉
回复 使用道具 举报
不是同一个对象,每new一次,就会在堆内存中开辟一块空间,创建对象并且为属性赋值
回复 使用道具 举报
楼上
这两个对象,不是在main当中的,main是在栈内存中的,新开辟的两个空间应该是在堆内存中的,
当调用完一个对象后,他的空间也消失了,随着对象的消失而消失
回复 使用道具 举报
不是同一个对象!是两个对象!!
回复 使用道具 举报
还没学到咧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马