首先,我们且不说元编程是什么,他能做什么.我们先来谈谈生产力....程序员,用了半天,才把环境刚刚搭好....比如 mybatis generator就可以根据数据库结构自动生成上面这些文件, 他大大减少了初次搭建项目的负担.
但是文件生成了,我么就得维护,我们会往里面加其它东西,比如加字段,增加其它操作....如果有10个需要代理的类,在静态代理中,我们就需要编写10个代理类;而在动态代理中,我们可以仅需要编写一个实现了java.lang.reflect.InvocationHandler接口的类即可....运行时
Java也可以在类已经加载到内存中的情况,对类进行修改,不过这个修改有个限制,只能修改方法体的实现,不能对类的结构进行修改.
类似的eclipse以及IDEA的动态加载,就是这个原理.