‘壹’ java的跨平台的含义是什么为什么java可以跨平台
首先,理解平台的含义是什么..平台的意思.个人感觉就是指操作系统,还有一层意思就是运行不同操作系统的不同的硬件设备;
也就是说,某一种代码编译后,既可以在a操作系统下运行,也可以在b操作系统下运行...或者是在c设备上运行.
那么除了java以外还有什么跨平台的语言么?当然有啊,python(但是能力有限,只能不能跨位,就是32不能跨到64,同时也不能跨版本),scala..都可以..但是相对于java,它的跨平台性能就要差一点..(其实java跨平台也不是那么完美,很多时候还是有很多陷阱)
至于java如何实现的跨平台,那就跟java这个语言的机制有关系了.java代码被javac编译成java中间码(就是.class文件)JIT编译器再把java中间码编译成nativecode,最终在芯片上执行..能做到跨平台,就在编译nativecode这步做文章...不同的jvm通过不同的技术,将java中间码按照相同的规范编译成高效的,对应不同平台的原生机器码,从而实现了同一中间码在不同设备上的同样执行结果..以此实现的java跨平台..
2017年8月16日 12:40:34
‘贰’ Java的3个平台有什么区别
平台的区别和关系如下:
一、定义和应用范围:J2SE包含于J2EE中,J2ME包含了J2SE的核心类,但新添加了一些专有类 。
1、j2se是java的桌面应用平台,用于开发桌面应用程序,比如qq,暴风影音都是桌面应用程序,其中s表示standard,标准的意思。
2、j2ee,其中的e表示enterprise,即企业是意思,即java企业应用平台,用于大型的分布式的开发程序。
3、j2me,m表示mobile,即移动平台,用于开发手机,嵌入cpu机器的开发平台。
二、应用领域:
1、针对企业网应用的J2EE(Java 2Enterprise Edition);
2、针对普通PC应用的J2SE(Java 2 StandardEdition);
3、针对嵌入式设备及消费类电器的J2ME(Java 2 MicroEdition)。
三、做出来的东西即java程序:
1、 源文件扩展名.java;
2、对应文件编译后扩展名为.class;
3、打包后扩展名为.jar。
(2)编译库不同平台是什么意思扩展阅读:
Java的三大核心机制:
1、虚拟机机制:利用虚拟机解释字节码执行java程序实现跨平台。
2、垃圾收集机制:自动内存回收。
3、代码安全性机制:加载代码后校验代码后再执行代码。
‘叁’ 搞不懂:如果C++在每个平台都有编译器,不就想JAVA一样成了跨平台的了吗
C++ 和 Java 这两种编译型语言都是跨平台的,只是它们跨平台的层次不同而已:
前者是源码层(Fortran 和 Pascal 也是),后者是可执行文件层。
也就是说,要移植的话,C++ 程序必须在目的平台上重新编译,Java 则只需把可执行文件拷到目的平台上去,不必在那里重新编译。
我说的 “可执行文件” 的定义是 “编译器的输出文件”(C++ 的是 .exe,Java 的是 .class)。
‘肆’ 编译c#项目,在项目属性中,平台与目标平台的区别是什么
这其实是C#编译器为我们提供的1个 /platform命令行开关选项,
any cpu 为默认选项,它表示最终生成的程序集可以在任何版本的Windows上运行
X86 它表示最终生成的程序集只能在32位Windows版本的X86机器上使用
X64 它表示最终生成的程序集只能在64位Windows版本的X64机器上使用
Itanium(安腾) 它采取了WoW64技术,可以模拟X86指令,也就是允许运行32位Windows应用程序,由这些32位应用程序最终生成的程序集可以在64位Windows版本的IA64机器上使用
‘伍’ 什么是编译环境他的作用是什么编译环境跟运行平台有什么不同
编译环境是将“一种语言(通常为高级语言)”翻译为“另一种语言(通常为低级语言)”的程序。作用是通过代入预定义等程序段将源程序补充完整。
编译环境跟运行平台区别为:工具不同、调试不同、硬件支持不同。
一、工具不同
1、编译环境:编译环境包含开发、调试和部署等工具。
2、运行平台:运行平台只包含运行指令和class实现的工具。
二、调试不同
1、编译环境:编译环境有调试代码的功能,调试后可重新编译执行。
2、运行平台:运行平台没有调试代码的功能。
三、硬件支持不同
1、编译环境:编译环境使用的是模拟设备,不需要硬件支持。
2、运行平台:运行平台需要硬件支持,在实际设备中运行。