Sự khác biệt giữa Java SE / EE / ME?


326

Tôi nên cài đặt cái nào khi tôi muốn bắt đầu học Java? Tôi sẽ bắt đầu với một số điều cơ bản, vì vậy tôi sẽ viết các chương trình đơn giản tạo tệp, thư mục, chỉnh sửa tệp XML, v.v., hiện tại không có gì quá phức tạp.

Tôi đoán Java SE (Phiên bản tiêu chuẩn) là phiên bản tôi nên cài đặt trên máy tính để bàn Windows 7 của mình. Tôi đã có Komodo IDE mà tôi sẽ sử dụng để viết mã Java.


6
Bạn nên bắt đầu với việc học Java SE. Java EE có thể hơi hoang mang lúc đầu. Khi bạn đã sẵn sàng, hãy xem trang tổng quan về Java EE 7 tuyệt vời này để bắt đầu. Đặc biệt là hướng dẫn Java EE 7 Oracle là một nơi tốt để bắt đầu.
dexter meyers

Câu trả lời:


545

Java SE = Phiên bản tiêu chuẩn . Đây là nền tảng lập trình Java cốt lõi. Nó chứa tất cả các thư viện và API mà bất kỳ lập trình viên Java nào cũng nên học (java.lang, java.io, java.math, java.net, java.util, v.v ...).

Java EE = Phiên bản doanh nghiệp . Từ Wikipedia:

Nền tảng Java (Phiên bản doanh nghiệp) khác với Nền tảng phiên bản tiêu chuẩn Java (Java SE) ở chỗ nó bổ sung các thư viện cung cấp chức năng để triển khai phần mềm Java đa tầng, phân tán, chịu lỗi, chủ yếu dựa trên các thành phần mô đun chạy trên máy chủ ứng dụng .

Nói cách khác, nếu ứng dụng của bạn yêu cầu một hệ thống phân tán, quy mô rất lớn, thì bạn nên xem xét sử dụng Java EE. Được xây dựng dựa trên Java SE, nó cung cấp các thư viện để truy cập cơ sở dữ liệu (JDBC, JPA), gọi phương thức từ xa (RMI), nhắn tin ( JMS ), dịch vụ web, xử lý XML và định nghĩa API tiêu chuẩn cho Enterprise JavaBeans, servlets, portlets, Java Trang máy chủ, v.v ...

Java ME = Phiên bản vi mô . Đây là nền tảng để phát triển các ứng dụng cho thiết bị di động và các hệ thống nhúng như hộp giải mã. Java ME cung cấp một tập hợp con về chức năng của Java SE, nhưng cũng giới thiệu các thư viện dành riêng cho thiết bị di động. Do Java ME dựa trên phiên bản Java SE trước đó, một số tính năng ngôn ngữ mới được giới thiệu trong Java 1.5 (ví dụ: generic) không khả dụng.

Nếu bạn chưa quen với Java, chắc chắn bắt đầu với Java SE.


157
Tôi sẽ không đồng ý với việc giới thiệu một IDE cho một người chưa bao giờ mã hóa Java trước đây. Viết một vài bằng cách sử dụng dòng lệnh trước để bạn có thể có cơ hội chiến đấu để hiểu CLASSPATH có nghĩa là gì. Nếu bạn sử dụng Eclipse trước khi bạn hiểu Java, đó là hai điều lớn mà bạn không biết gì.
duffymo

47
@duffymo IMO thực sự là một ý tưởng tốt để có một đề xuất IDE, bởi vì mã hóa bằng trình soạn thảo văn bản đơn giản không mang lại bất kỳ lợi ích nào trong việc học một ngôn ngữ mới, có intellisense và autocompionion là một trợ giúp vô giá cho một lập trình viên đã biết các hệ sinh thái khác để trở thành Làm quen với môi trường mới.
Felice Pollano 22/03/2015

4
@duffymo Tôi vẫn đọc được điều này sau 5 năm khi Google đưa tôi đến đây vì vậy tôi đoán vẫn còn một điểm khi bắt đầu một cuộc thảo luận. Trong trường hợp cụ thể này, tôi đồng tình với các lập luận của bạn về IDE.
qutab

8
Tôi thấy không có gì sai khi thảo luận về các vấn đề khó khăn và vượt thời gian.
Truyền thuyết Bước sóng

2
Là phiên bản JDK cụ thể? hoặc JRE và JVM khác nhau đối với SE & EE?
Arun SR

68

Dưới đây là một số khác biệt về API

Java SE bao gồm các API sau và nhiều API khác

  • táo
  • ôi
  • rmi
  • jdbc
  • lung lay
  • bộ sưu tập
  • ràng buộc xml
  • JavaFX (Đã hợp nhất với Java SE 8)
  • API phát trực tuyến bộ sưu tập Java 8
  • API luồng phản ứng Java 9
  • API Java 9 HTTP / 2

