2014-09-09 2 views
4

enum 구조가 있지만이 열거 형에서 '0xDEAD - 2'의 의미를 이해하지 못합니다.다음 코드에서 '0xDEAD'는 무엇을 의미합니까?

enum TerminatedTypes { 
    _not_terminated = 0xDEAD - 2, 
    _thread_exiting,        
    _thread_terminated,       
    _vm_exited         
}; 

위의 코드에서 어떤 이점을 얻을 수 있습니까?

위 코드는 openjdk8의 'hotspot/src/share/vm/runtime/thread.hpp'에 있습니다.

jdk의 소스 코드를 배우고 있습니다. 제발 도와주세요.

+4

16 진수 표현이 멋지 기 때문에 그냥 센티넬 값을 선택했습니다. –

+0

16 진수 리터럴 ... http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html – jdphenix

+3

이것은 [* 마법 번호 *]의 예입니다 (http : //en.wikipedia. org/wiki/Magic_number_ % 28 프로그래밍 % 29). 또 다른 것은'0xCAFEBABE'입니다. –

답변

9

_thread_terminated 값이 0xDEAD ("종료 된 스레드"가 "죽었음")이되도록 eyecatcher (디버거에서 유용함)로 사용되는 16 진수입니다.

DEADBEEF에서 the Jargon file까지 사람들이 사용하는 16 진수 리터럴 등이 있습니다.

관련 문제