- Java程序員面試筆試寶典(第2版)
- 何昊等編著
- 331字
- 2022-06-17 16:00:51
1.20 異常處理
在沒有try-with-resources的時候,開發者往往需要編寫很多重復而且低效的代碼(需要有大量的catch和finally語句)。一旦開發者忘記釋放資源,就會造成內存泄漏。從Java7開始引入了try-with-resources來解決這些問題,這個語法的出現可以使代碼變得更加簡潔,從而增強代碼的可讀性,也可以更好地管理資源,避免內存泄漏。
下面給出一個在Java7中使用的示例:

從這個例子可以看出,雖然在try語句外已經實例化了一個對象fis,但是為了使用try-with-resources這個特性,需要再使用另外一個額外的引用fis1。因為在JDK7中,try語句塊中不能使用外部聲明的任何資源。如果把try (InputStream fis1=fis) 修改為try(fis),那么就會出現編譯錯誤。
Java 9針對這個缺陷進行了改進。在Java 9中,try塊中可以直接引用外部聲明的資源,而不需要外聲明一個引用。示例代碼如下所示:

顯然,在Java 9對try-with-resources進行優化后,代碼變得更加簡潔。
推薦閱讀
- INSTANT Mock Testing with PowerMock
- C語言程序設計實踐教程(第2版)
- C# Programming Cookbook
- AngularJS Web Application Development Blueprints
- AIRAndroid應用開發實戰
- Java FX應用開發教程
- Django:Web Development with Python
- 程序員考試案例梳理、真題透解與強化訓練
- MongoDB權威指南(第3版)
- SQL Server 2016數據庫應用與開發
- Selenium Testing Tools Cookbook(Second Edition)
- 基于Struts、Hibernate、Spring架構的Web應用開發
- Visual Basic程序設計實驗指導(第二版)
- Unity 2018 Shaders and Effects Cookbook
- Learning JavaScript Data Structures and Algorithms(Second Edition)