电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 在线教程-> JSP教程
讲解关于编写跨平台Java程序时的注意事项-JSP教程,Java技巧及代码
作者:网友供稿 点击:12
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
使用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可以列出所有的系统颜色。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·IReport与JasperReport开发详解一-JSP教程,Java技巧及代码
·JSTL(JSP标准标签库)介绍-JSP教程,资料/其它
·格式化输入日期时间控件 JieFormattedDateBox-JSP教程,Java技巧及代码
·JSTL简化JSP编码-JSP教程,Jsp/Servlet
·JUnit和单元测试入门简介-JSP教程,Java技巧及代码
·从数据库中读取一个图片并保存为一个图片文件-JSP教程,数据库相关
·Java Swing入门基础-JSP教程,Java技巧及代码
·IntelliJ IDEA培训-JSP教程,Java技巧及代码
·通过JSP的预编译消除性能瓶颈-JSP教程,Jsp/Servlet
·Java中利用JMF编写摄像头拍照程序-JSP教程,Java技巧及代码

最新文章
·J2ME中的时间处理方法
·J2ME播放声音流程简介
·J2ME开发之手机键盘使用注意问题
·J2ME 记录管理存储
·MVC模式在j2me项目中的应用(二)
·MVC模式在j2me项目中的应用(一)
·J2ME中使用记录存储系统(RMS)存储信息
·J2ME与MIDP开发(1)
·用简单的J2ME程序测试MIDlet的生命周期
·JAVA基础:提升JSP应用程序的七大绝招


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号