- 主题:Java的annotation是如何实现的?
运行起来就和编译器没关系了,是虚拟机运行字节码的
【 在 No1 () No1 () 的大作中提到: 】
: 这分明是编译器做的事情嘛,就是给你个接口可以自定义annotation完成一定的语法扩展功能。
:
: 像Lisp这种更先进,直接开放reader给你可以自造语法和语义
:
--
FROM 117.136.0.*
这个应该是有个对应的技术, AOP。你可以看看这个。
通过对切入点的检查,然后插入对应的annotation实现。
利用这个aop,自己也可以写一些针对性的业务逻辑检查,比如对传入参数的业务检查,日志等等
【 在 dpblue 的大作中提到: 】
: 刚从C++转过来的,觉得Java的annotation挺神奇
: 比如在一个函数前面加上@Cacheable,这样系统就会自动给这个类的对象生成代理对象,以便支持cache
: 这个“系统自动”的动作是怎么实现的呢?
--
FROM 84.141.79.*
没有系统自动,jvm只能给类,对象,方法上加这个额外cache属性和值而已,至于如何缓存,缓存在哪里,这个需要自己写代码实现(比如spring)
【 在 dpblue 的大作中提到: 】
: 刚从C++转过来的,觉得Java的annotation挺神奇
:
: 比如在一个函数前面加上@Cacheable,这样系统就会自动给这个类的对象生成代理对象,以便支持cache
: ...................
--来自微微水木3.5.12
--
FROM 118.199.150.*