亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 21876 | 回復(fù): 6
打印 上一主題 下一主題

編寫跨平臺(tái)Java程序注意事項(xiàng) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2003-11-18 17:29 |只看該作者 |倒序?yàn)g覽
摘自:計(jì)算機(jī)世界日?qǐng)?bào)  
  使用Java語言編寫應(yīng)用程序最大的優(yōu)點(diǎn)在于“一次編譯,處處運(yùn)行”,然而這并不是說所有的Java程序都具有跨平臺(tái)的特性,事實(shí)上,相當(dāng)一部分的Java程序是不能在別的操作系統(tǒng)上正確運(yùn)行的,那么如何才能編寫一個(gè)真正的跨平臺(tái)的Java程序呢?下面是在編寫跨平臺(tái)的Java程序是需要注意的一些事情:
  1. 編寫Java跨平臺(tái)應(yīng)用程序時(shí),你可以選擇JDK1.0,1.1,1.2或支持它們的GUI開發(fā)工具如:Jbuilder,Visual Age for Java 等等,但是必須注意你的Java程序只能使用Java核心API包,如果要使用第三方的類庫包,則該類庫包也要由Java核心包開發(fā)完成,否則在發(fā)布你的程序的時(shí)候還得將支持該Java類庫包的JVM發(fā)布出去。也就是說,你的程序需要是100%純Java的。舉一個(gè)例子,Visual J++ 就不是純Java的,由Visual J++編寫的程序也就不具有平臺(tái)無關(guān)性。
  2. 無論你使用的是JDK或其他開發(fā)工具,在編譯時(shí)都要打開所有的警告選項(xiàng),這樣編譯器可以盡可能多的發(fā)現(xiàn)平臺(tái)相關(guān)的語句,并給出警告。雖然不能保證沒有編譯時(shí)警告錯(cuò)誤的程序一定是跨平臺(tái)的,但含有警告錯(cuò)誤的程序卻很有可能是非平臺(tái)無關(guān)的。
  3. 在程序中使用任何一個(gè)方法的時(shí)候,要詳細(xì)察看文檔,確保你使用的方法不是在文檔中已經(jīng)申明為過時(shí)的方法(Deprecated method),也不是文檔中未標(biāo)明的隱含方法(Undocumented method)。
  4. 退出Java程序時(shí)盡量不要使用java.lang.System的exit方法。Exit 方法可以終止JVM,從而終止程序,但如果同時(shí)運(yùn)行了另一個(gè)Java程序,使用exit方法就會(huì)讓該程序也關(guān)閉,這顯然不是我們希望看到的情況。事實(shí)上要退出Java程序,可以使用destory()退出一個(gè)獨(dú)立運(yùn)行的過程。對(duì)于多線程程序,必須要關(guān)閉各個(gè)非守護(hù)線程。只有在程序非正常退出時(shí),才使用exit方法退出程序。
  5. 避免使用本地方法和本地代碼,盡可能自己編寫具有相應(yīng)功能的Java類,改寫該方法。如果一定要使用該本地方法,可以編寫一個(gè)服務(wù)器程序調(diào)用該方法,然后將現(xiàn)在要編寫的程序作為該服務(wù)器程序的客戶程序,或者考慮CORBA(公共對(duì)象請(qǐng)求代理)程序結(jié)構(gòu)。
  6. Java中有一個(gè)類似于Delphi中的winexec的方法,java.lang.runtime類的exec方法,作為該方法本身是具有平臺(tái)無關(guān)性的,但是給方法所調(diào)用的命令及命令參數(shù)卻是與平臺(tái)相關(guān)的,因此,在編寫程序時(shí)要避免使用,如果一定要調(diào)用其他的程序的話,必須要讓用戶自己來設(shè)置該命令及其參數(shù)。比如說,在windows中可以調(diào)用notepad.exe程序,在linux 中就要調(diào)用vi程序了。
  7. 程序設(shè)計(jì)中的所有的信息都要使用ASCII碼字符集,因?yàn)椴⒉皇撬械牟僮飨到y(tǒng)都支持Unicode字符集,這對(duì)于跨平臺(tái)的Java中文軟件程序不能不說是一大噩耗。
  8. 在程序中不要硬性編碼與平臺(tái)相關(guān)的任何常量,比如行分隔符,文件分隔符,路徑分隔符等等,這些常量在不同的平臺(tái)上是不同的,比如文件分隔符,在UNIX和MAC中是“/”,在windows中是“\”,如果要使用這些常量,需要使用jdava.util.Properties類的getProperty方法,如java.util.Properties.getProperty(“file.separator”)可以獲得文件分隔符,getProperty (“l(fā)ine.separator”)返回行分隔符,getProperty(“path.separator”)返回路徑分隔符。
  9. 在編寫跨平臺(tái)的網(wǎng)絡(luò)程序時(shí),不要使用java.net.InetAddress類的getHostName方法得到主機(jī)名,因?yàn)椴煌钠脚_(tái)的主機(jī)名格式是不同的,最好使用getAddress得到格式相同的IP地址,另外,程序中所有的主機(jī)名都要換成IP地址,比如www.263.net就要換成相應(yīng)的IP地址。
  10. 涉及文件操作的程序需要注意:不要在程序中硬性編碼文件路徑,理由和8中一樣,只是這一點(diǎn)特別重要,因此單獨(dú)提出。而且,不同平臺(tái)對(duì)于文件名使用的字符及最大文件名長(zhǎng)度的要求不同,編寫你的程序的時(shí)候要使用一般的ASCII碼字符作為文件的名字,而且不能與平臺(tái)中已存在的程序同名,否則會(huì)造成沖突。
  11. 如果您寫的程序是GUI程序,在使用AWT組件時(shí)不能硬性設(shè)置組件的大小和位置而應(yīng)該使用Java的布局管理器(layout manager)來設(shè)置和管理可視組件的大小和位置,否則有可能造成布局混亂。
  12. 由于不同的操作系統(tǒng),不同的機(jī)器,系統(tǒng)支持的顏色和屏幕的大小和分辨率都不同,如何獲得這些屬性呢?使用java.awt.Systemcolor類可以獲得需要的顏色,如該類的inactiveCaption 就是窗口邊框中活動(dòng)標(biāo)題的背景顏色,menu則是菜單的背景顏色。使用java.awt.Toolkit的getScreenResolution可以以“象素每英寸”為單位顯示屏幕的分辨率。該類的getScreenSize可以得到屏幕大。ㄓ⒋纾,loadSystemColors可以列出所有的系統(tǒng)顏色。

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2003-11-18 17:35 |只看該作者

編寫跨平臺(tái)Java程序注意事項(xiàng)

有的項(xiàng)目需要有長(zhǎng)期的開發(fā)經(jīng)驗(yàn)才能理解!

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2003-11-18 17:43 |只看該作者

編寫跨平臺(tái)Java程序注意事項(xiàng)

[quote]原帖由 "Sailan"]有的項(xiàng)目需要有長(zhǎng)期的開發(fā)經(jīng)驗(yàn)才能理解![/quote 發(fā)表:


yes

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-09-01 10:33 |只看該作者
這怎么又一個(gè)重復(fù)了的帖子啊···
http://www.72891.cn/viewthread.php?tid=15997

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2013-02-28 10:02 |只看該作者
這是什么時(shí)代的帖子了?Java1.2時(shí)代的?

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2013-02-28 10:19 |只看該作者
1.2? 10多年前的?

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2013-03-02 09:05 |只看該作者
學(xué)習(xí)了,謝謝分享
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP