重点词是: 对象。
java 是一个面向对象编程的过程,在java中万物都是对象,为什么要这么设计呢?
oop面向对象编程:对于管理人员 这是一个更快的更廉价的开发和维护的过程;对设计人员则是建模简单思路清晰,让我们思考对象的时候需要形象的思维去。
对象是一种抽象的描述,也可以说在java中一切都是对象。其实操作对象的仅仅是他的引用,用new不是创建对象,而是创建对象的引用,当在一个作用域里面用new创建对象,引用的作用区域就是那个花括号,但是引用指向的类型对象仍然存在内存空间中,但是java用自助的垃圾回收机制,会在这个对象不再被用的时候进行清理,这也是java优先于其他的地方,避免了因不能及时清理内存造成内存泄漏的问题。
对象的存储位置在:
寄存器(最快的存储区,位于处理器中央,但是数量有限);
堆(一种通用的内存池,也在ram中,不用再创建之前知道具体的生命周期,当需要一个对象的时候,在程序执行到new的时候,会在堆中进行存储分配,灵活性强,所有可能导致在内存的清理上需要更长 的时间);
堆栈(位于通用ram中随机访问存储器,可以通过堆栈指针去支持,指针向下是添加新的内存,指针向上是释放内存,这是一种快速的分配内存的方式,仅次于寄存器,但是在创建程序时,必须要知道存储在堆栈中的所有对象的生命周期和类型,局限性);
常量存储(程序代码内部,安全的);
非ram存储(在程序之外的,不受控制的比如:流对象和持久化对象);
对于基本类型或者new一个对象,都会有默认的值,java这样避免了很多错误,进行了初始化的功能。