PDF 课件和源代码下载地址:
https://gitee.com/geektime-geekbang/LetsJava
作者回复: 简单来说,输出的是个string,什么string呢,这个引用调用toString方法返回的那个String。 也就是利用这个对象名操作对象,调用其toString方法,然后那这个方法返回的string内容输出出来。 当然,调用方法什么的,是在println这个方法的代码里完成的
作者回复: 这里有三个地址:m5自己的地址,m5地址里的值,也就是某个对象的地址,还有m1的地址。 m1和m5的地址是不变的,也不会变。变的是它们的值。也就是地址对应的值。赋值完成后,m1和m5的值是一样的了,都是m5的值存储的那个对应的地址的对象(也就是m5指向的对象)
作者回复: 😁
作者回复: 有什么错误?是不是创建的不是java的项目?
作者回复: 看问题,应该是IntelliJ没有感知到JDK。可以按照这篇FAQ配置一下JDK https://xie.infoq.cn/article/d76e5262dfde072780d414ff7
作者回复: 这个还真是靠极客时间的编辑和剪辑把关,我开始录的时候,一个课题都是四十分钟、一个小时,根本停不下来😄
作者回复: 后面还会说什么是对象,加油哦~
作者回复: 开启了引用压缩会把引用压缩至32位。这样会节省很多内存空间。在细节一点,对象占用的空间是八字节对齐的,所以后面三位都是0,这样虽然引用压缩为八字节,但是实际可以用的空间有32g