社区
Java SE
帖子详情
printStackTrace()打印堆栈与记录日志比有什么缺点
javashhai19
2006-02-06 12:02:28
printStackTrace()打印堆栈与记录日志比有什么缺点
...全文
587
1
打赏
收藏
printStackTrace()打印堆栈与记录日志比有什么缺点
printStackTrace()打印堆栈与记录日志比有什么缺点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
netpotRL
2006-02-06
打赏
举报
回复
printStackTrace() 好比写便条,写完就可以扔掉了
记录日志就好比记流水帐,发生了什么事以后想查也有地方可以查
打印
JAVA
堆栈
的方法
打印
JAVA
堆栈
的方法
源码分析为什么不建议用
pr
int
Stack
Trace
()
打印
异常
堆栈
背景
java正确的输出错误
日志
,为什么不要使用e.
pr
int
Stack
Trace
()?
反例: try{ // 业务代码处理 }catch(Exception e){ e.
pr
int
Stack
Trace
(); } 正例: try{ // 业务代码处理 }catch(Exception e){ log.error("你的程序有异常啦",e); } 理由: e.
pr
int
Stack
Trace
()
打印
出的
堆栈
日志
跟业务代码
日志
是交错混合在一起的,通常排查异常
日志
不太方便。 e.
pr
int
Stack
Trace
()语句产生的字符串
记录
的是
堆栈
信息,如果信息太长太多,字符串常量.
catch中为什么不建议使用e.
pr
int
Stack
Trace
为什么尽量不用e.
pr
int
Stack
Trace
直接用e.
pr
int
Stack
Trace
来
打印
日志
有错吗?当然不错,但是不好。主要原因有以下几点: 1、占用太多内存,造成锁死 要
打印
字符串输出到控制台上,需要字符串常量池所在的内存块有足够的空间。然而,因为e.
pr
int
Stack
Trace
() 语句要产生的字符串
记录
的是
堆栈
信息,太长太多,内存被填满了!大量线程产出字符串产出到一半,等待有...
java中
日志
打印
规范
e.
pr
int
Stack
Trace
()
打印
在
堆栈
信息中,如果异常过来,会导致
堆栈
内存不足,出现运行极慢的现象,最后出现OOM,这是一种非常糟糕的现象。使用log来
打印
日志
会
记录
在
日志
文件中,占用的是磁盘内存,一般不会出现运行极慢的现象,如果磁盘占用内存比较高时,需要对
日志
进行备份处理,然后清理
日志
。字符串使用“+”进行拼接操作,会有一定的性能损耗,虽然高版本的jdk对字符串拼接进行了性能优化,但不建议使用。使用大括号{}进行占位符的替换,相比字符串拼接,性能上更高,
日志
代码也更加优雅。
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章