Java SE / EE / ME arasındaki fark nedir?


326

Java öğrenmeye başlamak istediğimde hangisini yüklemeliyim? Bazı temellerle başlayacağım, bu yüzden dosyaları, dizinleri oluşturan, XML dosyalarını düzenleyen ve benzeri basit programlar yazacağım, şimdilik çok karmaşık bir şey yok.

Sanırım Java SE (Standart Sürüm) Windows 7 masaüstüme yüklemem gereken. Zaten Java kodunu yazmak için kullanacağım Komodo IDE var.


6
Java SE öğrenmeye başlamalısınız. Java EE ilk başta biraz şaşırtıcı olabilir. Hazır olduğunuzda, başlamak için bu mükemmel Java EE 7 genel bakış sayfasına göz atın . Özellikle Java EE 7 Oracle öğreticisi başlamak için iyi bir yerdir.
dexter meyers

Yanıtlar:


545

Java SE = Standart Sürüm . Bu çekirdek Java programlama platformudur. Herhangi bir Java programcının öğrenmesi gereken tüm kütüphaneleri ve API'ları içerir (java.lang, java.io, java.math, java.net, java.util, vb ...).

Java EE = Kurumsal Sürüm . Wikipedia'dan:

Java platformu (Enterprise Edition), Java Standard Edition Platformundan (Java SE) farklıdır, çünkü büyük ölçüde uygulama sunucusunda çalışan modüler bileşenlere dayalı olarak hataya dayanıklı, dağıtılmış, çok katmanlı Java yazılımlarını dağıtmak için işlevler sağlayan kütüphaneler ekler. .

Başka bir deyişle, uygulamanız çok büyük ölçekli, dağıtılmış bir sistem gerektiriyorsa, Java EE kullanmayı düşünmelisiniz. Java SE'nin üzerine kurulu veritabanı erişimi (JDBC, JPA), uzaktan yöntem çağırma (RMI), mesajlaşma ( JMS ), web hizmetleri, XML işleme için kütüphaneler sağlar ve Enterprise JavaBeans, sunucu uygulamaları, portletler, Java için standart API'ler tanımlar Sunucu Sayfaları vb.

Java ME = Mikro Sürüm . Bu, mobil cihazlar ve set üstü kutular gibi gömülü sistemler için uygulamalar geliştirmek için kullanılan platformdur. Java ME, Java SE'nin işlevselliğinin bir alt kümesini sağlar, ancak mobil aygıtlara özgü kitaplıkları da sunar. Java ME, Java SE'nin önceki bir sürümüne dayandığından, Java 1.5'te tanıtılan yeni dil özelliklerinden bazıları (örn. Jenerikler) kullanılamaz.

Java'da yeniyseniz, kesinlikle Java SE ile başlayın.


157
Daha önce hiç Java kodlamamış birine IDE önermeme katılmıyorum. Önce CLASSPATH'ın ne anlama geldiğini anlama şansı elde etmek için komut satırını kullanarak birkaçını yazın. Java'yı anlamadan önce Eclipse kullanırsanız, bu bilmediğiniz iki büyük şeydir.
duffymo

47
@duffymo IMO aslında bir IDE tavsiyesine sahip olmak iyi bir fikirdir, çünkü düz bir metin editörü ile kodlama yeni bir dil öğrenmede herhangi bir fayda sağlamaz, akıllı ve otomatik tamamlamaya sahip olmak, diğer ekosistemlerin zaten olduğunu bilen bir programcı için paha biçilmez bir yardımcıdır. yeni çevreye aşina.
Felice Pollano

4
@duffymo Google'ın beni buraya getirdiği için 5 yıl sonra hala okuyorum, bu yüzden hala bir tartışma başlatmanın bir anlamı var. Yine de bu özel örnekte, IDE'lerle ilgili tartışmalarınıza katılıyorum.
qutab

8
Zor ve zamansız konuları tartışırken yanlış bir şey görmüyorum.
LegendLength

2
Yalnızca JDK sürümüne özgü mü? veya JRE ve JVM SE & EE için farklı mıdır?
Arun SR

68

API'lar açısından bazı farklılıklar

Java SE içerir aşağıdaki API'lere ve daha fazlasına sahiptir

  • uygulaması
  • awt
  • rmi
  • jdbc
  • salıncak
  • koleksiyonları
  • xml ciltleme
  • JavaFX (Java SE 8 ile birleştirildi)
  • Java 8 Collections Akış API'sı
  • Java 9 Reaktif Akışlar API'sı
  • Java 9 HTTP / 2 API'sı

