2015年11月

什么是“元数据”

今天在看图灵网站上的《码农》杂志时,有一段对“元数据”的解释非常的简洁易懂,摘抄一下。

“元”这个词,是来自希腊语中表示“在……之间、在……之后、超过……”的前缀词meta,具有超越、高阶等意思。从这个意思引申出来,在单词前面加上 meta,表示对自身的描述。例如,描述数据所具有的结构的数据,也就是关于数据本身的数据,被称为元数据(Metadata)。

像C这样的编程语言中,语言本身所提供的数据,基本上都是通过指针(地址)和数值来表现的。在语言层面上虽然有数组和结构体的概念,但经过编译之后,这些信息就丢失了。不过, “现代派”的语言在运行的时候,还会保留这样一些信息。例如在C++中,一个对象是知道自己的数据类型的,通过这个信息,可以在调用虚拟成员函数时,选择与自己的类型(类)相匹配的函数。在Java中也是一样。像这样获取和变更程序本身信息的功能,被称为反射(Reflection)。