Java EE bao gồm các API sau và nhiều API khác

  • phục vụ
  • websocket
  • khuôn mặt java
  • tiêm phụ thuộc
  • ejb
  • kiên trì
  • Giao dịch
  • jms
  • lô api

Java ME bao gồm các API sau và nhiều API khác

  • Tin nhắn không dây
  • Dịch vụ web Java ME
  • API dịch vụ bảo mật và tin cậy
  • Vị trí
  • API XML di động

Hi vọng điêu nay co ich.


1
Như đã trình bày, điều đó có nghĩa là những gì trong SE không được bao gồm trong EE? Và những gì trong ME không có trong EE? Có vẻ như nếu bạn muốn Nhắn tin không dây, chẳng hạn, bạn cần ME và nó không có sẵn trong EE. Điều này có đúng không?
ejbytes

Kể từ Java EE Phiên bản 6, API Bộ sưu tập có phải là một phần của Java EE không?
Sriyank Siddhartha

52

Java SE là nền tảng mà Java EE được xây dựng.

Java ME là tập hợp con của SE cho thiết bị di động.

Vì vậy, bạn nên cài đặt Java SE cho dự án của bạn.


36

Theo tài liệu của Oracle , thực tế có bốn nền tảng Java:

  • Nền tảng Java, Phiên bản tiêu chuẩn (Java SE)
  • Nền tảng Java, Phiên bản doanh nghiệp (Java EE)
  • Nền tảng Java, Phiên bản vi mô (Java ME)
  • JavaFX

Java SE là để phát triển các ứng dụng máy tính để bàn và nó là nền tảng để phát triển bằng ngôn ngữ Java. Nó bao gồm các công cụ phát triển, công nghệ triển khai và các thư viện và bộ công cụ lớp khác được sử dụng trong các ứng dụng Java. Java EE được xây dựng dựa trên Java SE và nó được sử dụng để phát triển các ứng dụng web và ứng dụng doanh nghiệp quy mô lớn. Java ME là một tập hợp con của Java SE. Nó cung cấp một API và một máy ảo dấu chân nhỏ để chạy các ứng dụng Java trên các thiết bị nhỏ. JavaFX là một nền tảng để tạo các ứng dụng internet phong phú bằng API giao diện người dùng gọn nhẹ. Nó là một bổ sung gần đây cho gia đình các nền tảng Java.

Nói đúng ra, những nền tảng này là thông số kỹ thuật; chúng là định mức, không phải phần mềm. Nền tảng Java, Bộ phát triển phiên bản tiêu chuẩn (JDK) là một triển khai chính thức của đặc tả Java SE, do Oracle cung cấp. Ngoài ra còn có các triển khai khác, như OpenJDK và IBM J9.

Những người mới sử dụng Java tải xuống JDK cho nền tảng và hệ điều hành của họ (JDK của Oracle có sẵn để tải xuống tại đây .)


1
Điều đó đúng với Java 6. Tài liệu Java 7 nói rằng có 3 nền tảng và JavaFX là một phần của Java SE.
Javatar

Java SE dành cho phát triển ứng dụng máy tính để bàn Java EE được sử dụng để phát triển các ứng dụng web và ứng dụng doanh nghiệp quy mô lớn.
AyukNayr

20

Khi tôi gặp câu hỏi này, tôi thấy thông tin được cung cấp trong hướng dẫn của Oracle rất đầy đủ và đáng để chia sẻ:

Nền tảng ngôn ngữ lập trình Java

Có bốn nền tảng của ngôn ngữ lập trình Java:

  • Nền tảng Java, Phiên bản tiêu chuẩn (Java SE)

  • Nền tảng Java, Phiên bản doanh nghiệp (Java EE)

  • Nền tảng Java, Phiên bản vi mô (Java ME)

  • JavaFX

Tất cả các nền tảng Java bao gồm Máy ảo Java (VM) và giao diện lập trình ứng dụng (API). Máy ảo Java là một chương trình, dành cho một nền tảng phần cứng và phần mềm cụ thể, chạy các ứng dụng công nghệ Java. API là tập hợp các thành phần phần mềm mà bạn có thể sử dụng để tạo các thành phần hoặc ứng dụng phần mềm khác. Mỗi nền tảng Java cung cấp một máy ảo và API và điều này cho phép các ứng dụng được viết cho nền tảng đó chạy trên bất kỳ hệ thống tương thích nào với tất cả các lợi thế của ngôn ngữ lập trình Java: độc lập nền tảng, sức mạnh, ổn định, dễ phát triển và Bảo vệ.

Java SE

