java語言

當前位置 /首頁/計算機/java語言/列表

編寫跨平臺的Java程式注意事項

Java語言的跨平臺性是它的特徵,在編寫應用程式時可以“一次編譯,處處執行”。下面是關於編寫跨平臺的Java程式注意事項,歡迎閱讀

編寫跨平臺的Java程式注意事項

1.編寫Java跨平臺應用程式時,你可以選擇JDK1.0,1.1,1.2或支援它們的GUI開發工具如:Jbuilder,Visual Age for Java 等等,但是必須注重你的Java程式只能使用Java核心API包,假如要使用第三方的類庫包,則該類庫包也要由Java核心包開發完成,否則在釋出你的程式的時候還得將支援該Java類庫包的JVM釋出出去。也就是說,你的程式需要是100%純Java的。

2.無論你使用的是JDK或其他開發工具,在編譯時都要開啟所有的警告選項,這樣編譯器可以儘可能多的發現平臺相關的語句,並給出警告。雖然不能保證沒有編譯時警告錯誤的程式一定是跨平臺的,但含有警告錯誤的程式卻很有可能是非平臺無關的。

3.在程式中使用任何一個方法的時候,要具體察看文件,確保你使用的方法不是在文件中已經申明為過時的方法,(Deprecated method )也不是文件中未標明的隱含方法 ( Undocumented method )。

4.退出Java程式時儘量不要使用em的exit方法。Exit 方法可以終止JVM,從而終止程式,但假如同時運行了另一個Java程式,使用exit方法就會讓該程式也關閉,這顯然不是我們希望看到的情況。事實上要退出Java程式,可以使用destory()退出一個獨立執行的過程。對於多執行緒程式,必須要關閉各個非守護執行緒。只有在程式非正常退出時,才使用exit方法退出程式。

5.避免使用本地方法和原生代碼,儘可能自己編寫具有相應功能的Java類,改寫該方法。假如一定要使用該本地方法,可以編寫一個伺服器程式呼叫該方法,然後將現在要編寫的程式作為該伺服器程式的客戶程式,或者考慮CORBA(公共物件請求代理)程式結構。

6.Java中有一個類似於Delphi中的winexec的方法,ime類的exec方法,作為該方法本身是具有平臺無關性的,但是給方法所呼叫的命令及命令引數卻是與平臺相關的,因此,在編寫程式時要避免使用,假如一定要呼叫其他的程式的話,必須要讓使用者自己來設定該命令及其引數。比如說,在windows中可以呼叫程式,在Linux 中就要呼叫vi程式了。

7.程式設計中的所有的資訊都要使用ASCII碼字符集,因為並不是所有的作業系統都支援Unicode字符集。

8.在程式中不要硬性編碼與平臺相關的任何常量,比如行分隔符,檔案分隔符,路徑分隔符等等,這些常量在不同的平臺上是不同的,比如檔案分隔符,在UNIX和MAC中是“/”,在 windows中是“”,假如要使用這些常量,需要使用erties類的getProperty方法,如 . Properties . getProperty (“rator”)可以獲得檔案分隔符,getProperty (“rator”)返回行分隔符,getProperty(“rator”) 返回路徑分隔符。

9.在編寫跨平臺的網路程式時,不要使用 java . net . InetAddress 類的getHostName方法得到主機名,因為不同的平臺的主機名格式是不同的,最好使用getAddress得到格式相同的IP地址,另外,程式中所有的主機名都要換成IP地址。

10.涉及檔案操作的程式需要注重:不要在程式中硬性編碼檔案路徑,理由和8中一樣,只是這一點非凡重要,因此單獨提出。而且,不同平臺對於檔名使用的字元及最大檔名長度的要求不同,編寫你的`程式的時候要使用一般的ASCII碼字元作為檔案的名字,而且不能與平臺中已存在的程式同名,否則會造成衝突。

11.假如您寫的程式是GUI程式,在使用AWT元件時不能硬性設定元件的大小和位置而應該使用Java的佈局治理器 ( layout manager ) 來設定和治理可視元件的大小和位置,否則有可能造成佈局混亂。

12.由於不同的操作系統,不同的機器,系統支援的顏色和螢幕的大小和解析度都不同,如何獲得這些屬性呢?使用 java . awt . Systemcolor 類可以獲得需要的顏色,如該類的inactiveCaption 就是視窗邊框中活動標題的背景顏色,menu 則是選單的背景顏色。使用 java . awt . Toolkit 的 getScreenResolution 可以以“象素每英寸”為單位顯示螢幕的解析度。

TAG標籤:JAVA 跨平臺 編寫 #