java 对象是通过jvm来分配内存的,而jvm是通过os来管理内存的。jvm的不同os实现,对内存的管理也是不同的。主要看操作系统(os)

解决方案 »

  1.   

    先大体说一下:
        基本类型是存储在栈(Stack)中,存储的是值;而对象是存储在堆(Heap)中,存储的是引用。常量值常常被直接置于程序的代码中的。而序列化对象会被转化为连续的bytes而存储在磁盘上的。1。当使用new生成一个对象时,就在堆里(heap)时分配一些内存单元来存储这个对象,如不是匿名对象的话,还将返回一个引用。
    2。属性是按声明的顺序进行初始化的,但在内存中不一定是按地址顺序进行排列的。
    3。是这样的。
    4。在刚才1中已经说了,还将有个引用(或称为句柄)5。至于序列化对象,它不公存储对象在内存中的原始数据,还存储该对象内的所有references并存储它们所指的对象。。