单线程
如果异常不是被线程本身捕获的话,线程肯定就终止了,会被GC回收。
如果异常被线程本身捕获处理了,那么将会继续执行线程下的逻辑操作,直接完毕后再被回收

多线程

在多线程外部使用一组try catch来捕获异常是不合理的,会导致异常退出。
原因是因为线程是并行运行的,在捕获到单个线程的异常时,try catch可能会起作用,但当其它并行线程也出现异常情况时,try catch就不再起作用了,导致程序异常退出.因此,在多线程运行情况下,不要指望单个外部的try catch能捕获的所有线程的异常并安全退出,而是需要在每个单独的线程内使用try catch来捕获每个线程的异常

try-catch的时候在默认情况下如:控制层--业务层处理中是不会调用守护线程的,java有一个默认的守护线程来调用GC回收已经执行完的程序,业务逻辑处理完之后出现错误抛出异常被控制层捕获停止工作,在一定默认时间后会被清理,一般在业务层处理curd异常是不需要使用try-catch的,虽然这样业务处理完成,但是线程并没有及时被清理从而影响性能。

建议在业务层直接抛出异常然后写个捕获类业务层统一进行处理,这样异常被捕获后线程虽然也没有被立即杀死,但是它响应到前端之后spring会对这个线程直接进行回收,这样对性能有很大的提升,而且统一定义错误回收对代码也有好处。

Java捕获异常后线程情况相关推荐

  1. java new一个线程执行完后会自动销毁吗_Java基础总结,超级全的面试题

    1. static关键字是什么意思?Java 中是否可以覆盖(override)一个 private 或者是 static 的方法?是否可以在 static 环境中访问非static 变量? stat ...

  2. JAVA dump查看线程运行情况

    JAVA dump查看线程运行情况: 查询java程序pid(两种方案,二选一) 1)直接输入项目名称回车(适用于可以通过如"tt"命令查看到部署的项目名称) 2)使用jps [- ...

  3. java中履约记录表的实现_工程建设项目标后履约情况记录表

    工程建设项目标后履约情况记录表 工程建设项目标后履约情况记录表 建设单位名称(盖章) 工程项目名称 项目(标段)名称 开 工 日 期 施工许可证号 填 表 日 期 履约情况记录 内 容 主要管理人员是 ...

  4. 深入理解 Java 锁与线程阻塞

    相信大家对线程锁和线程阻塞都很了解,无非就是 synchronized, wait/notify 等, 但是你有仔细想过 Java 虚拟机是如何实现锁和阻塞的呢?它们之间又有哪些联系呢?如果感兴趣的话 ...

  5. Thinging in Java读后总结

    当调用一个对象中的方法时,比如调用Dog类的实例dog的eat(),编译器会把dog引用当成eat()的第一个参数传入即(eat(this, otherParams)) 在构造器中可以使用this关键 ...

  6. 面试官:Java如何绑定线程到指定CPU上执行?

    不知道你是啥感觉,但是我第一次看到这个问题的时候,我是懵逼的. 而且它还是一个面试题. 我懵逼倒不是因为我不知道答案,而是恰好我之前在非常机缘巧合的情况下知道了答案. 我感觉非常的冷门,作为一个考察候 ...

  7. Java常用四大线程池用法以及ThreadPoolExecutor详解

    2019独角兽企业重金招聘Python工程师标准>>> 为什么用线程池? 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处-理效率 2.线程并发数量过多 ...

  8. 【Java 语言】Java 多线程 一 ( 线程基础 : 线程启动 | 线程停止 | 线程暂停 | 线程优先级 | 守护线程)

    一. 线程启动 线程启动 : -- 1. 继承 Thread 运行线程 : 重写 Thread 类的 run 方法, 然后执行该线程; -- 2. 实现 Runnable 接口, 并运行线程; -- ...

  9. Java并发编程——线程池的使用

    在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统 ...

最新文章

  1. JsonCpp的简单使用方法
  2. 使用Action,Data属性启动系统Activity
  3. synchronized,ReetrantLock与volatile(二)
  4. 单调栈 leetcode整理(一)
  5. LSI MegaCli 命令使用2
  6. 2PC AND 3PC
  7. 费诺编码的gui页面设计_GUI设计和UI设计有什么区别?
  8. Ubuntu文本编辑器
  9. c语言课程设计题目 吃豆子,C语言吃豆子游戏
  10. 论中国智慧城市的发展前景
  11. C++多线程 - 无锁编程
  12. 洛谷——P1375 小猫
  13. 更改计算机时间出现没有权限,win7系统修改时间时显示没有权限的解决方法
  14. 物联网的未来是什么样的
  15. 承认你的父母其实不那么爱你
  16. javaScript实现a页面触发b页面事件-小小笔记
  17. Unity UI Toolkit学习笔记-EditorWindow
  18. Android中绘制圆角矩形图片及任意形状图片
  19. DELL XPS 8930-R 从优盘安装centos7服务器
  20. 计算机英语这门课上后感1000,英语教师听课心得体会作文

热门文章

  1. 10分钟看懂社群营销(上集)[转]
  2. Linux(Ubuntu22.04)安装LAMP
  3. lamp一键安装操作
  4. SFP、SFP+、SFP28、QSFP+和QSFP28之间的区别
  5. 基于阿里云的OSS文件上传和下载
  6. 单片机中的WFI/WFE指令
  7. 湖南中医药大学信息科学与工程学院第四届大学生程序设计竞赛——正式赛题解
  8. 装酷神器让你的手机一秒穿越到 Windows 电脑桌面,神秘!
  9. 自动生产线拆装与调试实训装置
  10. SAP价格 SAP系统价格 SAP ERP软件报价是多少?