在jdk8
原始碼的allocation.hpp
中,有
#define METASPACE_OBJ_TYPE_DECLARE(name) name ## Type,
#define METASPACE_OBJ_TYPE_NAME_CASE(name) case name ## Type: return #name;
enum Type {
// Types are MetaspaceObj::ClassType, MetaspaceObj::SymbolType, etc
METASPACE_OBJ_TYPES_DO(METASPACE_OBJ_TYPE_DECLARE)
_number_of_types
};
不理解 ## 在
define
中是什麼語法規則.
#define
是定義變數,2個##是連接運算子,可以查看##
是連接運算符,請參閱 https://stackoverflow.com/que...