Java EE aşağıdaki API'leri ve daha fazlasını içerir

  • servlet
  • WebSocket
  • Java yüzleri
  • bağımlılık enjeksiyonu
  • ejb
  • süreklilik
  • işlem
  • jms
  • toplu api

Java ME aşağıdaki API'leri ve daha fazlasını içerir

  • Kablosuz Mesajlaşma
  • Java ME Web Hizmetleri
  • Güvenlik ve Güven Hizmetleri API'sı
  • yer
  • Mobil XML API'sı

Bu yardımcı olur umarım.


1
Sunulduğu gibi, SE'de olanların Enerji Verimliliği'ne dahil olmadığı anlamına mı geliyor? Ve bende neler var EE'de değil? Örneğin Kablosuz Mesajlaşma istiyorsanız, ME'ye ihtiyacınız var ve EE'de mevcut değil gibi görünüyor. Bu doğru mu?
ejbytes

Java EE Sürüm 6'dan itibaren Koleksiyonlar API'si de Java EE'nin bir parçası mı?
Sriyank Siddhartha

52

Java SE, Java EE'nin üzerine inşa edildiği temeldir.

Java ME, mobil cihazlar için SE'nin bir alt kümesidir.

Bu yüzden projeniz için Java SE'yi yüklemelisiniz.


36

Oracle'ın belgelerine göre , aslında dört Java platformu vardır:

  • Java Platformu, Standart Sürüm (Java SE)
  • Java Platformu, Kurumsal Sürüm (Java EE)
  • Java Platformu, Micro Edition (Java ME)
  • JavaFX

Java SE , masaüstü uygulamaları geliştirmek içindir ve Java dilinde gelişmenin temelidir. Geliştirme araçlarından, dağıtım teknolojilerinden ve Java uygulamalarında kullanılan diğer sınıf kitaplıklarından ve araç setlerinden oluşur. Java EE , Java SE'nin üzerine inşa edilmiştir ve web uygulamaları ve büyük ölçekli kurumsal uygulamalar geliştirmek için kullanılır. Java ME , Java SE'nin bir alt kümesidir. Java uygulamalarını küçük cihazlarda çalıştırmak için bir API ve az yer kaplayan bir sanal makine sağlar. JavaFX , hafif bir kullanıcı arayüzü API'sı kullanarak zengin internet uygulamaları oluşturmak için bir platformdur. Java platformlarının ailesine yeni bir ektir.

Açıkçası, bu platformlar özelliklerdir; bunlar yazılım değil, normdur. Java Platformu, Standart Sürüm Geliştirme Kiti (JDK), Oracle tarafından sağlanan Java SE spesifikasyonunun resmi bir uygulamasıdır . OpenJDK ve IBM'in J9'u gibi başka uygulamalar da var.

Java'da yeni olanlar, platformları ve işletim sistemleri için bir JDK indirir (Oracle'ın JDK'sını buradan indirebilirsiniz .)


1
Java 6 için doğrudur. Java 7 belgeleri 3 platform olduğunu ve JavaFX'in Java SE'nin bir parçası olduğunu söylüyor.
Javatar

Java SE masaüstü uygulamaları geliştirmek içindir Java EE web uygulamaları ve büyük ölçekli kurumsal uygulamalar geliştirmek için kullanılır.
AyukNayr

20

Bu soruya rastlarken , Oracle'ın eğitiminde sağlanan bilgileri çok eksiksiz ve paylaşmaya değer buldum :

Java Programlama Dili Platformları

Java programlama dilinin dört platformu vardır:

  • Java Platformu, Standart Sürüm (Java SE)

  • Java Platformu, Kurumsal Sürüm (Java EE)

  • Java Platformu, Micro Edition (Java ME)

  • JavaFX

Tüm Java platformları bir Java Sanal Makinesi (VM) ve bir uygulama programlama arabiriminden (API) oluşur. Java Sanal Makinesi, belirli bir donanım ve yazılım platformu için Java teknolojisi uygulamalarını çalıştıran bir programdır. API, diğer yazılım bileşenleri veya uygulamaları oluşturmak için kullanabileceğiniz bir yazılım bileşenleri topluluğudur. Her Java platformu bir sanal makine ve bir API sağlar ve bu, bu platform için yazılan uygulamaların, Java programlama dilinin tüm avantajlarıyla uyumlu herhangi bir sistemde çalışmasına izin verir: platform bağımsızlığı, güç, kararlılık, geliştirme kolaylığı ve güvenlik.

