Java RAM&;静态变量的好处
1) 为什么java存储在RAM中而不是存储在硬盘中。 2) 静态变量比正常变量有什么好处。普通变量是否因为类的对象有自己的副本而占用更多的内存空间Java RAM&;静态变量的好处,java,Java,1) 为什么java存储在RAM中而不是存储在硬盘中。 2) 静态变量比正常变量有什么好处。普通变量是否因为类的对象有自己的副本而占用更多的内存空间 Java不是“未存储在硬盘中”。Java解释器是从永久存储器加载的。以及组成Java程序的类文件。在运行时,处理器必须使用RAM(不管分页),这就是计算机的工作方式 如果一个变量是静态的,内存中将有一个或零个副本。如果它是实例变量,则类的每个实例都有一个副本。是的,如果类被实例化多次,静态变量将使用更少的内存 为什么java存储在RAM中而不是
- Java不是“未存储在硬盘中”。Java解释器是从永久存储器加载的。以及组成Java程序的类文件。在运行时,处理器必须使用RAM(不管分页),这就是计算机的工作方式李>
- 如果一个变量是静态的,内存中将有一个或零个副本。如果它是实例变量,则类的每个实例都有一个副本。是的,如果类被实例化多次,静态变量将使用更少的内存
public class Bicycle{
private int cadence;
private int gear;
private int speed;
// add an instance variable for the object ID
private int id;
// add a class variable for the number of Bicycle objects instantiated
private static int numberOfBicycles = 0;
......
}
每次执行
new Bicycle()
操作时,您将创建一个新对象(从而使用更多内存)及其所有属性,除了numberOfBicycles
,对于Bicycle
的所有Bicycle
实例,该属性只有一个,所有运行的程序都存储在内存中,而与编程语言无关。我想你的意思是为什么要使用.class文件而不是.exes。也就是说,为了可移植性,运行时基本上会在运行时将.class文件转换为.exe文件,以便相同的二进制文件可以在任何平台上运行,而不必为每个平台提供不同的文件
是的,实例变量比类变量使用更多的内存,因为每个实例都有自己的副本。静态变量使所有实例共享同一副本。如果你考虑一个人,每个人都有他们自己的名字(实例变量),而人的眼睛对每个人都是恒定的,除非出生缺陷和意外(类变量)。类变量和实例变量的用途截然不同。您的第一个问题不清楚,似乎您已经知道第二个问题的答案。所有正在运行的程序都存储在硬盘上。仅为内存中的所有对象创建了一个静态变量的副本。@Ram Bhat:不,正在运行的程序不在磁盘上。