什么' 0xDEAD'在下面的代码中表示什么?

时间:2014-09-09 02:22:35

标签: enums magic-numbers sentinel

有一个枚举结构,但我不明白这个枚举中'0xDEAD - 2'的含义。

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

从上面的代码中,我可以获得什么样的好处?

上面的代码位于openjdk8中的“hotspot / src / share / vm / runtime / thread.hpp”中。

我正在研究jdk的源代码,请帮助我。

1 个答案:

答案 0 :(得分:10)

它是一个十六进制文字,用作引人注目的(在调试器中很有用),因此_thread_terminated值为0xDEAD(“终止线程”等于“死”)。

人们会使用大量的十六进制文字来处理这类内容,例如来自the Jargon fileDEADBEEF,等等。