Khi hầu hết mọi người nghĩ về ngôn ngữ lập trình Java, họ nghĩ về API Java SE. API của Java SE cung cấp chức năng cốt lõi của ngôn ngữ lập trình Java. Nó định nghĩa mọi thứ từ các kiểu và đối tượng cơ bản của ngôn ngữ lập trình Java đến các lớp mức cao được sử dụng để kết nối mạng, bảo mật, truy cập cơ sở dữ liệu, phát triển giao diện người dùng đồ họa (GUI) và phân tích cú pháp XML.

Ngoài API cốt lõi, nền tảng Java SE bao gồm một máy ảo, các công cụ phát triển, công nghệ triển khai và các thư viện và bộ công cụ lớp khác thường được sử dụng trong các ứng dụng công nghệ Java.

Java EE

Nền tảng Java EE được xây dựng trên nền tảng Java SE. Nền tảng Java EE cung cấp môi trường API và thời gian chạy để phát triển và chạy các ứng dụng mạng quy mô lớn, nhiều tầng, có thể mở rộng, đáng tin cậy và an toàn.

Tôi

Nền tảng Java ME cung cấp API và máy ảo có dấu chân nhỏ để chạy các ứng dụng ngôn ngữ lập trình Java trên các thiết bị nhỏ, như điện thoại di động. API là tập hợp con của API Java SE, cùng với các thư viện lớp đặc biệt hữu ích cho phát triển ứng dụng thiết bị nhỏ. Các ứng dụng Java ME thường là máy khách của các dịch vụ nền tảng Java EE.

JavaFX

JavaFX là một nền tảng để tạo các ứng dụng internet phong phú bằng API giao diện người dùng gọn nhẹ. Các ứng dụng JavaFX sử dụng các công cụ đồ họa và phương tiện được tăng tốc phần cứng để tận dụng các máy khách hiệu suất cao hơn và giao diện hiện đại cũng như các API cấp cao để kết nối với các nguồn dữ liệu được nối mạng. Các ứng dụng JavaFX có thể là máy khách của các dịch vụ nền tảng Java EE.


1
được sao chép từ trang oracle :)
Irfan Nasim

1
@IrfanNasim Tôi biết rằng nó được sao chép từ Oracle và tôi đã đề cập đến điều đó !! Bạn đã đọc câu trả lời từ đầu?! Và bạn có biết rằng trong SO khi bạn cung cấp một liên kết bạn cũng phải sao chép các thông tin quan trọng, bởi vì một khi liên kết không cập nhật hoặc không hoạt động, mọi người vẫn có thể đọc những gì trong liên kết !! Thật kỳ lạ khi bạn có 198 đại diện và bạn vẫn không biết các quy tắc !!
Tarik

13

Tôi đoán Java SE (Phiên bản tiêu chuẩn) là phiên bản tôi nên cài đặt trên máy tính để bàn Windows 7 của mình

Vâng, tất nhiên . Java SE là cái tốt nhất để bắt đầu. BTW bạn phải học những điều cơ bản về Java. Điều đó có nghĩa là bạn phải tìm hiểu một số thư viện và API trong Java SE.

Sự khác biệt giữa các Phiên bản nền tảng Java:

Phiên bản Java Micro (Java ME):

  • Môi trường thời gian chạy tối ưu hóa cao.
  • Sản phẩm tiêu dùng mục tiêu ( Máy nhắn tin , điện thoại di động).
  • Java ME trước đây được gọi là Nền tảng Java 2, Phiên bản Micro hoặc J2ME.

Phiên bản tiêu chuẩn Java (Java SE):

Các công cụ Java, thời gian chạy và API cho các nhà phát triển viết, triển khai và chạy các ứng dụng và ứng dụng. Java SE trước đây được gọi là Nền tảng Java 2, Phiên bản tiêu chuẩn hoặc J2SE. (tất cả mọi người / người mới bắt đầu từ đây)

Phiên bản doanh nghiệp Java (Java EE):

Nhắm mục tiêu các ứng dụng phía máy chủ cấp doanh nghiệp . Java EE trước đây được gọi là Nền tảng Java 2, Phiên bản doanh nghiệp hoặc J2EE.

Một câu hỏi trùng lặp cho câu hỏi này.


Cuối cùng, về J .. nhầm lẫn

JVM (Máy ảo Java):

JVM là một phần của cả JDK và JRE, dịch mã byte Java và thực thi chúng dưới dạng mã gốc trên máy khách.

JRE (Môi trường chạy thi hành Java):

Đây là môi trường được cung cấp cho các chương trình java để được thực thi. Nó chứa một JVM, các thư viện lớp và các tệp hỗ trợ khác. Nó không chứa bất kỳ công cụ phát triển nào như trình biên dịch, trình gỡ lỗi, v.v.

