Java中的枚举类型是存储在Java运行期的那个区域?为什么单例模式用枚举就完美解决了?
枚举的内存分配是发生在什么时候?初始化又是啥发生在什么时候?代码中使用枚举时候,发生了什么事情?
PHP中文网2017-04-18 10:52:17
에 존재합니다. 으아악Java의 열거형은
Method Area
(메서드 영역)
위 코드는 다음과 같이 컴파일됩니다.
으아악자바의 정적 변수는 결국 Method Area
에 저장되어 있는데 실제로는 상수가 정적 변수로 컴파일되는 것을 볼 수 있습니다.
单例模式
의 목적은 메모리에 단 하나의 인스턴스 가 있도록 하는 것이며枚举值
는 고정 되어 숫자를 제어하는 목적만 달성할 수 있습니다. 인스턴스싱글턴을 구현하기 위해
으아악class
을 사용하는 것과enum
을 사용하는 것의 차이점은class
이 액세스를 우회하는 것을 방지하려면constructor
액세스 수준을private
로 설정해야 한다는 것입니다.reflect
을 제어하여 객체를 생성하려면 다음과 같은 추가 처리가 필요합니다.회신하다0