javaJDK自带注解

JavaJDK8源码深度解析与实战指南 Lambda表达式是Java 8引入的一项革命性的新特性,它允许我们将代码块作为参数传递,或者以一种更加简洁的方式实现只有一个抽象方法的接口(函数式接口)。Lambda表达式的基本语法是:参数 -> 表达式体。其中,“参数”是传递给函数式接口的参数,“->”是Lambda操作符,用于分隔参数和表达式体,而“表达式体”则包含了逻辑处理部分。在使用Lambda表达式时,我们可以通过类型推断省略参数类型,例如:");});此例中,");是一个Lambda表达式,它实现了接口,该接口包含一个。 阅读详情
JDK自带注解

1.@Override

2.@Deprecated

3.@Suppvisewarnings

@Override注解的作用

@Override注解仅作用在方法上,被标识方法表示重写父类的方法,用这个注解可以避免方法名跟参数写错。

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

这是@Override的代码源码,上面@Target表示该注解的作用域,该注解的作用域是==ElementType.METHOD==表示作用在方法上。另外它还拥有一个@Retention,这也是java里面一个自带的注解。

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {
    /**
     * Returns the retention policy.
     * @return the retention policy
     */
    RetentionPolicy value();
}

在@Retention注解的源码里可以清晰地看到他的作用域是在注解上面标识,@Documented 将此注解包含在 javadoc 中 ,它代表着此注解会被javadoc工具提取成文档。在doc文档中的内容会因为此注解的信息内容不同而不同。

它里面内置了一个枚举的类,进这个类里面看看。

public enum RetentionPolicy {
    /**
     * Annotations are to be discarded by the compiler.
     */
    SOURCE,

    /**
     * Annotations are to be recorded in the class file by the compiler
     * but need not be retained by the VM at run time.  This is the default
     * behavior.
     */
    CLASS,

    /**
     * Annotations are to be recorded in the class file by the compiler and
     * retained by the VM at run time, so they may be read reflectively.
     *
     * @see java.lang.reflect.AnnotatedElement
     */
    RUNTIME
}

在这个类里面可以清晰地看到,有三种枚举类型。

SOURCE :被编译器忽略

CLASS :注解将会被保留在Class文件中,但在运行时并不会被VM保留。这是默认行为,所有没有用Retention注解的注解,都会采用这种策略。

RUNTIME :保留至运行时。所以我们可以通过反射去获取注解信息。

然后我们在回过头来看@Override,它里面的源码注解就表示,在生成class文件的时候后是被编译器所忽略的,仅作为一个标识性注解。

@Deprecated注解的作用

意思是说此方法已过时,过时的原因就是有新的API的类替代了次方法。
这个被划去的方法仍然是可以正常使用的,就是一个提示而已。
下面来写一个示例来看一下这个注解有什么作用。

public interface Person {

    @Deprecated
    String speak();
}

image
在图片中可以看到,调用的方法上面已经出现了一个下划线,这就是标识这个方法已经过时,但是这是一个提示你的注解,在编译时对代码并没有影响。

@SuppressWarnings注解的作用

