Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
Home
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 设计模式
  • JavaSE
  • JVM
  • JUC
  • Netty
  • CPP
  • QT
  • UE
  • Go
  • Gin
  • Gorm
  • HTML
  • CSS
  • JavaScript
  • vue2
  • TypeScript
  • vue3
  • react
  • Spring
  • SpringMVC
  • Mybatis
  • SpringBoot
  • SpringSecurity
  • SpringCloud
  • Mysql
  • Redis
  • 消息中间件
  • RPC
  • 分布式锁
  • 分布式事务
  • 个人博客
  • 弹幕视频平台
  • API网关
  • 售票系统
  • 消息推送平台
  • SaaS短链接系统
  • Linux
  • Docker
  • Git
GitHub (opens new window)
  • Java语法

    • String
    • 面向对象
    • 反射
    • 泛型
    • 序列化
    • 动态代理
    • IO
    • 回调
    • SPI
    • 异常
      • Exception 和 Error区别?
      • 检查性异常
      • 非检查性异常
      • OOM异常
    • 注解
  • Java容器

  • Java新特性

  • IDEA常用快捷键
  • 正则表达式
  • API
  • 场景题

  • JavaSE
  • Java语法
Nreal
2024-03-11
目录

异常

# Exception 和 Error区别?

Exception 是程序本身可以处理的异常;

Error是程序无法处理的错误

# 检查性异常

Java 代码在编译过程中,如果受检查异常没有被 catch或者throws 关键字处理的话,就没办法通过编译;

  • IOException;
  • ClassNotFoundException;
  • SQLException;

# 非检查性异常

RuntimeException 及其子类都统称为非受检查异常;

  • NullPointerException(空指针错误)
  • ArrayIndexOutOfBoundsException(数组越界错误)
  • OutOfMemoryError
  • StackOverFlowError
  • IllegalArgumentException(参数错误比如方法入参类型错误)
  • NumberFormatException(字符串转换为数字格式错误,IllegalArgumentException的子类)
  • ClassCastException(类型转换错误)
  • SecurityException (安全错误比如权限不够)

# OOM异常

  • 堆溢出

    原因:

    • 创建超大对象,大数组;

      可能一次性查询了数据库全部结果,没有做结果限制;

    • 内存泄漏;

      找到持有的对象,修改代码设计,如关闭没有释放的连接;

    • 上游系统请求流量飙升;

      添加服务器资源,或者限流降级;

  • 方法区或运行时常量池溢出

    主流框架里面大量使用动态代理,反射,或cglib这类字节码技术,增强的类越多,就需要越大的方法区保证动态生成的新类型载入内存;

  • 栈溢出

    无限递归,线程数过多,栈上分配;

SPI
注解

← SPI 注解→

Theme by Vdoing | Copyright © 2021-2024
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式