我们把抛异常的时候不去封装异常信息
/*** 测试异常耗时* 关闭堆栈 并且不打印*/@Testpublic void noPrintCloseStackTrace() {long start1 = System.currentTimeMillis();for (int i = 0; i < RUN_COUNT; i++) {Storey1.test();}long start2 = System.currentTimeMillis();for (int i = 0; i < RUN_COUNT; i++) {try {Storey1.testException();} catch (Exception e) {}}long end = System.currentTimeMillis();log.info("普通返回耗时:{},异常返回耗时:{}", start2 - start1, end - start1);}public static class Storey5 {public static String test() {return Integer.toString(count++);}public static String testException() {throw new CustomException(Integer.toString(count++), null, false, false);}}public static class CustomException extends RuntimeException {public CustomException(String message) {super(message);}public CustomException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {super(message, cause, enableSuppression, writableStackTrace);}}
结果发现普通返回是31毫秒,而异常却要62毫秒,差距也没有想象中的大了 。差不多是2倍左右 。
15:54:26.984 [main] INFO com.alibaba.easytools.test.temp.exception.ExceptionTest - 普通返回耗时:31,异常返回耗时:62
最终结果我们来看下最终对比结论
普通
异常
普通输出日志,异常输出堆栈
2137
75026
普通输出日志,异常仅输出日志
2053
4380
都不输出日志
【Java到底能不能使用异常来控制流程?】58
719
推荐阅读
- 林平之到底爱不爱岳灵珊? 林平之爱岳灵珊吗
- 虚假宣传|晴天,阴天,夜钓到底该如何选择钓鱼偏光镜
- 八仙之一的铁拐李的葫芦到底是做什么用的? 铁拐李的葫芦
- “秋天的第一杯奶茶”到底是啥梗? 秋天的第一杯奶茶什么梗
- 菠萝放了一夜还能吃吗 菠萝放了一夜还能不能吃 逃跑吧少年菠萝辅助器
- 五官中郎将这个官职到底是做什么的? 五官中郎将
- 从星盘看你们的姐妹情到底有多深 科技紫微星盘
- 政审|外资工厂招聘工人抢着进,国内工厂反而招工难!两者到底有何区别
- 百度又出新广告,要将反套路进行到底吗? 百度拍照搜题
- 胡鑫宇|胡鑫宇一家清空视频疑似退网,胡家大宅人去楼空!他们到底去哪了