Java 便携式和独立于机器之间的区别是什么?
这可能是一个愚蠢的问题,但我混淆了便携式和机器独立性。Java 便携式和独立于机器之间的区别是什么?,java,asp.net,.net,Java,Asp.net,.net,这可能是一个愚蠢的问题,但我混淆了便携式和机器独立性。 什么是Java,c#.net:可移植的还是独立于机器的?可移植意味着您可以在不进行任何安装的情况下运行此程序 机器独立意味着相同的代码可以在不同的操作系统上执行 这个问题也很有帮助。来自: 当移植到新平台的成本很低时,软件是可移植的 比从头开始写的成本还低。成本越低 移植软件,相对于它的实现成本来说,更多 据说是便携式的 另一方面,独立于机器的软件不需要在另一台机器上运行任何工作(例如从Windows到Mac OS)。根据这个定义,它也是高
什么是Java,c#.net:可移植的还是独立于机器的?可移植意味着您可以在不进行任何安装的情况下运行此程序 机器独立意味着相同的代码可以在不同的操作系统上执行 这个问题也很有帮助。来自: 当移植到新平台的成本很低时,软件是可移植的 比从头开始写的成本还低。成本越低 移植软件,相对于它的实现成本来说,更多 据说是便携式的 另一方面,独立于机器的软件不需要在另一台机器上运行任何工作(例如从Windows到Mac OS)。根据这个定义,它也是高度可移植的 便携式和独立于机器之间的区别是什么 对此没有真正的答案。这取决于您选择接受谁对“便携”和“独立于机器”的定义。(我可以选择一对我同意的定义并进行比较。但我认为这并不客观。)
什么是Java、c#.net:可移植还是独立于机器 你可以说Java和C既不是可移植的,也不是独立于机器的
- Java或C#程序仅在具有JVM或CLR实现的平台上运行,并且具有相应标准库的“兼容”实现。因此,这些语言不是机器独立的(字面意义上)
- 有很多Java(我相信C)程序的例子,它们在不同的Java/C实现上表现不同。有时,这是由于运行库和/或主机操作系统的差异造成的。有时这是由于程序员的无效假设造成的。但关键是Java/C软件通常需要移植工作。因此,它们是不可移植的(在字面意义上)
这是一个稍微简化的解释,有许多边缘案例打破了这些规则,使其成为一个如此复杂和主观的主题——例如,如果您使用Java本机接口,就有可能编写一个依赖于机器的Java应用程序。因此,基于此定义,Java可能是机器独立的?我认为它的可移植性与否取决于它是如何分布的?我认为这并不是一个特别正确的答案。与机器独立性相比,术语可移植性与机器无关