理解Java和C语言编译原理

C语言代码的编译原理:

http://blog.csdn.net/neil_wesley/article/details/51265457

Java语言的编译原理:

http://www.cnblogs.com/wade-luffy/p/5925728.html

Java语言平台版本:

(1)J2SE(Java 2 platform Standard Edition):标准版,开发普通桌面应用和商务应用程序,是其他两种的基础;

(2)J2ME(Java 2 platform Micro Edition):小型版,开发电子消费产品和嵌入式设备,安卓方向;

(3)J2EE(Java 2 platform Enterprise Edition):企业版,开发企业环境下应用程序,包含的技术如servlet、JSP等,主要针对web应用程序开发,通过浏览器访问的。

关于虚拟机:

Java语言具有跨平台性,这是通过JVM(Java Virtual Machine,Java虚拟机)来实现的。Java虚拟机相当于翻译的角色。

就比如说,中国人与日本人交流需要懂日语和汉语的翻译官、中国人与韩国人交流需要懂汉语和韩语的翻译官一样,将Java语言编译成不同的操作系统(Windows、Linux、Mac等)可以执行的文件,充当翻译官角色的就是JVM。

注意:Java具有跨平台的特性,并不是代表JVM是跨平台的。JVM不是跨平台的。

JRE和JDK:

JRE:Java运行环境,它包括JVM和核心类库;

JDK:Java开发工具包,JDK包括了Java的开发工具,也包括JRE。

故:JDK > JRE > JVM。

关于编译:

在命令行下:javac 后面是"文件名+扩展名",java 后面是"类名"。

如:javac HelloWorld.java

       java HelloWorld

原文地址:https://www.cnblogs.com/dorra/p/7689108.html