java程序使用的内存结构是什么?

解决方案 »

  1.   

    stack
    new out thing heap
      

  2.   

    Stack和Head
    可以搜搜,对学习Java很有帮助。
      

  3.   

    JVM管理的内存有两种类型,堆内存(heap)和栈内存(stack)堆内存主要用来存储程序在运行时创建或实例化的对象和变量,比如通过new MyClass() 创建的类的对象。栈内存则是主要用来存储程序代码中声明为static的静态的方法,对象的引用和基本类型
      

  4.   

    Java 的内存模型比较复杂,参考这个页面中的一些资源:http://www.cs.umd.edu/~pugh/java/memoryModel/index.html#bib
      

  5.   

    栈与堆都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的(对象从中分配空间。这些对象通过new、newarray、anewarray和multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。 栈的优势是,存取速度比堆要快,仅次于寄存器,栈数据可以共享。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量(int, short, long, byte, float, double, boolean, char)和对象句柄。
      

  6.   

    Java内存结构有:
    1.寄存器(不可能用到)
    2.堆
    3.堆栈
    4.常量存储器
    5.静态存储器