我读的断言在java.i有材料,我也看过一些关于断言的电子材料。但我无法得到主要的主题,为什么我们使用断言,它会做什么。任何人都可以解释我一般发言?java中的断言如何工作?
2
A
回答
3
2
一个问题与调试程序发现有一个bug。
在内部,您可以始终检查所有变量的状态,但这样做会很耗时,但如果没有此类检查,则您的内部状态可能不会是您在任何给定时间的状态,此时任何不正确的状态都可能雪球并在晚些时候崩溃你的系统。
断言允许您确保程序在开发过程中处于正确的状态,如果不是(通过合理的消息告诉您为什么),将会发生HARD。
在发布代码中,assert语句不会执行,因此您不会减慢系统速度(此外,当它们位于真实用户面前时,“尽早失败,大声失败”可能不再是最好的策略,具体取决于应用
2
相关问题
- 1. 如何使Java断言在sbt项目中工作?
- 2. 处理SAML断言如何工作?
- 3. 如何在Java中启用断言
- 4. 如何在Tomcat中启用java断言
- 5. Java的断言(假)
- 6. java类型推断如何工作?
- 7. Java断言
- 8. 断言在Java
- 9. 使用断言在Java中
- 10. 从rspec中断言断言与断言
- 11. Java断言问题
- 12. 的Java:上断言行为
- 13. 如何在模块开始工作之前让摩卡断言?
- 14. R语言如何工作
- 15. 如何断言的NodeJS
- 16. 在java中如何工作?
- 17. Shouldly断言库如何知道断言适用的表达式?
- 18. 在java中生成SAML响应/断言
- 19. 如何在Java中编译时断言某些东西?
- 20. 如何在CQ5/OSGi Bundle(Java)中启用断言?
- 21. Java - 如何在Eclipse中查看断言消息
- 22. Swift中的断言
- 23. C89中的断言?
- 24. 如何测试断言?
- 25. 如何否认CAS断言?
- 26. 如何缩短断言?
- 27. 断言与JUnit断言
- 28. Java的PreparedStatement如何工作?
- 29. 让断言在Visual C++单元测试中工作?
- 30. 为什么Console.WriteLine不能在MSpec断言中工作?
你可以给了一句更多的解释说:“断言语句不执行,这样,当他们在现实用户面前你不拖慢系统的” – satheesh 2011-03-23 06:58:24
@satheesh有一个命令行(我相信--ea)启用断言。您应该在开发过程中使用此命令行选项,但在部署过程中您的客户不会。没有这个选项,断言应该在加载时编译出来,所以它们不存在。 – 2011-03-23 17:04:01