转载请注明出处:http://blog.csdn.net/u012250875/article/details/78091813
在编程中常常会遇到“meta”的概念,翻译为“元”。以下是一些常见的与“元”相关的词汇以及我对这些词汇的理解。
元数据
描述数据的数据。接触元数据的概念,是在java中的注解这个概念中,所谓注解,本身即一种元数据,它被用来描述既有代码,为代码添加了一些信息,方便未来的某个时候的提取和使用(代码就是一种数据,而注解恰恰又可以来为代码这样的数据添加额外的数据信息,同时注解本身可以注解自己,如元注解)元注解
这也是java中的一个概念,元注解是可以用来定义其他注解的注解,同时元注解可以注解自身,如下展示两个元注解的源码,@Target和@Retention注解用来注解别的自定义注解或内置注解,也用来注解自身了。@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Target { /** * Returns an array of the kinds of elements an annotation type * can be applied to. * @return an array of the kinds of elements an annotation type * can be applied to */ ElementType[] value(); }
@Documented @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.ANNOTATION_TYPE) public @interface Retention { /** * Returns the retention policy. * @return the retention policy */ RetentionPolicy value(); }
元类
用来代表类的类,它是对类这个概念的抽象,对抽象概念“类”的再抽象,关于元类的分析,请查看元类元编程
简单的理解编写可编程的程序。元知识
第一次接触元知识这个概念好像是知乎大神采铜的《精进》中的一个理论,建议大家多学“元知识”,所谓元知识,是关系知识的知识,如认知论,如何学习这样的知识。information_schema
记得第一次用“show databases”的时候,很奇怪为什么会显示出来mysql中存在的数据库,这些信息存在哪里的?相信大家也和我一样有相同的疑问。最后发现所有有关mysql数据库的基本信息都在数据库“information_schema”中,记录mysql数据库自身信息的库,如此说来,我们可以叫“元库”(该命名纯属个人YY)meta标签
写前端的小伙伴们,一定都遇到过标签,而该标签中都是与业务无关的信息,而是介绍网页本身的,如该网页是谁写的,该网页被纳入搜索引擎搜索时相关关键字等。ResultSetMetaData
ResultSetMetaData对使用jdbc的小伙伴应该是不陌生的,如果想将jdbc封装成一个orm框架,那么对象一定会被用到,我们ResultSet代表的查询结果(表中一条一条的记录集合),而ResultSetMetaData则代表的是表自身相关的信息,如表有哪些字段,表的字段数目,表名是什么,表字段的数据类型是什么等。下面展示部分方法。ResultSetMetaData metaData = rs.getMetaData();//rs为ResultSet的实例 metaData.getColumnCount();//获取字段个数 metaData.getColumnName(i);//获取字段名 metaData.getColumnTypeName(i);//获取字段类型名 metaData.getPrecision(i);//获取字段的精度,如varchar的长度等
总结:“元”有类似“上帝”的概念,它具有事物的本质信息,具有可自证,可自描述,自解释,具有自相关性。