永发信息网

Java编译时注解和运行时注解有什么区别

答案:5  悬赏:60  手机版
解决时间 2021-03-18 05:54
Java编译时注解和运行时注解有什么区别
最佳答案
重写,重载,泛型,分别是在运行时还是编译时执行的

1. 方法重载是在编译时执行的,因为,在编译的时候,如果调用了一个重载的方法,那么编译时必须确定他调用的方法是哪个。如:

当调用evaluate("hello")时候,我们在编译时就可以确定他调用的method #1.

2.
方法的重写是在运行时进行的。这个也常被称为运行时多态的体现。编译器是没有办法知道它调用的到底是那个方法,相反的,只有在jvm执行过程中,才知晓到底是父子类中的哪个方法被调用了当有如下一个接口的时候,我们是无法确定到底是调用父类还是子类的方法

3.
泛型(类型检测),这个发生在编译时。编译器会在编译时对泛型类型进行检测,并吧他重写成实际的对象类型(非泛型代码),这样就可以被JVM执行了。这个过程被称为"类型擦除"。

类型擦除的关键在于从泛型类型中清除类型参数的相关信息,并且再必要的时候添加类型检查和类型转换的方法。

类型擦除可以简单的理解为将泛型java代码转换为普通java代码,只不过编译器更直接点,将泛型java代码直接转换成普通java字节码。类型擦除的主要过程如下:

1). 将所有的泛型参数用其最左边界(最顶级的父类型)类型替换。

2). 移除所有的类型参数。

在编译后变成:

4. 注解。注解即有可能是运行时也有可能是编译时。

如java中的@Override注解就是典型的编译时注解,他会在编译时会检查一些简单的如拼写的错误(与父类方法不相同)等

同样的@Test注解是junit框架的注解,他是一个运行时注解,他可以在运行时动态的配置相关信息如timeout等。

5. 异常。异常即有可能是运行时异常,也有可能是编译时异常。

RuntimeException是一个用于指示编译器不需要检查的异常。RuntimeException
是在jvm运行过程中抛出异常的父类。对于运行时异常是不需要再方法中显示的捕获或者处理的。

已检查的异常是被编译器在编译时候已经检查过的异常,这些异常需要在try/catch块中处理的异常。

6. AOP. Aspects能够在编译时,预编译时以及运行时使用。

1).
编译时:当你拥有源码的时候,AOP编译器(AspectJ编译器)能够编译源码并生成编织后的class。这些编织进入的额外功能是在编译时放进去的。

2). 预编译时:织入过程有时候也叫二进制织入,它是用来织入到哪些已经存在的class文件或者jar中的。

3). 运行时:当被织入的对象已经被加载如jvm中后,可以动态的织入到这些类中一些信息。

7. 继承:继承是编译时执行的,它是静态的。这个过程编译后就已经确定

8. 代理(delegate):也称动态代理,是在运行时执行。
全部回答
ALU内含电路系统,易于输出端完成简单的普通运算和逻辑运算(比如加法和位元运算)。如果加法运算产生一个对该CPU处理而言过大的结果,在标志暂存器里可能会设置运算溢出(Arithmetic Overflow)标志。

去csdn找下,或者程序员联合开发网,csdn的博客也可以找,下载那可以找相关资料找找

www.csdn.net

www.pudn.com

 

希望对你有帮助

@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.SOURCE) @Retention(RetentionPolicy.CLASS) @Retention定义了该Annotation被保留的时间长短:某些Annotation仅出现在源代码中,而被编译器丢弃;而另一些却被编译在class文件中;编译在class文件中的Annotation可能会被虚拟机忽略,而另一些在class被装载时将被读取(请注意并不影响class的执行,因为Annotation与class在使用上是被分离的)。
区别如下: 1)编译时注解,注解内容只存在源文件,在编译期间将被丢弃,不能通过JVM获取注解信息; 2)运行时注解,编译时被存储在.class字节码文件,可以通过JVM运行时获取注解信息(且只限于被RUNTIME注解的注解)。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
被狗咬了花了237元平安保险能赔多少钱
个体工商户的店员社保费要交多长时间才可以停
丧尸围城4双击没反应
50年后,世界是什么样子的啊?人类是怎么样的
高碑店市东盛办事处龙堂村村民委员会在什么地
中国电信c网手机漫游到泰国候怎么打电话回国
热血传奇 怎么打不开了 是要黄了吗
咪神是什么意思
魔峰造型怎么去啊,有知道地址的么
红米4X接蓝牙音响玩崩坏3声音会出现明显的卡
魔兽世界各职业T4.5.6哪里出
点钞机光耦在哪?
陈奕迅老婆徐濠萦因何文明?
有哪些对我们人类有健康的食品英文描述
一个好朋友的朋友喜欢你,并在好朋友的怂恿下
推荐资讯
应用化学和工业催化,哪个就业更好一些
独一味油饼馄饨我想知道这个在什么地方
搜狗浏览器好还是360极速浏览器实用?
英雄联盟新版文件损坏大家怎么解决的
郾城区招生考试综合服务大厅这个地址在什么地
风尚名剪这个地址在什么地方,我要处理点事
本人现在在英国 目前想在英国销售一些国内的
えへ? 是什么意思
有修车的吧友吗,瑞虎3的积碳盒在什么位置
MI4C和小米四到底有什么区别
武汉理工光科公司工作环境待遇发展等怎么样
用的是zebra标签打印机,怎么快速打印条码?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?