1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 《Java 核心技术 卷1》 笔记 第11章 异常 日志 断言和调试(4)断言用法+日志基础

《Java 核心技术 卷1》 笔记 第11章 异常 日志 断言和调试(4)断言用法+日志基础

时间:2020-10-23 02:31:54

相关推荐

《Java 核心技术 卷1》 笔记 第11章 异常 日志 断言和调试(4)断言用法+日志基础

11.4.1 启用和禁用断言

禁用方式:启动时不配置断言选项

启动方式:配置断言选项 -enableassertions 或 -ea

java -enableassertions XX

java -ea XX

特定类禁用断言

java -ea:Main -da:MyClass MyApp

问:启动或禁用断言需要重新编译程序吗?

答:不需要。启用或禁用断言的是类加载器而非编译器。

11.4.2 使用断言的建议

Java常用的错误处理:

(1)抛异常

(2)写日志

(3)用断言

断言的使用建议:

断言失败是致命、不可恢复的(参考异常不catch系统崩溃)断言检查只用于开发测试严重错误可考虑使用断言,比如传入空值,而使用过程中,传入的参数不可为空

11.4.3 为文档使用断言

文档说明的过程,可以是测试过程,这个部分可以使用断言,以方便程序员测试工作(总之就是只能用于开发测试,最好编写特定的测试编码,与业务逻辑分开,而非混入原本的业务逻辑之中)

断言小总结:

测试用或者开发进行测试用管理严格的系统对于不可能的输入用

11.5 记录日志

个人感觉这是最实用的方式,大厂小厂平时用都必备。各种日志记录的API都大同小异,建议认真学习。

日志API的优点:

(1)分级别,根据级别情况可以查看不同的日志(INFO等)

(2)可开关,而无需大量修改代码(直接修改配置文件)

(3)定向到不同处理器,用于控制台显示(测试环境可针对进行不同配置)

(4)可自定义过滤器(过滤输出到特定渠道的日志级别等)

(5)不同的记录日志方式(可既输出到控制台,又输出)

(6)可同时使用多个日志记录器(比如可以记录级别,也可以用普通的println输出)

(7)可替代配置(其实java所有的框架几乎都可以通过文件配置或者启动时调参配置)

11.5.1 基本日志

需要导入 java.util.logging.Logger

Logger.global.info("File->Open menu item selected");

我们注意到,这个位置出现了一条删除线,证明这个方法被废弃了

打印失败

看一下源码废弃的注释。大意是,直接有几率死锁所以废弃了,用 Logger.getGlobal() 代替,试一下:

Logger.getGlobal().info("File->Open menu item selected");

成功

区别:

它其实做的事情就是,如果日志管理器未初始化,先进行初始化(单例模式),然后再返回 global

禁用日志后,再输出日志,则不会打印信息:

public class Main {public static void main(String[] args) {Main solution = new Main();Logger logger = Logger.getGlobal();logger.setLevel(Level.OFF);logger.info("File->Open menu item selected");}}

相关内容:选择 《Java核心技术 卷1》查找相关笔记

评论🌹点赞👍收藏✨关注👀,是送给作者最好的礼物,愿我们共同学习,一起进步

如果对作者发布的内容感兴趣,可点击下方关注公众号钰娘娘知识汇总查看更多作者文章哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。