메모리가 자주 호출되는 메서드 내에서 변수를 초기화해도 괜찮습니까? 는 기본적으로,이 예제 방법 :Java - 메모리 효율성을 위해 변수를 어디에서 초기화해야합니까?
int amount;
private boolean method() {
amount = Random.nextInt(0, 100);
return amount == 50;
}
/더 적은을 /이 방법 메모리 효율성 측면에서 같은 :
private boolean method() {
int amount = Random.nextInt(0, 100);
return amount == 50;
}
그리고 그래, 나는이없는 가장 좋은 예입니다 알고, 그들에게 약간의 중복이 있음을 의미합니다. 미안합니다.
어쨌든, 사전에 감사합니다.
인스턴스 변수 나 클래스 변수로 'amount'를 사용할 필요가 없다면 두 번째 방법이 더 좋습니다. – NINCOMPOOP
로컬 변수는 항상 스택에 푸시되고 인스턴스 변수는 힙에 저장됩니다. – afk5min
효율성을 높이고 프로그래밍 오류를 줄이기 위해 가능한 가장 좁은 범위를 갖도록 변수를 선언하는 것이 가장 좋습니다. (범위가 좁은 변수는 실수로 잘못 사용될 가능성이 적고 스레드 안전성이 높습니다.)하지만 효율성에 대해 염려가되는 경우 알고리즘과 사용하는 변수 유형이 영향을 미칠 가능성이 큽니다 . 예를 들어, 메소드의 임시 변수를 제거하고 컴파일러가 저장 영역을 최적화하도록 할 수 있습니다. –