Java SE

Çoğu kişi Java programlama dilini düşündüğünde, Java SE API'sini düşünür. Java SE'nin API'sı Java programlama dilinin temel işlevlerini sağlar. Java programlama dilinin temel türleri ve nesnelerinden ağ, güvenlik, veritabanı erişimi, grafik kullanıcı arabirimi (GUI) geliştirme ve XML ayrıştırma için kullanılan üst düzey sınıflara kadar her şeyi tanımlar.

Temel API'ye ek olarak Java SE platformu, sanal bir makine, geliştirme araçları, dağıtım teknolojileri ve Java teknolojisi uygulamalarında yaygın olarak kullanılan diğer sınıf kitaplıkları ve araç takımlarından oluşur.

Java EE

Java EE platformu, Java SE platformunun üzerine inşa edilmiştir. Java EE platformu, büyük ölçekli, çok katmanlı, ölçeklenebilir, güvenilir ve güvenli ağ uygulamalarını geliştirmek ve çalıştırmak için bir API ve çalışma zamanı ortamı sağlar.

Java ME

Java ME platformu, Java programlama dili uygulamalarını cep telefonları gibi küçük cihazlarda çalıştırmak için bir API ve az yer kaplayan bir sanal makine sağlar. API, Java SE API'nin bir alt kümesidir ve küçük cihaz uygulama geliştirme için yararlı özel sınıf kitaplıklarıdır. Java ME uygulamaları genellikle Java EE platform hizmetlerinin istemcileridir.

JavaFX

JavaFX, hafif bir kullanıcı arayüzü API'sı kullanarak zengin internet uygulamaları oluşturmak için bir platformdur. JavaFX uygulamaları, ağa bağlı veri kaynaklarına bağlanmak için daha yüksek performanslı istemciler, modern bir görünüm ve tarzın yanı sıra üst düzey API'lerden yararlanmak için donanım hızlandırmalı grafik ve medya motorlarını kullanır. JavaFX uygulamaları, Java EE platform hizmetlerinin istemcileri olabilir.


1
oracle sitesinden kopyalandı :)
Irfan Nasim

1
@IrfanNasim Oracle'dan kopyalandığını biliyorum ve bundan bahsettim !! cevabı üstten okudun mu ?! Ve bir bağlantı sağlarken SO da önemli bilgileri de kopyalamak gerektiğini biliyor musunuz, çünkü bağlantı güncel değil veya çalışmıyor kez, insanlar hala bağlantıda ne olduğunu okuyabilir !! 198 temsilcisi olması garip ve hala kuralları bilmiyor !!
Tarık

13

Windows 7 masaüstüme yüklemem gereken Java SE (Standart Sürüm)

Evet, elbette . Java SE, başlamak için en iyisidir. BTW Java temellerini öğrenmelisiniz. Bu, Java SE'deki bazı kitaplıkları ve API'leri öğrenmeniz gerektiği anlamına gelir.

Java Platform Sürümleri arasındaki fark:

Java Micro Edition (Java ME):

  • Son derece optimize edilmiş çalışma ortamı.
  • Hedef tüketici ürünleri ( Çağrı cihazları , cep telefonları).
  • Java ME daha önce Java 2 Platform, Micro Edition veya J2ME olarak biliniyordu.

Java Standard Edition (Java SE):

Uygulama ve uygulamaları yazan, dağıtan ve çalıştıran geliştiriciler için Java araçları, çalışma zamanları ve API'lar. Java SE daha önce Java 2 Platform, Standard Edition veya J2SE olarak biliniyordu. (bundan başlayan herkes / yeni başlayanlar)

Java Enterprise Edition (Java EE):

Kurumsal sınıf sunucu tarafı uygulamalarını hedefler . Java EE daha önce Java 2 Platform, Enterprise Edition veya J2EE olarak biliniyordu.

Bu soru için tekrarlanan bir soru daha.


Son olarak, J. .. karışıklığı hakkında

JVM (Java Sanal Makinesi):

JVM, Java bayt kodlarını çeviren ve bunları istemci makinede yerel kod olarak yürüten JDK ve JRE'nin bir parçasıdır.

JRE (Java Çalışma Zamanı Ortamı):

Java programlarının yürütülmesi için sağlanan ortamdır. Bu içeren bir JVM, sınıf kitaplıkları ve diğer destekleyici dosyaları. Bu içermez böyle derleyici, ayıklayıcıyla ve benzeri herhangi bir geliştirme araçları.

