麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

講解關于編寫跨平臺Java程序時的注意事項

2019-11-18 11:34:54
字體:
來源:轉載
供稿:網友

講解關于編寫跨平臺java程序時的注重事項   作者:Javaresearch  來源:Javaresearch


使用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的。舉一個例子,Visual J++ 就不是純Java的,由Visual J++編寫的程序也就不具有平臺無關性。
2、無論你使用的是JDK或其他開發工具,在編譯時都要打開所有的警告選項,這樣編譯器可以盡可能多的發現平臺相關的語句,并給出警告。雖然不能保證沒有編譯時警告錯誤的程序一定是跨平臺的,但含有警告錯誤的程序卻很有可能是非平臺無關的。
3、在程序中使用任何一個方法的時候,要具體察看文檔,確保你使用的方法不是在文檔中已經申明為過時的方法(DePRecated method),也不是文檔中未標明的隱含方法(Undocumented method)。
4、退出Java程序時盡量不要使用java.lang.System的exit方法。Exit 方法可以終止JVM,從而終止程序,但假如同時運行了另一個Java程序,使用exit方法就會讓該程序也關閉,這顯然不是我們希望看到的情況。事實上要退出Java程序,可以使用destory()退出一個獨立運行的過程。對于多線程程序,必須要關閉各個非守護線程。只有在程序非正常退出時,才使用exit方法退出程序。
5、避免使用本地方法和本地代碼,盡可能自己編寫具有相應功能的Java類,改寫該方法。假如一定要使用該本地方法,可以編寫一個服務器程序調用該方法,然后將現在要編寫的程序作為該服務器程序的客戶程序,或者考慮CORBA(公共對象請求代理)程序結構。
6、Java中有一個類似于Delphi中的winexec的方法,java.lang.runtime類的exec方法,作為該方法本身是具有平臺無關性的,但是給方法所調用的命令及命令參數卻是與平臺相關的,因此,在編寫程序時要避免使用,假如一定要調用其他的程序的話,必須要讓用戶自己來設置該命令及其參數。比如說,在windows中可以調用notepad.exe程序,在linux 中就要調用vi程序了。
7、程序設計中的所有的信息都要使用ASCII碼字符集,因為并不是所有的操作系統都支持Unicode字符集,這對于跨平臺的Java中文軟件程序不能不說是一大噩耗。
8、在程序中不要硬性編碼與平臺相關的任何常量,比如行分隔符,文件分隔符,路徑分隔符等等,這些常量在不同的平臺上是不同的,比如文件分隔符,在UNIX和MAC中是“/”,在windows中是“/”,假如要使用這些常量,需要使用jdava.util.Properties類的getProperty方法,如java.util.Properties.getProperty(“file.separator”)可以獲得文件分隔符,getProperty (“line.separator”)返回行分隔符,getProperty(“path.separator”)返回路徑分隔符。
9、在編寫跨平臺的網絡程序時,不要使用java.net.InetAddress類的getHostName方法得到主機名,因為不同的平臺的主機名格式是不同的,最好使用getAddress得到格式相同的ip地址,另外,程序中所有的主機名都要換成IP地址,比如www.263.net就要換成相應的IP地址。
10、涉及文件操作的程序需要注重:不要在程序中硬性編碼文件路徑,理由和8中一樣,只是這一點非凡重要,因此單獨提出。而且,不同平臺對于文件名使用的字符及最大文件名長度的要求不同,編寫你的程序的時候要使用一般的ASCII碼字符作為文件的名字,而且不能與平臺中已存在的程序同名,否則會造成沖突。
11、假如您寫的程序是GUI程序,在使用AWT組件時不能硬性設置組件的大小和位置而應該使用Java的布局治理器(layout manager)來設置和治理可視組件的大小和位置,否則有可能造成布局混亂。
12、由于不同的操作系統,不同的機器,系統支持的顏色和屏幕的大小和分辨率都不同,如何獲得這些屬性呢?使用java.awt.Systemcolor類可以獲得需要的顏色,如該類的inactiveCaption 就是窗口邊框中活動標題的背景顏色,menu則是菜單的背景顏色。
使用java.awt.Toolkit的getScreenResolution可以以“象素每英寸”為單位顯示屏幕的分辨率。該類的getScreenSize可以得到屏幕大?。ㄓ⒋纾?,loadSystemColors可以列出所有的系統顏色。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美成人免费电影 | 天天操天天碰 | 日本一区二区三区视频在线 | 国产一区二区免费在线观看 | 亚洲二区免费 | 91成人久久 | 国产午夜亚洲精品理论片大丰影院 | 久久精品视频一区二区三区 | 亚洲操比视频 | 一区二区三区日韩 | 成人午夜免费看 | 高清国产午夜精品久久久久久 | 久久久电影电视剧免费看 | 国产精品一区二区三区在线播放 | 手机av免费电影 | 一级一级一级毛片 | 国产日韩三区 | 国产精品999在线 | 美国黄色毛片女人性生活片 | 91美女啪啪 | 国产亚洲在线 | 在线播放污 | 免费在线成人网 | 欧美日韩免费一区 | 免费放黄网站在线播放 | 男女无遮挡羞羞视频 | 黄色网址入口 | 永久免费黄色片 | www.99热视频 | 深夜福利视频绿巨人视频在线观看 | 精品一区二区免费视频视频 | 色综合视频网 | 欧美成人免费香蕉 | 亚洲成人福利电影 | 91精品国产综合久久男男 | 国产精品麻豆91 | 日韩精品网站在线观看 | 久久人人爽人人爽人人片av高请 | 久久国产成人午夜av浪潮 | 精品亚洲va在线va天堂资源站 | 性猛交ⅹxxx乱巴西 欧美日韩1区2区3区 |