发布网友 发布时间:2022-04-25 16:32
共3个回答
热心网友 时间:2023-10-18 06:46
内存是如何分配的:1. 寄存器 - registers 反应最快的存储,在处理器里,数量有限,由编译器分配2. 栈 - stack 位于常规内存区-general random-access memory area 处理器通过栈指针对他进行直接存储 仅次于寄存器的速度和效率 被存储在栈中的数据的大小和生命周期必须是已知的 Java把某些--特别是referenc存放在栈里,但对象本身并没有放在栈里。 3. 堆 - heap 多用途的内存池 - general-purpose pool of memory 保存所欲的Java对象 同栈比较,优点是:分配空间的时候,编译器无需知道该分配多少空间,已经存放的时间 用关进字new来分配、 比栈要慢,C++中能在stack里创建对象就会快很多。4. 静态存储 - static storage 静态就是“在固定”的位置 数据在整个程序的运行期间都能访问 关键字static,但Java对象本身是不会放到静态存储中5. 固定存储 - constant storage constant常量值通常直接放在程序里,不会被改动,因而安全 在嵌入式系统中,能选择是不是把他们放到ROM中6. 非内存的存储 数据完全独立于程序:流对象-streamed object 和persistent object 由对象转化而成的字节流;persistent objec 保存在磁盘上,需要时在内存里重建热心网友 时间:2023-10-18 06:47
数据存在内存的时候。JVM对内存管理划分了四个主要区域热心网友 时间:2023-10-18 06:47
不知道你说的是什么数据,java运行时候的数据?内存里。