软件开发中Java语言特点之可移植性

作者:亿网科技  来源:亿网科技  发布时间:2022-12-27

85871669306977097.jpg

软件可移植性是指软件从一个环境转移到另一个环境的容易程度。需要注意的是,这里所说的软件可移植性是指代码的可移植性,代码可移植性的主题是软件。所以,可移植性是软件产品的一个属性,它的行为表现出一个度,这个度与包括软件、硬件、组织在内的环境有关。


在此,作为一名有着多年软件行业经验的兰州东方尚易科技工作人员,结合自身的行业经验,简单谈谈软件的可移植性。


从软件开发的角度来看,可移植性是软件的质量之一,良好的可移植性可以提高软件的生命周期。说得更明白一点,软件可移植性具有适应性、易安装性、共存性、易替换性、依赖性等特点。那么,从用户的角度来看,这些特点无疑是最适合自己的。俗话说,适合的才是最好的。


但是软件开发,作为新时代新业态的新行业,大家都想抓住新的机会盈利,所以出现了鱼龙混杂,龙蛇混杂的市场现象。大家都在说定制开发和可移植性开发。但是,有多少人能真正做到定制化和可移植性呢?恐怕屈指可数,因为有些所谓的软件开发公司,会说“绝对”能不能做。其实这背后的原因就是先接手业务,然后找到可以做的事情再分包出去。有的还会转几圈,最后转来转去,转到那些有技术团队有实力的公司。其实这是业内众所周知的。只是用户在软件知识和性能上确实有所欠缺,不明所以只能顺其自然。


那么,在知道了软件可移植性是软件质量之一,也就是提高软件生命周期的好处之后,可移植性有哪些方面呢?知道了这些,你在做软件开发的时候,就有了方向。下面,我们就以软件开发中常用的java为例。


首先,源代码的可移植性。java作为一种编程语言,提供了最简单也是最熟悉的可移植性,那就是源代码移植。也就是说,任何一个java程序,无论运行在什么cpu(中央处理器)、什么操作系统、什么java编译器上,都会产生相同的结果。因为java定义了严格的语义结构,其他编程没有替代性,这也是由java的特性之一的安全性决定的。


其次,cpu便携性。开发者基本都知道,大部分编译器生成的目标代码只能在一个CPU上运行,即使是那些可以支持多个CPU的编译器,也无法同时生成适合多个CPU的目标代码。如果需要在三个CPU上运行同一个程序,就要编译三次。但是java编译器就不一样了,因为java为Java程序提供了一个专用的运行空间,在这个空间里Java程序可以做任何事情,产生了一个类加载器,也就是JVM(Java虚拟机),Java编译器生成的目标代码(J-Code)是源代码的转换,运行在CPU-JAVA虚拟机(JVM)上,也可以运行在任何有JAVA虚拟机的机器上,这


第三,操作系统的可移植性。对于这方面,JAVA采用的方法是提供一套平台无关的库函数(包括AWT、UTIL、LANG等。)来解决这个问题。正如JVM提供虚拟CPU一样,JAVA库函数提供虚拟GUI环境。JAVA只调用JAVA库函数,库函数由不同的虚拟机调用操作系统函数。同时,java还在其OS/GUI库中使用了一个“最小逗号分母”来提供对特定操作系统的函数调用,即该函数只在特定环境下生效,而在其他操作系统中被忽略。这样,你就可以为一个操作系统生成一个界面熟悉的应用程序,同时,这个程序也可以在其他系统下运行。


以上三点是java语言可移植性特点的具体体现。对于软件用户来说,大概应该熟悉这些方面的主要源代码、CPU、操作系统。