`

大量异常带来性能的影响

阅读更多

感受大量构造异常带来的性能影响:

package com;

/**
 * 异常也会影响性能(在非常高的请求频率下)
 */
public class ExceptionPerformance {

	public static void main(String[] args) {
		
		long t1 = System.currentTimeMillis();
		testParseWithException(100000);
		System.out.println(System.currentTimeMillis() - t1);
		
		
		t1 = System.currentTimeMillis();
		testParse(100000);
		System.out.println(System.currentTimeMillis() - t1);
		
		
	}
	
	
	/**
	 * just: 66 ms
	 */
	private static void testParse(long size){
		for (int i = 0; i < size; i++) {
			parse(i + "");
			parse(i + "");
		}
	}
	
	/**
	 * 1497 ms 
	 */
	private static void testParseWithException(long size){
		for (int i = 0; i < size; i++) {
			parse(i + "%");
			parse(i + "%");
		}
	}

	public static double parse(String data) {
		try {
			return Integer.parseInt(data);
		} catch (Exception e) {
			try {
				return Double.parseDouble(data);
			} catch (Exception e1) {
				try {
					return Integer.parseInt(data.replaceAll("%", ""));
				} catch (Exception e3) {
					return 0;
				}
			}
		}
	}
}

 

0
1
分享到:
评论

相关推荐

    服务端性能优化参考指南.docx

    这些对象的生成将会给程序的性能带来很大的影响。因此,需要杜绝不必要的对象产生,减少可调整的生成对象。 例如,在代码中,我们可以使用 StringBuffer 来代替 String,這樣可以減少对象的生成。同时,也可以使用...

    Sqlserver性能调整

    此外,阻塞也可能成为问题,尤其是在高并发环境中,不良的应用程序设计或事务隔离级别选择可能导致大量阻塞,影响整体性能。解决这类问题可能需要优化查询语句,创建或调整索引,或者调整事务隔离级别。 在处理这些...

    LOF 局部异常检测

    相较于传统的方法,LOF能够更准确地识别出那些隐藏在大量正常数据中的异常点。未来的研究可以进一步探索如何提高LOF算法的计算效率,以及如何将其应用到更多复杂的数据类型和场景中。此外,随着机器学习和人工智能...

    C#中Try-Catch语句真的影响程序性能吗?

    总结来说,C#中的Try-Catch语句确实会对程序性能产生一定影响,但这种影响通常很小,特别是在处理可能的错误和异常情况时,其带来的安全性提升远大于性能损失。在编写代码时,应根据具体情况权衡是否使用Try-Catch,...

    「图像视频深度异常检测」简明综述论文

    ### 图像视频深度异常检测综述 #### 引言与背景 随着计算机视觉技术的快速发展,**异常检测(Anomaly ...通过不断的技术创新和发展,我们有望在未来实现更为高效、准确的异常检测系统,为各行各业带来更大的价值。

    云计算Hadoop平台的异常数据检测算法研究.pdf

    面对这些挑战,研究者们提出了针对Hadoop平台的异常数据检测算法研究方法,以应对上述异常数据带来的问题。此研究主要涉及的关键词包括云计算(Cloud Computing)、大数据(Big Data)、异常数据(Abnormal Data)和Hadoop...

    解决Spring session(redis存储方式)监听导致创建大量redisMessageListenerContailner-X线程问题

    通过设置这些参数,可以有效控制线程的创建和回收,避免了无限制地创建新线程所带来的资源消耗和性能瓶颈。 通过为RedisHttpSessionConfiguration的@Qualifier注解提供自定义的springSessionRedisTaskExecutor,...

    性能学习方法

    - 使用线程池管理线程,避免大量线程创建和销毁带来的开销。 - 优化内存使用,避免内存泄漏,及时释放不再使用的资源。 - 异步处理耗时任务,提高系统响应速度。 - 分布式缓存策略,减少对数据库的直接访问。 - 利用...

    .net服务器端性能优化

    6. **采纳改进措施**:如果优化带来了积极的影响,则保留这些改动;如果效果不佳,则应回滚至原始状态。 #### 五、数据库层面优化 1. **建立适当的索引**: - **聚集索引**:适用于变化较小的列,如递增性的列。...

    UITableView——reloadData与reloadSection性能比较1

    如果数据更新涉及整个表格或者频繁变动,`reloadData`可能是更简洁的选择,尽管它可能带来更高的性能开销。此外,确保正确地管理和更新数据源,以避免出现类似“Invalid update”这样的异常。 总结来说,`...

    Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier

    其优点在于简单易用,但缺点是在大量复制操作时性能较低,因为每次复制都需要进行反射调用。 PropertyUtils是Apache Commons BeanUtils的扩展,它增强了对复杂类型和集合的处理能力。与BeanUtils相比,...

    架构设计-性能篇,性能设计注意事项

    - **异常处理机制**:异常处理是软件开发中不可或缺的一部分,但不恰当的异常处理机制可能会导致性能下降。例如,过度使用try-catch块可能会增加不必要的开销。 综上所述,在进行架构设计时,必须综合考虑以上各个...

    C#实现Socket高性能、大容量并发(附完整实例源码)

    - **缓冲区管理**:使用预分配的缓冲区池,减少内存分配和释放带来的性能损耗。 - **线程池**:利用.NET Framework的ThreadPool类,调度并行任务,避免频繁创建和销毁线程的开销。 - **连接池**:对于短连接场景...

    性能测试监控指标及分析调优

    5. **异常处理**: 异常处理会消耗性能,尤其在高并发场景下,应尽量避免或优化异常处理逻辑。 6. **数据库**: 数据库操作涉及磁盘I/O,过多的读写可能导致性能下降,需要优化SQL和索引。 7. **并发与锁**: 多线程...

    try_catch效率

    除非异常处理频繁发生,或者`try`块内的代码非常关键且性能敏感,否则`try-catch`带来的性能损失通常是可以接受的,因为其提供了更好的错误处理和调试能力。 为了量化`try-catch`对性能的影响,我们可以编写一段...

    人工智能用于异常数据挖掘研究分析.pdf

    在大量网络数据中,某些与其他数据不同的记录被称为异常值或异常点。这些异常点通常包含重要信息,对其进行分析可以得到有价值的信息。例如,在银行数据中可以检测出欺诈行为,从而体现数据挖掘在特定领域的重大价值...

    基于FP-growth算法的用电异常数据挖掘方法.pdf

    本文介绍了一种基于FP-growth算法的用电异常数据挖掘方法,该方法针对科学技术进步带来窃电手段专业化、多样化的问题,提出了利用机器学习和数据挖掘技术来提高用电异常检测效率和准确性的方案。文章首先概述了用电...

Global site tag (gtag.js) - Google Analytics