JDK (Bộ phát triển Java):

JDK chứa các công cụ cần thiết để phát triển các chương trình java (javac, java, javadoc, appletviewer, jdb, javap, rmic, ...) và JRE để chạy chương trình.

Java SDK (Bộ phát triển phần mềm Java):

SDK bao gồm JDK và phần mềm bổ sung, như máy chủ ứng dụng, trình gỡ lỗi và tài liệu.

Java SE:

Nền tảng Java, Standard Edition (Java SE) cho phép bạn phát triển và triển khai các ứng dụng Java trên máy tính để bàn và máy chủ (giống như SDK).

J2SE, J2ME, J2EE

Bất kỳ phiên bản Java nào từ 1,2 đến 1,5

Tìm hiểu thêm về các chủ đề này:


11

Vâng, Java SE là nơi bắt đầu. Tất cả các nhiệm vụ bạn đề cập có thể được xử lý với nó.

Java ME là Phiên bản di động và EE là Phiên bản doanh nghiệp; đây là những phiên bản chuyên biệt / mở rộng của Standard Edition.


7

Có, bạn nên bắt đầu với Java SE. Java EE dành cho các ứng dụng web và Java ME dành cho các ứng dụng di động - cả hai đều được xây dựng từ SE.


6

Java SE (Standard Edition) là để xây dựng các ứng dụng máy tính để bàn.

Java ME (Micro Edition) dành cho các thiết bị di động cũ.

Java EE (Enterprise Edition) là để phát triển các ứng dụng dựa trên web.


2

Nếu tôi là bạn, tôi sẽ cài đặt Java SE SDK. Khi nó được cài đặt, hãy đảm bảo bạn có bộ biến môi trường JAVA_HOME được đặt và thêm thư mục% JAVA_HOME% \ bin vào đường dẫn của bạn.


1

Các nhà phát triển sử dụng các phiên bản khác nhau của nền tảng Java để tạo các chương trình Java chạy trên máy tính để bàn, trình duyệt web, máy chủ web, thiết bị thông tin di động (như điện thoại tính năng) và thiết bị nhúng (như hộp giải mã truyền hình).

Nền tảng Java, Phiên bản tiêu chuẩn (Java SE): Nền tảng Java để phát triển các ứng dụng, là các chương trình độc lập chạy trên máy tính để bàn. Java SE cũng được sử dụng để phát triển các applet, là các chương trình chạy trong trình duyệt web.

Nền tảng Java, Phiên bản doanh nghiệp (Java EE): Nền tảng Java để phát triển các ứng dụng và máy chủ hướng đến doanh nghiệp, là các chương trình máy chủ tuân thủ API Servlet của Java EE. Java EE được xây dựng trên đỉnh Java SE.

Nền tảng Java, Phiên bản vi mô (Java ME): Nền tảng Java để phát triển MIDlets, là các chương trình chạy trên thiết bị thông tin di động và Xlets, là các chương trình chạy trên thiết bị nhúng.


0

SE (JDK) có tất cả các thư viện mà bạn sẽ cần để cắt răng trên Java. Tôi khuyên dùng Netbeans IDE vì nó đi kèm với SE (JDK) trực tiếp từ Oracle. Đừng quên đặt các biến "path" và "classpath", đặc biệt nếu bạn định thử dòng lệnh. Với hệ thống 64 bit, chèn "Đường dẫn hệ thống", ví dụ: C: \ Program Files (x86) \ Java \ jdk1.7.0 trước biến C: \ Windows \ system32; để hướng hệ thống tới JDK của bạn.

hi vọng điêu nay co ich.


0

Java SE được sử dụng cho các ứng dụng máy tính để bàn và các chức năng cốt lõi đơn giản. Java EE được sử dụng cho máy tính để bàn, nhưng cũng phát triển web, kết nối mạng và những thứ nâng cao.


0

EE: - Phiên bản doanh nghiệp: - Phiên bản Java này được thiết kế dành riêng cho các ứng dụng / doanh nghiệp doanh nghiệp nơi chúng tôi phải đối phó với số lượng máy chủ khác nhau có tầm quan trọng về bảo mật, quản lý giao dịch, v.v.

SE: - Phiên bản tiêu chuẩn: - Phiên bản này dành cho các ứng dụng tiêu chuẩn.

ME: - Micro Edition: - Phiên bản java này được thiết kế dành riêng cho nền tảng điện thoại di động. Trường hợp quan trọng hơn được trao cho quản lý bộ nhớ vì có nguồn tài nguyên bộ nhớ hạn chế trong điện thoại di động.

Vì vậy, về cơ bản JAVA có các phiên bản khác nhau cho các yêu cầu khác nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.