我讀的斷言在java.i有材料,我也看過一些關於斷言的電子材料。但我無法得到主要的主題,爲什麼我們使用斷言,它會做什麼。任何人都可以解釋我一般發言?java中的斷言如何工作?
2
A
回答
3
2
一個問題與調試程序發現有一個bug。
在內部,您可以始終檢查所有變量的狀態,但這樣做會很耗時,但如果沒有此類檢查,則您的內部狀態可能不會是您在任何給定時間的狀態,此時任何不正確的狀態都可能雪球並在晚些時候崩潰你的系統。
斷言允許您確保程序在開發過程中處於正確的狀態,如果不是(通過合理的消息告訴您爲什麼),將會發生HARD。
在發佈代碼中,assert語句不會執行,因此您不會減慢系統速度(此外,當它們位於真實用戶面前時,「儘早失敗,大聲失敗」可能不再是最好的策略,具體取決於應用
2
相關問題
- 1. 如何使Java斷言在sbt項目中工作?
- 2. 軟斷言是如何工作的
- 3. 處理SAML斷言如何工作?
- 4. 如何在Java中啓用斷言
- 5. 如何在Tomcat中啓用java斷言
- 6. Java的斷言(假)
- 7. Java斷言
- 8. 斷言在Java
- 9. java類型推斷如何工作?
- 10. Prolog的斷言/收回不工作
- 11. 使用斷言在Java中
- 12. 從rspec中斷言斷言與斷言
- 13. Java,斷言和JIT
- 14. Java斷言問題
- 15. Java斷言打印
- 16. 的java中斷循環不工作
- 17. 的Java:上斷言行爲
- 18. Java的斷言 - $ assertionsDisabled VS $ assertionsEnabled
- 19. 斷言Python 2.7不工作示例assertIn
- 20. 如何使用java斷言視頻動作?
- 21. 嵌套循環和中斷如何在Java中工作?
- 22. 如何在模塊開始工作之前讓摩卡斷言?
- 23. R語言如何工作
- 24. 什麼是Java中使用斷言的
- 25. 斷點如何工作?
- 26. 語言interop如何在.Net中工作?
- 27. SAML斷言使用java
- 28. Java斷言雙是NaN
- 29. Java,斷言文件等於
- 30. 在java中如何工作?
你可以給了一句更多的解釋說:「斷言語句不執行,這樣,當他們在現實用戶面前你不拖慢系統的」 – satheesh 2011-03-23 06:58:24
@satheesh有一個命令行(我相信--ea)啓用斷言。您應該在開發過程中使用此命令行選項,但在部署過程中您的客戶不會。沒有這個選項,斷言應該在加載時編譯出來,所以它們不存在。 – 2011-03-23 17:04:01