j***a语言可以跨平台,j***a语言可以跨平台的原因是

kodinid 3 0

大家好,今天小编关注到一个比较意思的话题,就是关于java语言可以跨平台问题,于是小编就整理了5个相关介绍Java语言可以跨平台的解答,让我们一起看看吧。

  1. java跨平台是什么意思?
  2. 为什么大家都说Java,可以一次编译,到处运行呢?
  3. 我的一位老师说,Java适用于大型软件而C# 适用中小型软件,这是真的吗?
  4. Java是如何实现平台无关性的?

j***a跨平台是什么意思?

j***a跨平台就是能在不同环境(主要是操作系统)上运行j***a程序! J***a 不同于一般编译执行计算机言和解释执行计算机语言。

它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。

为什么大家都说J***a,可以一次编译,到处运行呢?

这个“到处运行”是说任何平台上只要安装了JRE,就可以运行已经编译过的(不管是什么环境编译的)J***a程序。ps:如果windows平台上运行,则通过Windows平台上的j***a虚拟机(VM)进行解释。

java语言可以跨平台,java语言可以跨平台的原因是-第1张图片-安济编程网
图片来源网络,侵删)

如果运行在linux平台上,则通过Linux平台上的j***a虚拟机进行解释执行。

所以说能跨平台“到处运行”,前提是平台上必须要有相匹配的j***a虚拟机。如果没有j***a虚拟机,则不能进行跨平台。

linux和j***a的关系?

这两者有什么关系吗?J***a是一门编程语言,而且J***a是跨平台的,所以如果是为了学习编程,要学J***a。Linux是一种操作系统,但由于其优秀的特性,所以好多服务或者程序运行在Linux系统中,学会Linux的操作可能会帮你更好地做应用

java语言可以跨平台,java语言可以跨平台的原因是-第2张图片-安济编程网
(图片来源网络,侵删)

我的一位老师说,J***a适用于大型软件c# 适用中小型软件,这是真的吗?

这个我可以说说,看过thinking in j***a ,你就会明白,J***a的出现是因为大型项目c++写,在代码组织上真的很***,我15年移植3D引擎手机端,那叫个累。有些核心代码是05年写的,在高环境下,无法编译。

C#写的少,基本上是在***游戏和u3D里使用。不过界面化操作没得说,没有那个语言能超越。

为什么说c#适合中小应用呢,可能和服务器环境相关。比较大型服务器都是unix的。你能想象1000台Windows服务器一起不间断运行的维护成本吗,而对于我们常用的Linux来说,毛毛雨啦。当然,我没有大规模用过Windows服务器。

java语言可以跨平台,java语言可以跨平台的原因是-第3张图片-安济编程网
(图片来源网络,侵删)

另外呢,也和微软的封闭有关系,开源环境下,只有你想不到的,没有做不到的,哈哈,有点夸张!

我不否认c#的优雅,可惜,支持并贡献的人少啊。

真的,但是可能不是你想的那些语言的原因。做那种大型后台的服务端用c# 那你怎么得来个iis吧,嗯,收费!数据库结合最好的也是sqlserver吧?嗯,钱!体系大了怎么也得上百上千服务器吧?嗯,没台机子是不是都得装这么一堆东西呢?等等等,钱钱钱…… 而J***a? all free,所以说跨平台啊,语言特性啥的现在已经不是这些语言的制约因素了,成本才是!c#不失为一门优秀的语言,但是使用成本太大了。尽管在跨平台化 ,但是没人敢用吧

J***a是如何实现平台无关性的?

对于J***a的平台无关性的支持是分布在整个J***a体系结构中的。其中扮演者重要的角色的有J***a语言规范、Class文件、J***a虚拟机等。

  • J***a语言规范:

通过规定J***a语言中基本数据类型取值范围和行为

  • Class文件:

所有J***a文件要编译成统一的Class文件

  • J***a虚拟机:

通过J***a虚拟机将Class文件转成对应平台的二进制文件等

J***a的平台无关性是建立在J***a虚拟机的平台有关性基础之上的,是因为J***a虚拟机屏蔽了底层操作系统和硬件的差异。

到此,以上就是小编对于j***a语言可以跨平台的问题就介绍到这了,希望介绍关于j***a语言可以跨平台的5点解答对大家有用。

标签: j***a 跨平台 语言