当前位置: 首页 > news >正文

【Java面试题】注解,异常相关知识

什么是注解

注解本身是一个继承Annotation的特殊接口,它的实例化对象是Java运行时产生的动态代理类。
我们使用反射获取注解时,获取到的是Java运行过程中通过动态代理产生的对象,动态代理对象调用自定义注解方法。最终会调用AnnotationInvocationHandler的invoke方法,该方法会从memberValues这个Map中索引出对应值。而memberValues的来源是Java常量池

注解的解析方法有哪几种

  • 编译时解析:比如@override注解,在编译时就会解析,检查方法是否重写
  • 运行时通过反射解析:比如一些框架里的注解(@Value,@Component)都是通过发射进行处理的

介绍一下异常

异常是由Throwable及其子类构成。
在这里插入图片描述
错误:是程序运行环境错误,通常是程序无法处理的严重错误,比如程序崩溃,虚拟机错误

异常:

  • 非运行时异常:编译时异常要求程序员必须提前捕获或抛出,通常是程序外部错误,比如文件不存在,类找不到。强制要求程序员提前处理异常,增强了程序的健壮性。
  • 运行时异常:包括运行时异常和错误,通常是由程序错误导致。比如空指针异常,数组访问越界等问题。不需要程序员进行提前进行捕获或声明

Java异常处理有哪些

  • throw手动抛出异常
  • throws在方法上声明抛出异常
  • try-catch 用于捕获并处理可能抛出的异常。try块中包含可能抛出异常的代码,catch块用于捕获并处理特定类型的异常。可以有多个catch块来处理不同类型的异常。
  • fianlly 无论是否有异常都会去执行的代码块
http://www.dtcms.com/a/316186.html

相关文章:

  • Go语言的gRPC教程-错误处理
  • Android AppSearch 深度解析:现代应用搜索架构与实践
  • Elasticsearch向量库
  • 【web应用】前后端分离项目基本框架组成:Vue + Spring Boot 最佳实践指南
  • 深度解析 TCP 三次握手与四次挥手:从原理到 HTTP/HTTPS 的应用
  • 微服务—OpenFeign
  • Spring中七种Propagation类的事务属性详解
  • 研发团队看板协作中的自动化实践:集成CI/CD与任务流转
  • 007TG洞察:高效运营Telegram私域流量:技术挑战与自动化解决方案探索
  • 中科米堆CASAIM自动化三维扫描系统自动测量压铸件尺寸
  • 【原创】基于gemini-2.5-flash-preview-05-20多模态模型实现短视频的自动化二创
  • 从 “看懂图” 到 “读懂视频”:多模态技术如何用文本反哺视觉?
  • 原型模式在C++中的实现与面向对象设计原则
  • 二维数点问题 1
  • 学习日志28 python
  • AI编程新时代:从氛围编程到上下文编程的深度实践和思考
  • 鸿蒙开发、大数据开发、Java开发与前端开发全面对比解析
  • 【银行测试】银行票据项目业务+票据测试点分析(四)
  • 2025《艾诺提亚失落之歌》逆向工程解包尝试
  • Linux网络编程:TCP初体验
  • VirtualBox安装教程
  • 64位程序调用32位dll方法
  • 【Linux系统编程】线程概念与控制
  • 使用valgrind工具检测server端lib库的内存泄漏
  • FT5X06 触摸芯片
  • 【技术教程】如何将 ONLYOFFICE 文档连接到 Confluence
  • nodejs 编程基础01-NPM包管理
  • Android 之 Kotlin
  • 让 Spark 干体力活:用 Java 快速找出最小值
  • GaussDB 并行创建索引