JDK (Java Geliştirme Kiti):

JDK, programı çalıştırmak için java programlarını (javac, java, javadoc, appletviewer, jdb, javap, rmic, ...) ve JRE'yi geliştirmek için gerekli araçları içerir.

Java SDK (Java Yazılım Geliştirme Kiti):

SDK, bir JDK ve uygulama sunucuları, hata ayıklayıcılar ve belgeler gibi ekstra yazılımlardan oluşur.

Java SE:

Java platformu, Standart Sürüm (Java SE), masaüstlerinde ve sunucularda (SDK ile aynı) Java uygulamaları geliştirmenizi ve dağıtmanızı sağlar.

J2SE, J2ME, J2EE

1.2'den 1.5'e kadar herhangi bir Java sürümü

Bu konular hakkında daha fazla bilgi edinin:


11

Evet, Java SE nereden başlayacağınızdır. Bahsettiğiniz tüm görevler onunla halledilebilir.

Java ME, Mobil Sürüm ve EE Kurumsal Sürümdür; bunlar Standart Sürüm'ün özel / genişletilmiş sürümleridir.


7

Evet, Java SE ile başlamalısınız. Java EE web uygulamaları için ve Java ME mobil uygulamalar için - her ikisi de SE'den oluşuyor.


6

Java SE (Standart Sürüm) masaüstü uygulamaları oluşturmak içindir.

Java ME (Micro Edition) eski mobil cihazlar içindir.

Java EE (Enterprise Edition) web tabanlı uygulamalar geliştirmek içindir.


2

Senin yerinde olsaydım Java SE SDK'yı kurardım. Kurulduktan sonra JAVA_HOME ortam değişkenini ayarladığınızdan emin olun ve% JAVA_HOME% \ bin dizinini yolunuza ekleyin.


1

Geliştiriciler, masaüstü bilgisayarlarda, web tarayıcılarında, web sunucularında, mobil bilgi aygıtlarında (özellikli telefonlar gibi) ve katıştırılmış aygıtlarda (televizyon alıcı kutuları gibi) çalışan Java programları oluşturmak için Java platformunun farklı sürümlerini kullanır.

Java Platform, Standard Edition (Java SE): Masaüstü bilgisayarlarda çalışan bağımsız programlar olan uygulamalar geliştirmek için kullanılan Java platformu. Java SE, web tarayıcılarında çalışan programlar olan uygulamalar geliştirmek için de kullanılır.

Java Platform, Enterprise Edition (Java EE): Java EE'nin Servlet API'sine uyan sunucu programları olan kurumsal odaklı uygulamalar ve sunucu uygulamaları geliştirmek için kullanılan Java platformu. Java EE, Java SE'nin üzerine kurulmuştur.

Java Platformu, Micro Edition (Java ME): Mobil bilgi cihazlarında çalışan programlar olan MIDlet'leri ve gömülü cihazlarda çalışan programlar olan Xlet'leri geliştirmek için kullanılan Java platformu.


0

SE (JDK), Java üzerinde dişlerinizi kesmek için ihtiyacınız olan tüm kütüphanelere sahiptir. Netbeans IDE'yi öneririm, çünkü bu doğrudan Oracle'dan SE (JDK) ile birlikte gelir. Özellikle komut satırını deneyecekseniz "path" ve "classpath" değişkenlerini ayarlamayı unutmayın. 64 bit sistemle "Sistem Yolu" nu ekleyin, örn. C: \ Program Files (x86) \ Java \ jdk1.7.0 değişkeni C: \ Windows \ system32; sistemi JDK'nıza yönlendirmek için.

Bu yardımcı olur umarım.


0

Java SE, masaüstü uygulamaları ve basit temel işlevler için kullanılır. Java EE, masaüstü için değil, web geliştirme, ağ oluşturma ve gelişmiş şeyler için de kullanılır.


0

EE: - Kurumsal Sürüm: - Bu Java sürümü özellikle güvenlik, işlem yönetimi vb.

SE: - Standart Sürüm: - Bu sürüm standart uygulamalar içindir.

ME: - Micro Edition: - Bu java sürümü özellikle cep telefonu platformları için tasarlanmıştır. Cep telefonlarında sınırlı hafıza kaynakları olduğu için hafıza yönetimine daha fazla önem verildiği durumlarda.

Temel olarak JAVA'nın farklı gereksinimler için farklı sürümleri vardır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.