JAVA背景

JAVA系列的文章均来自腾讯课堂的学习,自己进行学习记录,也希望可以帮到大家:https://ke.qq.com/webcourse/index.html#cid=375599&term_id=100447257&taid=2866267900197679

1. C不是跨平台的,而Java是跨平台的

C是一次编写,到处编译:

C 经过编译变成汇编语言,再经过汇编变成本地字节码(native code),native code是直接在cpu上运行的,汇编语言的规范是指令集,而不同cpu的指令集是不同的,因此最终汇编出来的native code也是不同的,所以最终的本地字节码(目标文件)不能随便从一个平台拿到另一个平台用,即不是跨平台的。

Java是一次编译,到处运行:

jvm是java虚拟机,它是java实现跨平台的关键。java程序编译成class文件,我们称为字节码(Byte Code),Byte Code最终是运行在jvm上的,而至于jvm是怎么做到在多平台上运行不是我们程序员需要关心的,也就是说我们从一个平台拿到的Byte Code,可以放到不同平台的jvm上运行,因此是跨平台的。

2. JVM是跨语言的

JVM除了可以帮Java实现跨平台性,还可以帮其他运行,只要其他语言也可以编译出Byte Code,目前有以下语言可以运行在JVM上(图片转自https://www.cnblogs.com/jmsjh/p/7808764.html):

JAVA背景_第1张图片

3. 一些缩写

对于Java2,

J2SE(standard)是标准版

J2EE(enterprise)是企业版

J2ME(micro)是微型版

 

 

 

你可能感兴趣的:(Java学习)