2014-07-08 2 views
0

짧음 : 선언 또는 초기화시 메모리가 할당되는시기는 언제입니까?선언/초기화 및 메모리 할당

길게 :int x;int z = 10;과 같은 메모리를 사용합니다.

더 많은 데이터가 포함 된 사용자 정의 개체의 경우에도 어떻게 작동할까요?

public class Factor 
{ 
    private String name; 
    private int value; 
    private int time; 
    private double x; 
    private double y; 
    private double z; 
    private double h; 

    public Factor(String name, int value, int time) 
    { 
     this.name = name; 
     this.value = value; 
     this.time = time; 
    } 
} 

그리고 나는 그것이로 초기화 : 의 내가이 객체가 있다고 가정 해 봅시다

Factor f = new Factor("Name", 10, 10); 

X, Y, Z, 시간 (더블) 지금까지 복용 메모리가 있습니까? 어떤?

이것은 어리석은 질문 일지 모르지만 단순히 답을 준 적이 없다고 말하면서 거대한 배열에 사용되는 다중 생성자 개체를 최적화해야합니다.

답변

1

x, y, z, h (double)가 메모리를 차지합니까? 어떤?

예들은 그러나 이것은 당신이 당신의 기억 최적화 할 수있는 핵심 포인트가 아닌 그들이 0.0d

입니다 default value로 초기화 할

내가 알고있는 것처럼
0

, 선언은 이름을 철자 및 변수 유형.

생성자가 호출 될 때 할당 및 초기화가 발생합니다.

물론 복식이 메모리를 차지합니다. 64 비트 IEEE 부동 소수점 수입니다.

초기 값을 제공하지 않으므로 0.0으로 설정됩니다.

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

귀하의 요소 객체는 흥미 롭다. 이름을 null 또는 공백으로 할 수 있습니까? 그렇지 않은 경우 생성자에서 null 또는 공백으로 설정하는 것을 방지해야합니다.

시간이 음수 일 수 있습니까? 그것은 대개 내 물리학에서 연속적인 변수입니다. 단위는 몇 초입니까, 몇 초입니까?