java便携有意思 您所在的位置:网站首页 便携性什么意思 java便携有意思

java便携有意思

2024-07-09 09:25| 来源: 网络整理| 查看: 265

便携性不是黑白,是或否.可移植性是指我可以轻松地在一个人关心的所有平台上运行程序并运行它.

有一些事情会影响这一点.一个是语言本身. Java语言规范通常留下更少的“实现”.例如,“i = i”在C和C中未定义,但在Java中具有已定义的含义.更实际地,类似“int”的类型在Java中具有特定大小(例如:int总是32位),而在C和C中,大小根据平台和编译器而变化.仅这些差异并不能阻止您在C和C中编写可移植代码,但您需要更加勤奋.

另一个是图书馆. Java有一堆C和C没有的标准库.例如,线程,网络和GUI库.这些类型的库存在于C和C中,但它们不是标准的一部分,并且可用的相应库可以在不同平台之间变化很大.

最后,问题是你是否可以将可执行文件放在另一个平台上并让它在那里工作.这通常适用于Java,假设有一个用于目标平台的JVM. (并且人们关心的许多/大多数平台都有JVM)对于C和C,这通常是不正确的.你通常至少需要重新编译,而且假设你已经处理了前两点.

是的,如果存在多个平台的“CVM”,那将使C和C更具可移植性.您仍然需要以可移植的方式编写C代码(例如:假设除了标准所说的内容之外没有任何关于int的大小)或者您要写入CVM(假设它已做出统一的决定)所有目标平台上的所有这些事情).您还需要放弃使用非标准库(无网络,线程或GUI)或为此目的写入CVM特定的库.因此,我们并没有真正谈论使C和C更具可移植性,而是一种可移植的特殊CVM-C/C++.

再一次,便携性不是黑白分明的事情.即使使用Java,仍然可能存在不兼容性. GUI库(尤其是AWT)因为具有不一致的行为而臭名昭着,如果你变得草率,涉及线程的任何事情都会有不同的表现.但是,一般来说,在一个平台上编写一个非平凡的Java程序并在另一个平台上运行它比使用C或C编写的程序执行相同操作要容易得多.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有