首先我们知道java是一个面向对象的语言,在java中我们常常会被把象和对象的引用混为一谈。下面我们先看一段代码
我们知道JVM的内存模型是:堆,栈,方法区;其中堆中存放的是数组和对象的实例,栈中存放的是基本数据类型对象的引用(指针,地址),方法区存放的是static修饰的内容(静态变量),final修饰的内容(常量),类的修饰符(类信息),运行时常量池。
上边的代码解释是new Object()是创建一个对象而object是对这个对象的引用也就是对象的引用,当这个代码执行的时候new Object()会放在堆中,object这个对象的引用会存放到栈中并指向堆中的这个对象实例。