java-try-catch对性能的影响

Java try-catch 捕获异常真的会影响性能吗? 综上所述,Java try-catch 捕获异常并不会对程序性能造成显著的影响,尤其是在现代的 Java 虚拟机中。在编写代码时,我们应该从程序设计角度出发,正确使用 try-catch 语句,以便提高代码的可读性、可维护性和健壮性。如果我们需要针对性能进行优化,可以采用一些技巧和方法,如减少 try-catch 的嵌套层数、将 try-catch 块放在外层循环中等。 阅读详情
package cn.qiweiwei.trycatch;
/**
* @author 作者:qiww
* @createDate 创建时间:2018年6月11日 上午8:45:14
*/
public class TryCatchTest {

	public static void main(String[] args) {
		
		
		int[] ss = new int[100000000];
		
		long startTime;
		long endTime;
		
		startTime = System.currentTimeMillis();
		for (int j = 0; j < ss.length; j++) {
			ss[j] = ss[j] + 1;
			ss[j] = ss[j] - 1;
		}
		endTime = System.currentTimeMillis();
		System.out.println("无try-catch:程序运行时间:" + (endTime - startTime) + "ms");
		
		startTime = System.currentTimeMillis();
		for (int j = 0; j < ss.length; j++) {
			try {
				ss[j] = ss[j] + 1;
				ss[j] = ss[j] - 1;
			} catch (Exception e) {
				// TODO: handle exception
			}
		}
		endTime = System.currentTimeMillis();
		System.out.println("有try-catch:程序运行时间:" + (endTime - startTime) + "ms");
		
		
		
	}

}
无try-catch:程序运行时间:4ms
有try-catch:程序运行时间:3ms

在不抛出异常的情况下,try-catch对程序性能几乎没有影响,倒是哪个在前执行,哪个在后执行影响更大。

参考:

https://blog.youkuaiyun.com/lylwo317/article/details/51869893




流言粉碎机:JAVA使用 try catch会影响性能 流言粉碎机:JAVA使用 try catch会影响性能一、JVM 异常处理逻辑二、关于JVM的编译优化1. 分层编译2. 即时编译器1. 解释模式2. 编译模式3. 提前编译器:jaotc三、关于测试的约束执行用时统计编译器优化的因素关于指令重排序四、测试代码五、解释模式下执行测试六、编译模式测试七、结论 前言: 不知道从何时起,传出了这么一句话:Java中使用try catch 会严重影响性能。 然而,事实真的如此么?我们对try catch 应该畏之如猛虎么? 一、JVM 异常处理逻辑 Java 阅读详情

相关推荐

java 使用 try-catch 捕获异常会影响性能吗?真相只有一个

在没有异常抛出的情况下,try-catch对性能的影响几乎可以忽略不计。在抛出异常的情况下,try-catch对性能的影响非常显著,可达42863.37%。为了优化性能,我们可以在性能关键路径中避免使用try-catch,或者使用if-else语句替代try-catch。希望本文对你有所帮助,让你在编写 Java 代码时更加自信,再也不用担心try-catch的性能问题!🎉如果你有任何问题或建议,欢迎留言交流!😊。

java专栏 1421

Java try-catch性能分析

在开发的过程中,我总是会有意无意的使用到`try-catch`语句,于是担心起它的使用会不会影响程序的性能?

ThinkStu的博客 4万+

在Java中 try catch 会影响性能吗?

2、但是,如果出现异常被抛出时,Java虚拟机需要执行一些额外的操作来处理这个异常。这些操作包括创建异常对象、填充栈跟踪、搜索合适的catch块等,这些都是需要消耗CPU时间和内存的。3、异常的创建和处理会打乱Java的即时编译器的优化,因为编译器通常会假设异常不会经常发生。当异常频繁发生时,可能会降低即时编译器的优化效果,从而影响性能。1、在Java中,异常处理确实会对性能产生影响,但在正常执行的代码路径中,即没有发生异常的情况下,try-catch块的性能影响是微不足道的。

hkl_Forever的博客 484

JAVA-编程基础-08-try-catch性能探究

