Java程序的保存地址主要取决于程序的类型和存储位置:
寄存器:
这是最快的存储区,位于处理器内部,但数量极其有限,无法直接控制。Java程序中的基本数据类型变量和对象引用通常存储在栈内存中,而对象本身则存储在堆内存中。
栈内存:
位于RAM中,通过堆栈指针管理。栈内存用于存储局部变量、方法调用和对象引用等。基本数据类型的变量和对象引用存储在栈内存中,而对象本身则存储在堆内存中。
堆内存:
也是一种RAM区域,用于存储Java对象。与栈内存不同,堆内存由编译器自动管理,程序员无需指定存储空间的大小和生命周期。在Java程序中,使用`new`关键字创建的对象都保存在堆内存中。
文件系统:
当Java程序生成文件时,文件通常保存在当前工作目录下,即`user.dir`路径。可以通过`System.getProperty("user.dir")`获取当前工作目录的路径。
总结:
Java程序中的数据主要存储在寄存器、栈内存和堆内存中。
寄存器速度最快,但数量有限,主要用于存储基本数据类型和对象引用。
栈内存速度次之,用于存储局部变量和方法调用。
堆内存用于存储Java对象,由编译器自动管理。
生成的文件默认保存在当前工作目录下,可以通过`System.getProperty("user.dir")`获取路径。