《深刻理解Java 7核心技術與最佳實踐》讀書筆記(2) Java語言動態性引言

Java語言是一種靜態類型的編程語言。靜態類型的含義是指在編譯時進行類型檢查。Java源代碼中的每一個變量的類型都要顯式地進行聲明。全部變量、方法的參數和方法返回值的類型在程序運行以前就必須是已知的。Java語言的這種靜態類型特性使編譯器能夠在編譯時執行大量的檢查來發現代碼中明顯的類型錯誤,不過這樣的話,代碼中會包含不少沒必要要的類型聲明,使代碼不夠簡潔和靈活。與靜態類型語言相對的是動態類型語言,如javascript和Ruby等。動態類型語言的類型檢查在運行時進行。源代碼中不須要顯式地聲明類型。去掉了類型聲明後,使用動態類型語言編寫的代碼更加簡潔。近年來,動態類型語言的流行也反映了語言中動態行的重要性。適當的動態性對於提升開發的效率是有幫助的,能夠減小開發人員須要編寫的代碼量。
 
對於使用java的開發人員來講,學習一門新的動態類型語言的代價可能比較高,由於從一門新語言入門到將其真正運用到實踐中的時間可能比較長。熟悉Java的開發人員仍是都但願用Java來解決問題。實際上,Java語言自己對動態性的支持也有不少。這裏的動態性指的不是類型上的,而是使用方式上的。這些動態性能夠在一些對靈活性要求比較高的場合發揮做用。反射API就是其中一個很好的例子,它提供了在運行時根據方法查找並調用方法的能力。隨着版本的更新,Java語言本省也在不斷地提升對動態性和靈活性的支持。
 
本章將圍繞Java語言的動態性來展開,所涉及的內容既有Java 7中的新特性,又有以前版本中就有的功能。集中在這一章進行介紹的目的是使讀者對相關知識有一個全面的瞭解。本章所介紹的內容都屬於Java的標準API,不須要了解字節代碼等底層細節。這一章的內容分爲4個部分:首先介紹Java 6中引入的腳本語言支持API,接着介紹能夠在運行時檢查程序內容部結構和直接調用的方法的反射API,而後對能夠在運行時實現接口的動態代理進行詳解,最後是本章的重點,即Java 7中引入的在Java虛擬機級別實現的動態語言支持和方法句柄。
相關文章
相關標籤/搜索