1.捕获异常的时候,有一种特殊情况,就是方法体内部所抛出的并不是Exception而是Error,这个时候,上层方法捕获Exception就会失败。所以在某些场合需要捕获更高一级别的Throwable。一般哪些情况会抛出Error而非Exception呢?因为编译器只会对于java文件进行编译,如果Java文件调用jar中的方法,jar中的方法再调用另一个jar中的方法,这样如果另一个jar中的方法不存在,则会躲过编译期检查,在运行期报NoSuchMethodError而不是Exception

2.不要在finally中使用return。说明:在try中使用了return返回了正确的值之后,又会调用finally中的代码,那么又return就会覆盖之前正确的return。

3.在日志输出的时候使用占位符而不要使用字符串拼接(其实在所有输出都应该如此,但是现代项目中除了日志,基本没有别的地方调用输出了)。说明:在字符串拼接的时候编译器会调用将字符串转换为StringBuilder再调用append方法,有性能损耗,而占位符就直接是替换,性能更好。

4.禁止使用System.out.println();和System.err.println();输出日志,因为这两个所指向的文件只有在重启的时候才会滚动刷新,不重启就一直往指向的文件里写入,会导致文件过大,超出操作系统限制。

最新文章

  1. jQuery AutoComplete 自动补全
  2. 利用Jquery给当前页或者跳转后页面的导航栏添加选中后样式
  3. 第二节Unity3D开发环境安装(windows系统)
  4. Go 性能分析
  5. tyvj 1067 dp 两次LIS(nlogn)
  6. 用jquery 实现 超出字符 截断加上省略号并且可以提示全部内容
  7. sharepoint 列表的column验证----------SharePoint 2010 List Validation Formula
  8. hdu 3333 树状数组
  9. 【多路复用】I/O多路复用
  10. 45种Javascript技巧大全【转藏】
  11. mysql获取当前日期的周一和周日的日期
  12. Linux文件名匹配和输出重定向--2019-4-24
  13. 【转】JRXlsExporter.setParameter常用参数说明
  14. R语言
  15. android 开发 View _8_ 动态图片自定义View
  16. 关于 version control
  17. Outlook 如何初始化邮箱
  18. Deep Learning 资料总结
  19. 170619、springboot编程之HelloWorld
  20. 学习笔记|Java 教程|菜鸟教程

热门文章

  1. (原创)docker18.03的安装
  2. mac系统下用ssh方式连接git仓库
  3. C# WPF开源控件库:MahApps.Metro
  4. python简单的函数应用
  5. iOS 14 YYAnimatedImageView加载图片失败处理
  6. python的if和else语句
  7. linux yum install
  8. java并发包工具(java.util.Concurrent)
  9. TurtleBot3 Waffle (tx2版华夫)(3)opencr系统安装
  10. Spark MLlib中KMeans聚类算法的解析和应用