新聞中心
簡述JAVA的工作機制。為什么它能實現跨平臺?
java的跨平臺即跨操作系統(tǒng)的平臺,也就是說你寫的java程序不需要修改就可以在不同的操作系統(tǒng)上運行windows,linux,unix,當然有個前提就是你的操作系統(tǒng)必須有java環(huán)境了,即安裝了對應的jdk。應為java程序編譯成class文件都交給JVM來處理了。

在java之前,跨平臺是很痛苦的事情,主要是因為所有對于系統(tǒng)的調用,在不同的操作系統(tǒng)下結果都不一樣,簡單的來說,int的長度在不同操作系統(tǒng)里面就不一樣,甚至于連字節(jié)排列的順序都不同。調用同一個函數返回的格式也不同,因此,寫程序的人自己要對不同的系統(tǒng)非常了解,如果真的需要對不同操作系統(tǒng)進行兼容,要在程序里面寫很多if,編譯的時候要先判斷使用的操作系統(tǒng),創(chuàng)造很多環(huán)境變量才能編譯,而且編譯好的二進制可執(zhí)行文件只能在本系統(tǒng)上運行。如果你寫的是個功能庫供別人調用的,那么光對操作系統(tǒng)的判斷就占了代碼的絕大部分,而且,還要你在不同平臺下進行測試,這可是個艱苦卓絕的工作。
自從有了java之后,就把操作系統(tǒng)兼容的工作丟給了jvm了,對于程序員來說就再也不要關心int有幾位,還有高位在前還是地位在前的問題了,你只要用java的代碼把你程序的邏輯實現出來就可以了,這些兼容的問題就交給jvm去處理吧。這樣,如果你寫一個程序交付給客戶使用,如果客戶的環(huán)境是運行AIX的,你就不需要在本地也裝一個AIX來開發(fā)和運行,你可以在windows上完成所有的開發(fā),然后把編譯好的文件交給客戶就可以了,以后有別的客戶需要在Solaris上運行這個程序,你都不用修改,直接拿過去就可以運行,很方便!只有被跨平臺開發(fā)折磨過的人才能更深得體會到用java開發(fā)跨平臺應用的優(yōu)勢。
因為java程序是用java虛擬機(JVM)執(zhí)行的,不論是用什么平臺開發(fā)的java代碼,最終都會被轉換成只被JVM識別的代碼。 所以只要下載各個平臺的java虛擬機就可以實現代碼的跨平臺運行。
java反射機制怎樣獲取到類上面的注解?
// 定義注解并指定java注解保留策略為運行時RUNTIME,運行時注入到JAVA字節(jié)碼文件里// 這樣才可以在運行時反射并獲取它。@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)@interface MyAnnotation{ String key() default ""; int value() default 0; }// 使用注解@MyAnnotation(key="key1",value=200)class MyClass{}// 反射注解public static void main(String[] args){ MyClass myClass=new MyClass(); MyAnnotation annotation=myClass.getClass().getAnnotation(MyAnnotation.class)
; System.out.println("key="+annotation.key()+"\tvalue="+annotation.value());}
到此,以上就是小編對于java的機制的問題就介紹到這了,希望這2點解答對大家有用。
當前標題:java有哪些機制
本文來源:http://m.5511xx.com/article/cogodsi.html


咨詢
建站咨詢
