一次编写,到处运行

维基百科,自由的百科全书
跳转至: 导航搜索

一次编写,到处运行”(Write once, run anywhereWORA,有时也作“write once, run everywhere”、WORE),是太阳计算机系统公司用来展示Java程序设计语言跨平台特性的口号。[1][2] 理想中,这意味着Java可以在任何设备上开发,编译成一段标准的字节码并且可以在任何安装有Java虚拟机(JVM)的设备上运行。在芯片、设备和软件包中安装Java已经成为一种工业实践的标准。

这意味着开发者可以在一台PC上进行Java开发,并能在安装了Java的手机路由器大型计算机上运行他的代码而不经过其他调整。这使得开发者能够更容易地在不同的系统平台或者操作系统上部署他们的软件,而不用开发不同版本来适应不同的平台。

这个想法可以追溯到20世纪70年代,UCSD Pascal系统在p-code上开发、运行。James Gosling提到UCSD Pascal(以及Smalltalk虚拟机)对Java虚拟机的设计有关键性的影响。[來源請求]

美中不足的是JVM在各种不同的操作系统上(WindowsLinuxSolarisNetWareHP-UX以及Mac OS)有多种不同的实现,导致Java程序在不同的JVM虚拟机和操作系统上执行的时候有微妙的差别,所以一种应用可能需要在许多平台上进行测试,这造就了一个Java开发者的笑话:“一次编译,到处Debug”(“Write Once, Debug Everywhere”)。[3]

引用[编辑]

  1. ^ JavaSoft ships Java 1.0. Sun Microsystems. 1996-01-23. "Java's write-once-run-everywhere capability along with its easy accessibility have propelled the software and Internet communities to embrace it as the de facto standard for writing applications for complex networks" 
  2. ^ Write once, run anywhere?. Computer Weekly. 2002-05-02 [2009-07-27]. 
  3. ^ Wong, William. Write Once, Debug Everywhere. electronicdesign.com. 2002-05-27 [2013-02-04]. "So far, the "write-once, run-everywhere" promise of Java hasn't come true. The bulk of a Java application will migrate between most Java implementations, but taking advantage of a VM-specific feature causes porting problems." 

参见[编辑]