Java跨平台程序设计规则

开发 后端
这里向大家简单介绍一下Java跨平台程序设计的几条规则,使用Java语言编写应用程序最大的优点在于“一次编译,处处运行”,然而这并不是说所有的Java程序都具有Java跨平台的特性。

不是说所有的Java程序都具有Java跨平台的特性,事实上,相当一部分的Java程序是不能在别的操作系统上正确运行的,那么如何才能编写一个真正的跨平台的Java程序呢?下面是在编写跨平台的Java程序是需要注意的一些事情。

跨平台Java程序设计的规则

使用Java语言编写应用程序***的优点在于“一次编译,处处运行”,然而这并不是说所有的Java程序都具有Java跨平台的特性,事实上,相当一部分的Java程序是不能在别的操作系统上正确运行的,那么如何才能编写一个真正的跨平台的Java程序呢?下面是在编写跨平台的Java程序是需要注意的一些事情:

◆1.编写Java跨平台应用程序时,你可以选择JDK1.0,1.1,1.2或支持它们的GUI开发工具如:Jbuilder,VisualAgeforJava等等,但是必须注意你的Java程序只能使用Java核心API包,如果要使用第三方的类库包,则该类库包也要由Java核心包开发完成,否则在发布你的程序的时候还得将支持该Java类库包的JVM发布出去。也就是说,你的程序需要是100%纯Java的。举一个例子,VisualJ++就不是纯Java的,由VisualJ++编写的程序也就不具有平台无关性。

◆2.无论你使用的是JDK或其他开发工具,在编译时都要打开所有的警告选项,这样编译器可以尽可能多的发现平台相关的语句,并给出警告。虽然不能保证没有编译时警告错误的程序一定是跨平台的,但含有警告错误的程序却很有可能是非平台无关的。

◆3.在程序中使用任何一个方法的时候,要详细察看文档,确保你使用的方法不是在文档中已经申明为过时的方法(Deprecatedmethod),也不是文档中未标明的隐含方法(Undocumentedmethod)。

◆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程序了。

【编辑推荐】

  1. 解答WebLogic与JVM六大疑问
  2. 解决JVM***内存设置问题
  3. 调用weblogic设置jvmheap大小
  4. 详解Tomcat配置JVM参数步骤
  5. 深入学习JVM内存设置原理和调优
责任编辑:佚名 来源: hackbase.com
相关推荐

2010-09-17 09:08:49

Java多线程

2009-02-10 09:53:41

多线程程序设计Java

2013-12-12 16:30:20

Lua脚本语言

2011-07-04 13:31:15

2011-07-22 13:41:57

java

2011-04-18 09:22:38

多线程

2009-12-04 10:53:06

VS WEB

2010-12-28 10:12:39

PHP

2012-05-02 13:22:46

JavaJava设计

2009-06-22 14:03:00

java教材程序设计

2009-06-29 15:25:00

Java多线程

2020-10-12 14:40:28

VS Code代码平台

2011-08-05 15:46:32

Objective-C 程序设计

2010-01-28 09:54:27

C++程序设计

2009-12-25 16:36:45

WPF程序设计

2017-09-05 08:16:29

代码判断函数

2013-12-16 16:49:57

OpenMP

2013-12-16 16:58:47

OpenMP并行

2019-12-26 09:25:48

量子芯片网络

2010-09-25 14:01:11

Java跨平台
点赞
收藏

51CTO技术栈公众号