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