, , 在 for 循环里面搞了个 ,不知道有性能损耗? 需要怎么改呢?有些人回答: 提到外面啊。这种回答是错误的:且不说性能这代码的目的明显是让循环内部单次调用出错不影响循环的运行,移到外面,业务逻辑不就变了。catch 整个 for 循环和在循环内部 catch,在不出错的情况下,其实性能差不多测试代码: 请允许我补充一些概念,以便大家能更好的理解这段代码。 从 for 循环里面提出来跟在for循环里面做个对比跑一下可以看到,两者的性能(数字越大越好)其实差不多:[外链图片转存失败,源站可能有防盗链

苍云烟 483

瑞芯微RK3506开发板Ethercat主站性能优化实战:从内核配置到微秒级延迟控制

本文详细介绍了在瑞芯微RK3506开发板上实现EtherCAT主站微秒级延迟控制的实战优化方案。核心在于部署Preempt-RT实时内核,并进行深度系统调优,包括CPU隔离、中断亲和性设置、内存锁定及电源管理调整。通过绕过Linux网络栈的专用驱动加载与配置,最终实现了稳定的高性能实时控制,满足工业自动化需求。

tcp8optimizer的博客 317

Ollama+FAISS+Embedding+Rerank+LLM 详细部署指南

下载安装Ollama 双击运行安装程序 安装完成后会自动启动服务 修改默认安装路径(避免C盘爆满) 或使用PowerShell: 验证安装 Linux系统部署: (二)准备模型 1. 拉取Embedding模型 2. 拉取LLM模型 注意:原文中提到的可能需要从自定义仓库拉取: 3. 下载Rerank模型 (三)安装依赖库 创建项目目录和虚拟环境: 二、主要功能实现 项目结构 (一)配置文件(config/config.yaml) (二)文本分块策略实现 创建 : (三)文档读取

AI技术改变世界 1583

别被骗了,try-catch语句真的会影响性能吗?

不知道从何时起,传出了这么一句话:Java中使用try catch 会严重影响性能。然而,事实真的如此么?我们对try catch 应该畏之如猛虎么?

m0_64363449的博客 358

AXI4接口说明

ACLK:全局AXI接口时钟输入(建议与系统时钟保持一致)ARESET_n:全局AXI接口复位信号,低电平有效。PS:在HBM AXI接口应用中,此复位端口仅应在数据传输开始前使用。若在传输开始后使用,会导致AXI接口与内存控制器失步(out-of-sync)。当开关启用时,IP核会将所有ARESET_n引脚内部连接在一起——因为内存作为一个整体工作。

rhtul的博客 1522

Java 使用 try catch 会影响性能?

然而,事实真的如此么?我们对try catch 应该畏之如猛虎么?

2501_92606851的博客 900

基于 YOLO26 的车辆实时检测与计数系统

本文提出了一种基于YOLO26的车辆实时检测与计数系统。系统采用CSPDarknet53作为主干网络,结合特征金字塔和多尺度预测实现高精度车辆检测。通过DeepSORT算法进行目标跟踪,并统计车辆数量、行驶方向和交通流量。实验表明,该系统在保持实时性能的同时,检测精度达到92.3%,可有效应用于智能交通管理。系统采用Python实现,支持GPU加速,适用于多种交通场景下的车辆监测需求。

一键难忘的博客 910

站在评审的角度写国自然基金本子,搭配这5条AI提示词,帮你一键提升本子中标率

多数同仁的选题失败,不是因为你的idea不好,而是你的逻辑没有立起来,你必须让评审看到,你是怎么从问题走向方法的。请你按照“同行做到哪、瓶颈卡在哪、我该怎么破”的逻辑,将我的创新点进行重构:【粘贴你原始的创新点描述】,要求:表达需结构化、可量化、可验证,突出对比后的实质性突破。与其等着评审指出问题,等着本子被拒,不如让AI提前模拟评审,帮你从可行性、创新性、国家价值、团队能力四个维度给你打分,并指出项目的致命破绽,提示词这样设计。创新点如果写不好,本子往往也会被拒,而评审一般喜欢的创新点都是有固定结构的。

智能AI让学术科研更容易 1241

JAVA使用 try catch会影响性能??

执行结果如下图,难分胜负,波动只在微秒级别,执行速度也快了很多,编译效果拔群啊,甚至连 “解释模式” 运行时多个try catch 导致的,多个goto跳转带来的问题都给顺带优化了;try catch 不会造成巨大的性能影响,换句话说,我们平时写代码最优先考虑的是程序的健壮性,当然大佬们肯定都知道了怎么合理使用try catch了,但是对萌新来说,你如果不确定,那么你可以使用 try catch;遗憾的是它只支持 G1 或者 Parallel 垃圾收集器,且只存在JDK 9 以后的版本,暂不需要去关注它;

AS011x的博客 153

SAP 集成泛微 OA Open API 新建流程申请接口

《SAP ERP 与泛微 OA 的系统集成》系列文章。泛微 Open API 是基于 HTTPS 的 Restful 接口,上篇文章,我已经完成了调用业务接口之前的准备工作,这篇文章我以新建流程申请这个系统集成最重要的接口为例,讲解接口设计、泛微 API 调用的过程、遇到的问题、解决的办法。

SAP李斌,本人承诺所有原创文章均不使用任何AI生成技术,请大家放心阅读。 3558

Java使用 try catch会影响性能?

往期热门文章:1、原来count(*)是接口性能差的真凶! 2、大公司病了,这也太形象了吧!!! 3、全球最大资源站创始人被抓,但网站还会继续活下去 4、阿里领导:手下两个应届生,一个踏实喜欢加班,一个技术强挑活,怎么选? 5、网站都变成灰色了,它是怎么实现的?一. JVM异常处理逻辑Java 程序中显式抛出异常由athrow指令支持,除了通过 throw 主动抛出异常外,JVM规范中还规定了许多...

Java后端技术 306

BurpSuite工具HaE插件好用正则收集

数据集合面板里面直接查询捕获到的相关数据内容,省去一个个翻找数据包内容的烦恼。插件捕获到匹配正则表达式的数据包后,可以在。可以对正则条目进行添加、编辑、删除。规则信息管理,我们点击。

墨痕诉清风的博客 656

网口通信实战(C#完整版):基于TCP协议的工业仪表数据采集系统开发

工业现场中80%的智能仪表(压力/温度/液位/流量/数显仪表)、采集模块、测控终端均支持TCP网口通信,这类设备的TCP通信有鲜明的工业特性:基于字节流的自定义二进制协议、一问一答的主从通信模式、对数据完整性/稳定性要求极高。本次实战是纯工业级落地项目,基于C# WinForm + .NET Framework 4.8(工业上位机标配)✅纯原生无依赖:零第三方类库/控件,仅用C#原生,源码可100%复用、无引用冲突、工控机完美兼容;✅双采集模式完美适配:同时实现「单次手动采集」+「连续自动采集」

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1804

Java上的try catch并不影响性能

转自: http://devspirit.blog.163.com/blog/static/164255315201214114218742/ 最近因为担心自己开发的库不稳定,会影响到接入产品的正常运行,在代码的不少地方都加了一层try catch,主要是为了避免自己的一些异常抛出导致,应用crash,捕获的异常也并没有做什么特别的处理,只是在log中输出该异常的信息。try ca

靖哥哥的专栏 1103

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JAVA面试题分享二百七十三:使用 try-catch 捕获异常会影响性能吗?

不知道从何时起,传出了这么一句话:Java中使用try catch 会严重影响性能。然而,事实真的如此么?我们对try catch 应该畏之如猛虎么?

之乎者也·的博客 1086

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Java上的try catch并不影响性能(转)

转自:http://blog.youkuaiyun.com/tao_zi7890/article/details/17584813 最近因为担心自己开发的库不稳定,会影响到接入产品的正常运行,在代码的不少地方都加了一层trycatch,主要是为了避免自己的一些异常抛出导致,应用crash,捕获的异常也并没有做什么特别的处理,只是在log中输出该异常的信息。...

weixin_34361881的博客 92

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Java 中的 try catch 影响性能吗?

↑↑ 点击上方关注「陈树义」↑↑这是陈树义的第050期分享作者 l 陈树义来源 l陈树义(ID:Spark-tree)转载请联系授权(ID:Spark-tree)前...

陈树义 691

java for try catch_Java 中的 try catch 影响性能吗?

前几天在 code review 时发现有一段代码中存在滥用try catch的现象。其实这种行为我们也许都经历过,刚参加工作想尽量避免出现崩溃问题,因此在很多地方都想着 try catch一下。但实际上这种习惯不仅会让代码很难看,更会影响代码的运行性能。有些人会觉得,不就是一个 try catch 么,怎么会影响性能啊。那就让我们来测试看看吧。实验首先,我们看看没有try-catch情况下,进行...

weixin_39744408的博客 250

union all会影响性能吗_Java 中的 try catch 影响性能吗?

作者:陈树义来源:https://www.cnblogs.com/chanshuyi/p/is_try_catch_ineffective.html前几天在 code review 时发现有一段代码中存在滥用try catch的现象。其实这种行为我们也许都经历过,刚参加工作想尽量避免出现崩溃问题,因此在很多地方都想着 try catch一下。但实际上这种习惯不仅会让代码很难看,更会影响代码的运行性...

weixin_39593277的博客 1593
上一篇: JAVA-接口入参保护
下一篇: ehcache学习
山禾_Abel
博客等级 码龄15年 30粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值