J2SE 提供的最后一个批注是@SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。@SuppressWarnings。批注允许您选择性地取消特定代码段(即,类或方法)中的警告。其中的想法是当您看到警告时,您将调查它,如果您确定它不是问题,您就可以添加一个@SuppressWarnings批注,以使您不会再看到警告。虽然它听起来似乎会屏蔽潜在的错误,但实际上它将提高代码安全性,因为它将防止
您对警告无动于衷 — 您看到的每一个警告都将值得注意。
[以下是摘抄csdn的文章]
(https://blog.youkuaiyun.com/hunhun1122/article/details/72356228)

通过 @SuppressWarnings 的源码可知,其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。
image

通过代码可以看到,通过在方法上面注解@SuppressWarnings(value=”deprecation”)警告的横线就取消了。
以下是注解内部的一些参数及其定义。

关键字用途
all抑制所有警告
boxing抑制装箱、拆箱操作时候的警告
cast抑制映射相关的警告
dep-ann抑制启用注释的警告
deprecation抑制过期方法警告
fallthrough抑制finally模块没有返回的警告
finally抑制finally模块没有返回的警告
null忽略对null的操作

还有很多,详细的请查看API文档。

【机器学习与数据挖掘实战 | 商务】案例03:基于k近邻算法的非侵入式电力负荷监测与分解的电力分析 本案例结合非侵入式电力负荷监测与分解的案例,重点介绍了在数据可视化的辅助下k近邻算法的应用。首先利用数据可视化寻找数据的特征,构建特征集合。然后构建k近邻模型,利用构建的特征集合训练模型,接着利用该模型对单一设备所属类别进行判定,最后计算实时用电量。 阅读详情

相关推荐

如何用Python爬取中国土地市场网2000-2023年土地出让数据(含经纬度)

本文详细介绍了如何使用Python爬取中国土地市场网2000-2023年的土地出让数据(含经纬度),提供了一套高效的技术方案。通过应对动态加载的反爬机制、优化地理编码数据存储和设计异常处理流程,帮助开发者建立自动化数据采集管道。方案已在商业地产分析项目中验证,可稳定采集超过50万条土地交易记录。

weixin_30566063的博客 172

JDK内置的基本注解——详解

使用Annotation时要在其前面增加@符号,并把该Annotation当成一个修饰符来用。用于修饰它支持的程序元素三个基本的Annotation限定某个方法,是重写父类方法,该注解只能用于方法Override使用说明①. @Override表示指定重写父类的方法(从编译层面验证),如果父 类没有fly方法,则会报错②. 如果不写@Override注解,而父类仍有public void fly(){},仍然构成 重写③. @Override只能修饰方法,不能修饰其他类,包,属性等等。...

m0_61943950的博客 958

巨量千川M-API实战:异步报表与批量操作自动化指南

API(应用程序编程接口)是现代软件系统间通信和数据交换的核心技术,它定义了服务间交互的协议和规范。在数字营销领域,营销API(Marketing API)通过程序化接口实现了广告账户管理、数据获取和操作自动化的能力,其技术价值在于将重复性人工操作转化为高效、准确的自动化流程,显著提升运营效率并降低人为错误。在广告投放精细化运营场景中,面对海量数据报表的获取与批量广告状态管理的需求,异步任务处理和批量操作接口成为关键技术解决方案。本文聚焦巨量千川M-API,深入解析其异步报表获取机制与批量操作实现,涵盖从任

weixin_32932149的博客 429

JavaSE学习笔记(十.JDK内置的基本注解)

被他修饰的Annotation将具有继承性,如果某个类使用了被@Inherited修饰的Annotation,则其子类将自动具有该注解。这里如果写了@Override注解,编译器就回去检查该方法是否真的重写父类的方法,如果重写了则编译通过,如果没有构成重写则编译错误。用于指定该元Annotation 修饰的Annotation类将javadoc 工具提取成文档,在生成文档时,可以看到该注解。@Override: 限定某个方法,是重写父类的方法,该注解只能用于方法。可以修饰方法,类,字段,包,参数等等。

benaso的大学学习历程 361

Ubuntu双系统引导修复实战:boot-repair工具详解

本文详细介绍了使用boot-repair工具修复Ubuntu双系统引导丢失问题的实战方法。当GRUB引导菜单因安装新系统或更新而损坏时,通过制作Ubuntu启动盘进入Live环境,安装并运行boot-repair,可一键完成系统修复引导,自动化执行GRUB重装与配置,解决无法进入Windows或Ubuntu的常见故障。

weixin_29224589的博客 356

机器学习西瓜书期末复习(2022HENU)

期末复习之机器学习 文章目录期末复习之机器学习第一章 绪论 第一章 绪论 机器学习的定义 机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。 根据训练数据是否拥有标记信息,将学习任务分为监督学习和无监督学习。 监督学习 :分类和回归 线性回归、对数几率回归、决策树、支持向量机、贝叶斯分类器、神经网络 无监督学习:聚类 聚类算法: 原型聚类:(k均值,学习向量量化,高斯混合聚类);密度聚类(DBSVAN);层次聚类(AGNES)。降维。话题分析。图分

qq_46561559的博客 2万+

Java注解(三种JDK内置基本注解、四种元注解的介绍,源码分析!)

抑制编译器警告。

m0_74301606的博客 1290

静态时序分析(Static Timing Analysis, STA):简介及内容导航

静态时序分析(简称STA)是用来验证数字设计时序的技术之一,另外一种验证时序的方法是时序仿真,时序仿真可以同时验证功能和时序。“时序分析”这个术语就是用来指代“静态时序分析“或”时序仿真“这两种方法之一,简单来说,时序分析的目的就是为了解决设计中的各种时序问题。STA被称为静态的原因是其对于设计的分析是静态地执行的,并不依赖于施加在输入端口上的激励。相比之下,时序仿真则可以被视作动态地执行对设计的分析,具体过程描述如下:施加一组激励,观察在这组激励下电路行为是否符合要求,然后换一组激。

Starry__的博客 1986

JDK 内置的基本注解类型

注解(Annotation)也被称为元数据(Metadata),用于修饰解释 包,类,方法,属性,构造器,局部变量等数据信息。和注释一样,注解不影响程序逻辑但注解可以被编译或运行,相当于嵌入在代码中的补充信息。使用注解(Annotation)时,要在其前面加上 @ 符号。

eci__的博客 262

手把手教你学Simulink--FIR滤波器的设计与优化仿真

FIR滤波器的设计目标通常包括指定的频率响应特性(如低通、高通、带通或带阻),以及特定的应用需求(如线性相位、最小化误差等)。Simulink提供了一个直观且强大的平台来模拟这些设计,并允许用户通过调整参数实时观察其对系统性能的影响。明确你的系统需求,比如输入信号类型(如正弦波组合)、采样率、FIR滤波器的设计参数(如滤波器类型、阶数、截止频率等)。假设我们需要设计一个低通FIR滤波器,用来去除高于1kHz的所有频率成分,保留低于1kHz的信号成分。采样率为8kHz。

MHD0815的博客 345

组态王与SqlServer数据库交互总结

组态王可以与SqlServer、mysql、acess、oracle等数据库进行数据交互。 本文重点梳理了如何把组态王中的数据保存到SqlServer数据库中,并使用ADO控件对数据库中的数据进行查询。 一、数据存到SQL数据库 1.新建记录体 2、创建表格模板(用于创建数据库中的表格) 3、打开sqlserver,新建数据库 4、创建ODBC数据源 选择自己新建的数据库 5.使用SQLConnect函数连接数据库,SQLCraetTable函数用于在数据库中创建表格 6.使用

逍遥子的博客 2万+

Java 内置注解

Java内置注解 也称 Java标准注解,是Java JDK 中自带的注解。Java 中有许多标准注解,以下是一些常见的标准注解: 1. @Override:用于表示一个方法是重写父类中的方法。 2. @Deprecated:用于标记已经过时的方法或类,提醒开发者不再使用。 3. @SuppressWarnings:用于抑制编译器产生的警告信息。 4. @FunctionalInterface:用于标记一个接口是函数式接口,即只包含一个抽象方法的接口。

棒棒糖的糖不含糖的博客 645

同步调相机启动与并网控制技术方案

同步调相机起动与并网控制技术方案采用背靠背变流器系统,通过静止变频器(SFC)策略实现无原动机驱动的同步电机从静止到同步转速的平稳起动。方案详细阐述了硬件自检、模块初始化、转子位置检测等关键环节,重点解决启动转矩为零、冲击电流大等挑战。系统基于STM32或C2000系列控制器,包含网侧/机侧变流器、检测保护单元及通信接口,通过励磁脉冲和电压响应分析实现高精度转子初始定位,为后续并网提供必要条件。代码级实现涵盖了ADC自检、数字IO验证及通信端口测试等核心功能。

huanghm88的专栏 305

Java注解

参照@SuppressWarning定义① 注解声明为: @interface②内部定义成员,通常使用value表示③可以指定成员的默认值,使用default 定义④如果自定义注解没有成员,表明是一个标识作用如果注解有成员,在使用注解时,需要指明成员的值。自定义注解必须配上注解的信息处理流程( 使用反射)才有意义。自定义注解通过都会指明两个元注解: Retention、Target/*** 自定义注解*/@Inherited/***/

lalalalalab的博客 1779

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

(十六)Java注解、集合

数组的弊端数组的大小不能改变数组不便于进行添加、删除、插入等操作, 且效率不高。无法直接获取元素的个数数组中的元素是有序的、可以重复的。存储数据的特点单一。

weixin_55439500的博客 242

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

注解与反射

注解与反射 注解的格式:@注释名 可以添加一些参数 在package,class,method,field上都可以使用 内置注解 @Override:重写超类方法的声明 @Deprecated:表示已废弃,不鼓励使用 @SuppressWarnings:抑制编译产生的警告,需要添加参数 元注解 通过元注解定义一个注解 //定义一个注解 //Target 表示我们的注解可以用在哪些地方. @Target(value = {ElementType.METHOD,ElementType.TYPE}) //R

weixin_43915060的博客 232

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java中的注解以及自定义注解

java中的注解其实本质是java类,

zhouren1314的专栏 816

自定义注解

元注解public @interface 注解名称 {}注解本质上就是一个接口,该接口默认继承Annotation接口注解本质上就是一个接口,该接口默认继承 Annotation 接口 public interface MyAnno extends java . lang . annotation . Annotation {

m0_56474727的博客 107

2.JAVA注解

Java SE 提供了许多预定义注解,这些注解在 JDK 中已经实现,并且提供相应的处理器对注解进行处理,@Override重写,@Deprecated标记一些过时的方法,这些都是预定义注解,就是javaJDK本身就有的注解0。元注解是加在注解上的注解限制预定义注解和自定义可以在类,方法,参数,构造函数等等使用的注解。自定义注默认是可以加在类,方法,参数等等上,要想对其有限制这就需要用到注解的原注解了。CLASS, // 编译期保留,默认值。ANNOTATION_TYPE, // 注解类。

me_is_IT_X的博客 90

JavaJDK8新特性 lambda表达式

java8新特性 lambda 表达式 学习目标: ​ 1.函数式编程特性 ​ 2.lambda表达式语法及应用场景 一、lambda表达式语法及应用场景 1.lambda简介 Lambda 表达式,它是推动 Java 8 发布的最重要新特性。 Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。 使用 Lambda 表达式可以使代码变的更加简洁紧凑。 ​ 2.使用lamb...

qq_45979569的博客 438

JavaJDK8新特性

匿名内部类,在程序编译时,会生成一个class文件Lambda在程序运行时,会生成一个class文件。具体过程:1.程序编译中,会先生成一个静态的方法,该方法为接口的实现方法2.在执行过程中,生成一个匿名内部类,实现接口,重写抽象接口方法3.在接口重写的方法实际上就是调用编译时生成的静态方法。

m0_67958268的博客 119

SpringBoot中的 @Autowired 和 @Resource 注解

SpringBoot中的@Autowired 和@Resource 注解

weixin_57467236的博客 1064

SpringMVC框架——JDK注解

SpringMVC框架中提倡运用注解技术来简化xml配置,也是当下Java编程的趋势和潮流,值得用功学习。 这一章总结Java JDK中的注解 关于注解的学习博客网上有很多,各位可以去看看,我在这里只总结自己的学习理解。 一、注解的概念1.注解是JavaJDK1.5引入的一种新的数据类型,它的本质其实是一个特殊的接口。 这种特殊性在于: (1)直接继承java.lang.anotatio...

weixin_30834019的博客 180

基于javaJDK 的WebService开发服务端和客户端

WebService概念webService就是一个应用程序,他提供一种web方式访问的api,是解决两个系统(或者应用程序)之间的远程调用。 是跨语言,跨拼台的   webService 的基本组成部分就是 服务端 和客户端。WebService 的例子应用服务端:(作为服务端,怎么将自己的应用程序发布成一个webservice,让别人调用) 我们需要了解的俩个概念是 xml ,wdl,soap...

shi_long的博客 1527

求求你别再用if-else了,用注解去代替他吧

策略模式 经常在网上看到一些名为“别再if-else走天下了”,“教你干掉if-else”等之类的文章,大部分都会讲到用策略模式去代替if-else。策略模式实现的方式也大同小异。主要是定义统一行为(接口或抽象类),并实现不同策略下的处理逻辑(对应实现类)。客户端使用时自己选择相应的处理类,利用工厂或其他方式。 注解实现 本文要说的是用注解实现策略模式的方式,以及一些注意点。 话不多说,还是以最常 见的订单处理为例。首先定义这样一个订单实体类: @Data public class Order {

程序员白楠楠的博客 647

Spring 的配置文件简化与注解的使用

Spring 的配置文件简化与注解的使用简化配置文件的配置简化属性配置1.简化set方法以后可以不用写set方法也能照常注入.对象的注入简化  autowire="byName" 1.找到当前对象的武安不set方法---setDog(), 2.将方法进行变形 将set去掉并且首字母小写dog名称 3.根据dog查找所有的bean中的id,如果i...

qq_19663899的博客 1578
上一篇: 什么是java注解
下一篇: 解析ArrayList类
LuFei_java
博客等级 码龄10年 1粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值