还剩1页未读,继续阅读
文本内容:
编写跨平台的程序注意事项Java语言的跨平台性是它的特征,在编写应用程序时可以〃一次编译,Java处处运行〃下面是关于编写跨平台的程序注意事项,欢迎阅读!Java编写跨平台应用程序时,你可以选择或支持
1.Java JDK
1.0,
1.1,
1.2它们的开发工具如等等,但是必须注重GUI Jbuilder,VisualAgeforJava你的程序只能使用核心包,假如要使用第三方的类库包,Java JavaAPI则该类库包也要由核心包开发完成,否则在发布你的程序的时候Java还得将支持该类库包的发布出去也就是说,你的程序需要Java JVM是纯的100%Java无论你使用的是或其他开发工具,在编译时都要打开所有的
2.JDK警告选项,这样编译器可以尽可能多的发现平台相关的语句,并给出警告虽然不能保证没有编译时警告错误的程序一定是跨平台的,但含有警告错误的程序却很有可能是非平台无关的在程序中使用任何一个方法的时候,要具体察看文档,确保你使
3.用的方法不是在文档中已经申明为过时的方法,Deprecatedmethod也不是文档中未标明的隐含方法Undocumentedmethodo退出程序时尽量不要使用的方法方法可以终止
4.Java exitExit JVM,从而终止程序,但假如同时运行了另一个程序,使用方法就Java exit会让该程序也关闭,这显然不是我们希望看到的情况事实上要退出程序,可以使用退出一个独立运行的过程对于多线程Java destory程序,必须要关闭各个非守护线程只有在程序非正常退出时,才使用方法退出程序exit避免使用本地方法和本地代码,尽可能自己编写具有相应功能的
5.类,改写该方法假如一定要使用该本地方法,可以编写一个服Java务器程序调用该方法,然后将现在要编写的程序作为该服务器程序的客户程序,或者考虑公共对象请求代理程序结构CORBA中有一个类似于中的的方法,
6.Java Delphiwinexec类的方法,作为该方法本身是具有平台无关性的,但是给方法所exec调用的命令及命令参数却是与平台相关的,因此,在编写程序时要避免使用,假如一定要调用其他的程序的话,必须要让用户自己来设置该命令及其参数比如说,在中可以调用程序,在windows notepad.exe中就要调用程序了Linux vi程序设计中的所有的信息都要使用码字符集,因为并不是
7.ASCII所有的操作系统都支持字符集Unicode在程序中不要硬性编码与平台相关的任何常量,比如行分隔符,文
8.件分隔符,路径分隔符等等,这些常量在不同的平台上是不同的,比如文件分隔符,在和中是/〃,在中是“〃,假如UNIX MACwindows要使用这些常量,需要使用类的方法,如get Property可以获得文件分隔符,java.util.Properties.getPropertyfile.separator返回行分隔符,getPropertyTine.separator getPropertypath.separator返回路径分隔符在编写跨平台的网络程序时,不要使用「类的
9.java.Address方法得到主机名,因为不同的平台的主机名格式是不同的,getHostName最好使用得到格式相同的地址,另外,程序中所有的主getAddress IP机名都要换成地址IP涉及文件操作的程序需要注重不要在程序中硬性编码文件路
10.径,理由和中一样,只是这一点非凡重要,因此单独提出而且,不8同平台对于文件名使用的字符及最大文件名长度的要求不同,编写你的程序的时候要使用一般的码字符作为文件的名字,而且不能与ASCII平台中已存在的程序同名,否则会造成冲突假如您写的程序是程序,在使用组件时不能硬性设置1L GUIAWT组件的大小和位置而应该使用的布局治理器来设Java layoutmanager置和治理可视组件的大小和位置,否则有可能造成布局混乱由于不同的操作系统,不同的机器,系统支持的颜色和屏幕的
12.大小和分辨率都不同,如何获得这些属性呢使用类可以获得需要的颜色,如该类的就是窗口边框中活动inactiveCaption标题的背景颜色,则是菜单的背景颜色使用的menu可以以“象素每英寸〃为单位显示屏幕的分辨率getScreenResolution。