java 线程池 Java中的注解到底是如何工作的?
Java中的注解到底是如何工作的?
注解是用来描述Java类的,可以自定义注解,然后通过反射获取注解执行指定的动作。
举个简单的例子
这样就可以通过反射来获取到一些元信息了,相当于配置和业务逻辑实现了分离。
当然这个自定义注解还需要依赖一些特定的注解,我们称为元注解。一共有5种:
@Retention:存活的周期
RetentionPolicy.SOURCE
保留在源码阶段RetentionPolicy.CLASS
编译RetentionPolicy,RUNTIME 运行阶段
@Documented 将注解中的元素包含到JavaDoc中
@Target 注解可以用到的地方 有类、方法、属性等
@Inherited 继承
@Repeatable 可重复
Java的哪个语法特性让你觉得写Java代码很享受?
本人在日常主要使用的语言为c#和Java,就语法而言,写c#更让人享受。主要原因为c#更多的语法糖,linq真的好用,其次visual studio号称宇宙第一IDE。但是个人还是更愿意用java。
从java8出来后,感觉java在追赶着c#的步伐, java和c#的语法上越来越像(本来也挺像的,哈哈)。以下做一个小小的比较。
c#
java
以上实现的功能差不多,在java8中加入lambda表达式后,个人感觉越来越像c#了。
抛开语法层面,现在来说一说为什么更愿意用java
1、首先当然是看收益啦,在国内基本上没有用c#的大厂,本来携程在用,后来也转为java了。
2、从技术层面来讲,因为java造轮子的多,有很多优秀的框架可以使用。在实际做项目中你遇到的问题,其他人肯定遇到过,能够很好的找到问题关键。
3、从生态上来讲,Java无疑是最好的选择之一,因为其开源的早,建立生态的时间早。
4、从性能来说,Sun/Oracle的HotSpot JVM内置的JIT编译器在运行时对字节码已经做出了非常大的优化努力,如果不是对性能十分敏感的应用,java足够用了。
谢谢。
java注解可以继承注解吗?
一般来说java的注解是不可以继承的。意思就是java的注解,在子类里面是拿不到的。但是客户以通过给注解添加@Inherited注解来实现继承。可是。。看看demo:Ani注解标记了@Inherited,是一个可以继承的注解。packagetestannotation/***描述:**@author:DASHU*@since:14-1-16.*/@Ani("sup")@AniNoi("supnoi")publicclassSupClass{@Ani("supa")publicStringa@AniNoi("supb")publicStringb@Ani("supc")publicvoidc(){}@AniNoi("supd")publicvoidd(){}}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。