3
Java에서 간단한 getter/setter를 사용하는 public 속성과 private 속성의 바이트 코드의 차이점은 무엇입니까? 공공 분야와바이트 코드 - 공용 속성과 개인 속성의 차이점
Java에서 간단한 getter/setter를 사용하는 public 속성과 private 속성의 바이트 코드의 차이점은 무엇입니까? 공공 분야와바이트 코드 - 공용 속성과 개인 속성의 차이점
당신이 :와
aload_0
iconst_1
putfield #1; //Field public
return
개인 + 세트/수 :
이aload_0
iconst_1
putfield #1; //Field private
return
public int getA();
Code:
0: aload_0
1: getfield #1; //Field private
4: ireturn
public void setA(int);
Code:
0: aload_0
1: iload_1
2: putfield #1; //Field private
5: return
그래서보기 개인 + 세트/GET의 성능 지점에서 불과 불필요한 오버 헤드를 제공합니다. 그러나 아키텍처 이익을 가지며 JavaBeans와 같은 일부 컨벤션에서 사용해야합니다.
지침을보기 위해 어떤 도구를 사용합니까? – paislee
javap -c <.class 확장자가없는 클래스 파일 이름> – msi
JIT는 setter/getter의 인라인 사용 가능성이 높습니다. –