Что означает "0xDEAD" в следующем коде?
Существует структура enum, но я не понимаю значения '0xDEAD - 2' в этом enum.
enum TerminatedTypes {
_not_terminated = 0xDEAD - 2,
_thread_exiting,
_thread_terminated,
_vm_exited
};
Из приведенного выше кода, какую выгоду я могу получить?
Код выше находится в 'hotspot / src / share / vm / runtime / thread.hpp' в openjdk8.
Я изучаю исходный код JDK, пожалуйста, помогите мне.
1 ответ
Решение
Это шестнадцатеричный литерал, используемый в качестве приманки для глаз (полезный в отладчиках), так что _thread_terminated
значение будет 0xDEAD
("завершенная нить" равна "мертвой").
Существует множество шестнадцатеричных литералов, которые люди используют для таких вещей, как DEADBEEF
из файла Jargon и так далее.