다음과 같이 가정합니다. 우리는 클래스 A 내에 중첩 된 개인 클래스 인 클래스 B를가집니다. 클래스 B로부터 상속하는 클래스가 없습니다. 질문 : 컴파일러가 클래스 B를 봉인으로 자동 표시합니까? (VB에서는 상속 불가) 컴파일러가 봉인 된 클래스 B를 표시하지 않는 이유가 있습니까?컴파일시 개인 클래스가 봉인됩니까?
내 생각은 클래스 B가 클래스 A 안에 중첩되어 있고 클래스 B에서 상속하는 다른 클래스가 없으므로 클래스를 상속 할 수 없으므로 봉인하는 것이 안전해야합니다. 클래스 A (A의 서브 클래스조차도 아님).
Class A
Private Class B
End Class
End Class
JIT는 클래스에 하위 클래스가 있는지 판단 할 수 있지만 유형의 봉인 된 비트가 있는지 확인하지 않습니다. 나는 이것을 뒷받침 할만한 언급이 없지만이 점에 대해서는 상당히 확신한다. – JaredPar
@ JaredPar, 많은 Java VM이 오랫동안이 작업을 수행했다는 것을 알고있는 한 (이는 기본 가상 메소드 (http://www.ibm.com/developerworks/library/j-java/) jtp12214 /), 그리고 나는 MS가 성능을 돕는 것으로 여겨지는 경우 그러한 최적화를 수행한다고 확신한다. – Lucero
@Lucero JIT는 명확하게 봉인 된 클래스를위한 것입니다. 그러나 봉인되지 않은 클래스에서 그렇게 할 수있는 부분 집합은 매우 적습니다. 마이크로 최적화가 그만한 가치가 있는지 확신 할 수 없습니다. 하지만 내가 말했듯이, 나는 어떤 문서도 찾을 수 없다. – JaredPar