1.Math類三個與取整有關的方法:ceil、floor、round
- ceil的英文意義是天花板,該方法就表示向上取整,Math.ceil(11.3)的結果爲12,Math.ceil(-11.3)的結果是-11
- floor的英文意義是地板,該方法就表示向下取整,Math.ceil(11.6)的結果爲11,Math.ceil(-11.6)的結果是-12;
- round方法,它表示“四捨五入”,算法爲Math.floor(x+0.5),即將原來的數字加上0.5後再向下取整,所以,Math.round(11.5)的結果爲12,Math.round(-11.5)的結果爲-11。
2.泛型
作用於代碼編譯階段,在編譯過程中,對於正確檢驗泛型結果後,會將泛型的相關信息擦出,也就是說,成功編譯過後的class文件中是不包含任何泛型信息的。泛型信息不會進入到運行時階段。
native關鍵字說明其修飾的方法是一個原生態方法,方法對應的實現不是在當前文件,而是在用其他語言(如C和C++)實現的文件中。Java語言本身不能對操作系統底層進行訪問和操作,但是可以通過JNI接口調用其他語言來實現對底層的訪問。
JNI是Java本機接口(Java Native Interface),是一個本機編程接口,它是Java軟件開發工具箱(java Software Development Kit,SDK)的一部分。JNI允許Java代碼使用以其他語言編寫的代碼和代碼庫。Invocation API(JNI的一部分)可以用來將Java虛擬機(JVM)嵌入到本機應用程序中,從而允許程序員從本機代碼內部調用Java代碼。
4.迭代器
Iterator 支持從源集合中安全地刪除對象,只需在 Iterator 上調用 remove() 即可。這樣做的好處是可以避免 ConcurrentModifiedException ,當打開 Iterator 迭代集合時,同時又在對集合進行修改。有些集合不允許在迭代時刪除或添加元素,但是調用 Iterator 的remove() 方法是個安全的做法。
5.存根(Stub)
存根類是一個類,它實現了一個接口,它的作用是:如果一個接口有很多方法,如果要實現這個接口,就要實現所有的方法。但是一個類從業務來說,可能只需要其中一兩個方法。如果直接去實現這個接口,除了實現所需的方法,還要實現其他所有的無關方法。而如果通過繼承存根類就實現接口,就免去了這種麻煩。
RMI 採用stubs 和 skeletons 來進行遠程對象(remote object)的通訊。stub 充當遠程對象的客戶端代理,有着和遠程對象相同的遠程接口,遠程對象的調用實際是通過調用該對象的客戶端代理對象stub來完成的。
每個遠程對象都包含一個代理對象stub,當運行在本地Java虛擬機上的程序調用運行在遠程Java虛擬機上的對象方法時,它首先在本地創建該對象的代理對象stub, 然後調用代理對象上匹配的方法。每一個遠程對象同時也包含一個skeleton對象,skeleton運行在遠程對象所在的虛擬機上,接受來自stub對象的調用。這種方式符合等到程序要運行時將目標文件動態進行鏈接的思想。jdk1.2之前是skeleton,之後是server
6.內部類