在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...