Java基础

简介: 在Java中,异常继承关系以Throwable为顶层父类,分为Error和Exception。Error表示无法恢复的严重问题,如内存溢出;而Exception代表可处理的异常,分为检查异常(需try-catch或throws声明)与非检查异常(如RuntimeException及其子类),如空指针、除零、数组越界等。

异常的重要继承关系
● Throwable 是其它异常类型的顶层父类
● Error 表示无法恢复的错误,例如 OutOfMemoryError 内存溢出、StackOverflowError 栈溢出等
○ 这类异常即使捕捉住,通常也无法让程序恢复正常运行
● Exception 表示可恢复的错误,处理方式有两种
○ 一是自己处理,用 catch 语句捕捉后,可以进行一些补救(如记录日志、恢复初始状态等)
○ 二是用 throw 语句将异常继续抛给上一层调用者,由调用者去处理
● Exception 有特殊的子类异常 RuntimeException,它与 Exception 的不同之处在于
○ Exception 被称之为检查异常,意思是必须在语法层面对异常进行处理,要么 try-catch,要么 throws
○ RuntimeException 和它的子类被称为非检查异常(也可以翻译为字面意思:运行时异常),在语法层面对这类异常并不要求强制处理,不加 try-catch 和 throws 编译时也不会提示错误
● 常见的非检查异常有
○ 空指针异常
○ 算术异常(例如整数除零)
○ 数组索引越界异常
○ 类型转换异常

目录
相关文章
|
4月前
|
人工智能 前端开发 机器人
10+热门 AI Agent 框架深度解析:谁更适合你的项目?
一个合适的 Agent 框架,决定了你AI应用落地的速度与质量。选框架 ≠ 选最火! 真正能跑起来、跑得稳、跑得远的 Agent 框架,才是你的最优解。
|
4月前
|
人工智能
你花大钱养的 AI,为啥感觉还是个“人工智障”?
这篇文章探讨了为何我们常觉得AI“呆呆的”——问题不在于AI本身,而在于我们“教”的方式。我们往往把AI当成“流水线工人”,用冗长指令让它机械执行任务,却忽略了它本可成为有主动性、创造力的“顾问”。通过赋予AI“欲望”与“成就感”,如《自衍体》项目所做的,AI能变得主动思考、自我驱动。关键在于:别当工头下命令,而要当合伙人点燃它的“心”。
|
4月前
|
缓存 Java API
Java 面试实操指南与最新技术结合的实战攻略
本指南涵盖Java 17+新特性、Spring Boot 3微服务、响应式编程、容器化部署与数据缓存实操,结合代码案例解析高频面试技术点,助你掌握最新Java技术栈,提升实战能力,轻松应对Java中高级岗位面试。
390 0
|
4月前
|
存储 Java 对象存储
轻量级锁
轻量级锁是JVM为提升多线程性能而引入的锁机制,通过CAS操作减少线程阻塞,适用于同步块执行时间短且线程竞争不激烈的场景。其核心在于使用栈帧中的锁记录与CAS操作实现高效加锁,避免用户态与内核态切换带来的性能损耗。当无竞争时,仅需一次CAS即可完成锁获取;若竞争激烈,则可能升级为重量级锁。相比偏向锁和重量级锁,轻量级锁在低竞争环境下具有更高的效率。
112 0
|
4月前
|
存储 安全 Java
synchronized 锁升级
JDK 6 引入的 synchronized 锁升级机制,通过偏向锁、轻量级锁和重量级锁的动态切换,优化了多线程同步性能。该机制根据竞争情况逐步升级锁状态,减少线程阻塞和系统调用开销,从而提升并发效率。
178 0
|
4月前
|
Java Spring
聊聊你对SpringBoot框架的理解 ?
SpringBoot是Spring家族中流行的子项目,旨在简化Spring框架开发的繁琐配置。它主要提供三大功能:starter起步依赖简化依赖管理,自动配置根据条件创建Bean,以及内嵌Web服务器支持Jar包运行,极大提升了开发效率。
150 0
|
4月前
|
缓存 Java
对比 synchronized 和 volatile
`synchronized` 和 `volatile` 是 Java 并发编程中的两个关键机制,各有侧重。`synchronized` 用于实现线程的互斥访问,保证原子性、可见性和有序性,适用于需要锁的场景;而 `volatile` 更轻量,仅确保变量的可见性和有序性,适用于状态标志等无需复合操作的场景。两者可互补使用,如双重检查单例中结合二者优势。合理选择有助于提升并发性能与代码安全性。
199 0
|
4月前
|
Java Spring 容器
SpringBoot自动配置的原理是什么?
Spring Boot自动配置核心在于@EnableAutoConfiguration注解,它通过@Import导入配置选择器,加载META-INF/spring.factories中定义的自动配置类。这些类根据@Conditional系列注解判断是否生效。但Spring Boot 3.0后已弃用spring.factories,改用新格式的.imports文件进行配置。
815 0
|
4月前
|
传感器 人工智能 运维
吃得安心靠AI?聊聊AI在食品供应链安全里的“神操作”
吃得安心靠AI?聊聊AI在食品供应链安全里的“神操作”
154 6
|
4月前
|
机器学习/深度学习 人工智能 数据可视化
一文讲透:信息化、数字化、智能化、智慧化、数智化,到底啥区别?
本文深入解析了企业转型中的五大关键概念:信息化、数字化、智能化、智慧化与数智化。通过清晰的阶段划分和实际案例,帮助企业认清自身所处阶段,明确下一步发展方向,避免盲目跟风,真正实现业务流程优化与数据驱动决策,迈向高效、智能、协同的未来企业形态。