Java SE, Java EE 和 Java ME 是 Java 平臺(tái)的三個(gè)主要版本。
Java SE(Java Standard Edition)是最基礎(chǔ)、最核心的 Java 平臺(tái)。它提供了 Java 語(yǔ)言的核心類庫(kù)和虛擬機(jī)(JVM),包括基本的數(shù)據(jù)類型、流、文件輸入輸出、網(wǎng)絡(luò)編程等。Java SE 適用于桌面應(yīng)用程序、服務(wù)器應(yīng)用程序和嵌入式設(shè)備等各種場(chǎng)景。
// Java SE 示例代碼 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
Java ME(Java Micro Edition)是專門針對(duì)嵌入式設(shè)備的 Java 平臺(tái)。它提供了一套小巧的 Java 類庫(kù)和虛擬機(jī),適用于低內(nèi)存、小處理器的設(shè)備,如手機(jī)、PDA等。Java ME 的一個(gè)重要特點(diǎn)是可移植性,同樣的代碼可以在不同的嵌入式設(shè)備上運(yùn)行。
// Java ME 示例代碼 import javax.microedition.midlet.MIDlet; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Form; import javax.microedition.lcdui.TextBox; public class HelloMIDlet extends MIDlet { private Display display; private Form form = new Form("Hello, MIDlet"); private TextBox textBox = new TextBox("Hello", "Hello, MIDlet!", 256, 0); public void startApp() { display = Display.getDisplay(this); form.append("Hello, MIDlet!"); display.setCurrent(form); } public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void commandAction(Command c, Displayable s) { display.setCurrent(textBox); } }
Java EE(Java Enterprise Edition)是專門針對(duì)企業(yè)應(yīng)用程序的 Java 平臺(tái)。它提供了完善的企業(yè)級(jí)應(yīng)用框架和技術(shù),包括 EJB、JPA、JMS、Servlet、JSP、JSF 等。Java EE 適用于大型分布式系統(tǒng)、電子商務(wù)、金融交易等領(lǐng)域。
// Java EE 示例代碼 import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.persistence.Query; @Stateless public class HelloWorldBean implements HelloWorld { @PersistenceContext(name="HelloWorld" unitName="HelloWorldPU") EntityManager entityManager; public String sayHello() { Query query = entityManager.createQuery("SELECT COUNT(*) FROM User"); long count = Long.parseLong(query.getSingleResult().toString()); return "Hello, " + count + " users!"; } }
三個(gè) Java 平臺(tái)版本各有不同,但也存在很多重疊和相互關(guān)聯(lián)的部分。掌握 Java SE 的同時(shí)也能夠理解 Java EE 和 Java ME,Java EE 和 Java ME 也都需要用到 Java SE 的基礎(chǔ)類庫(kù)。了解這三個(gè)版本的特點(diǎn)和應(yīng)用場(chǎng)景,可以幫助開(kāi)發(fā)者選擇最適合自己項(xiàng)目的平臺(tái)。