1,可以存储数据的地方:
寄存器。最快的存储区。位于处理器内部。数量少,根据需求分配,无法直接控制,程序中感知不到存在。
栈。位于RAM(随机访问存储器)。栈针下移分配新内存,上移释放内存。快速有效的分配存储方法,仅次于寄存器。一般存储的是 对象的引用。Java对象不存储在栈里。基本数据是存放在栈中。
堆。位于RAM。存放所有的Java对象。区别于栈的好处:编译器不需要知道存储的数据在堆里面存活多久。因此堆里分配存储灵活性大。缺点是存储分配和清理时间会久。
常量存储。存放在程序代码内部,不会被改变。
非RAM存储。流对象(字节流),持久化对象(存放在磁盘上),例如jdbc,hibernate。
永远不需要销毁对象
2,垃圾回收器,用来监视用new创建的所有的对象,辨别不会再被引用的对象,就会释放这些对象的内存空间。消除了内存泄漏。
3, 字段和方法
字段(也称数据成员)。普通字段不能在对象间共享。
方法(也称成员函数)
4,Static关键字
被static修饰的字段:被分配单一存储空间(每个类只有一份,非static字段对于每个对象有个存储空间)。被static修饰的方法:不与包含他的类的任何对象关联。
5,注释
类,域,方法。
网友评论