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