当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

跨平台Java程序筹划的十二条法例[Java编程]

赞助商链接



  本文“跨平台Java程序筹划的十二条法例[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的.举一个例子,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可以列出全部的系统颜色.

这些注意事项有些是来自参考文献,有些是自己长期编写Java程序的经验所得,相信对你的程序计划会有所帮忙.


  以上是“跨平台Java程序筹划的十二条法例[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 跨平台Java程序筹划的十二条法例
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .