Java se и java ee в чем разница
Перейти к содержимому

Java se и java ee в чем разница

  • автор:

# Java Editions, Versions, Releases and Distributions

# Differences between Java SE JRE or Java SE JDK distributions

Sun / Oracle releases of Java SE come in two forms: JRE and JDK. In simple terms, JREs support running Java applications, and JDKs also support Java development.

# Java Runtime Environment

Java Runtime Environment or JRE distributions consist of the set of libraries and tools needed to run and manage Java applications. The tools in a typical modern JRE include:

  • The java command for running a Java program in a JVM (Java Virtual Machine)
  • The jjs command for running the Nashorn Javascript engine.
  • The keytool command for manipulating Java keystores.
  • The policytool command for editing security sandbox security policies.
  • The pack200 and unpack200 tools for packing and unpacking "pack200" file for web deployment.
  • The orbd , rmid , rmiregistry and tnameserv commands that support Java CORBA and RMI applications.

"Desktop JRE" installers include a Java plugin suitable for some web browser. This is deliberately left out of "Server JRE" installers.linux syscall read benchmarku

From Java 7 update 6 onwards, JRE installers have included JavaFX (version 2.2 or later).

# Java Development Kit

A Java Development Kit or JDK distribution includes the JRE tools, and additional tools for developing Java software. The additional tools typically include:

The javac command, which compiles Java source code (".java") to bytecode files (".class").

The tools for creating JAR files such as jar and jarsigner

appletviewer for running applets

idlj the CORBA IDL to Java compiler

javah the JNI stub generator

native2ascii for character set conversion of Java source code

schemagen the Java to XML schema generator (part of JAXB)

serialver generate Java Object Serialization version string.

the wsgen and wsimport support tools for JAX-WS

jdb the basic Java debugger

jmap and jhat for dumping and analysing a Java heap.

jstack for getting a thread stack dump.

javap for examining ".class" files.

jconsole a management console,

jstat , jstatd , jinfo and jps for application monitoring

A typical Sun / Oracle JDK installation also includes a ZIP file with the source code of the Java libraries. Prior to Java 6, this was the only publicly available Java source code.

From Java 6 onwards, the complete source code for OpenJDK is available for download from the OpenJDK site. It is typically not included in (Linux) JDK packages, but is available as a separate package.

# Java SE Versions

# Java SE Version History

The following table provides the timeline for the significant major versions of the Java SE platform.

    by Roedy Green of Canadian Mind Products

# Java SE Version Highlights

Java SE Version Highlights
Java SE 8 Lambda expressions and MapReduce-inspired Streams. The Nashorn Javascript engine. Annotations on types and repeating annotations. Unsigned arithmetic extensions. New Date and Time APIs. Statically linked JNI libraries. JavaFX launcher. Removal of PermGen.
Java SE 7 String switches, try-with-resource, the diamond ( <> ), numeric literal enhancements and exception handling / rethrowing improvements. Concurrency library enhancements. Enhanced support for native file systems. Timsort. ECC crypto algorithms. Improved 2D graphics (GPU) support. Pluggable annotations.
Java SE 6 Significant performance enhancements to JVM platform and Swing. Scripting language API and Mozilla Rhino Javascript engine. JDBC 4.0. Compiler API. JAXB 2.0. Web Services support (JAX-WS)
Java SE 5 Generics, annotations, auto-boxing, enum classes, varargs, enhanced for loops and static imports. Specification of the Java Memory Model. Swing and RMI enhancements. Addition of java.util.concurrent.* package and Scanner .
Java SE 1.4 The assert keyword. Regular expression classes. Exception chaining. NIO APIs — non-blocking I/O, Buffer and Channel . java.util.logging.* API. Image I/O API. Integrated XML and XSLT (JAXP). Integrated security and cryptography (JCE, JSSE, JAAS). Integrated Java Web Start. Preferences API.
Java SE 1.3 HotSpot JVM included. CORBA / RMI integration. Java Naming and Directory Interface (JNDI). Debugger framework (JPDA). JavaSound API. Proxy API.
Java SE 1.2 The strictfp keyword. Swing APIs. The Java plugin (for web browsers). CORBA interoperability. Collections framework.
Java SE 1.1 Inner classes. Reflection. JDBC. RMI. Unicode / character streams. Internationalization support. Overhaul of AWT event model. JavaBeans.

# Differences between Java EE, Java SE, Java ME and JavaFX

Java technology is both a programming language and a platform. The Java programming language is a high-level object-oriented language that has a particular syntax and style. A Java platform is a particular environment in which Java programming language applications run.

There are several Java platforms. Many developers, even long-time Java programming language developers, do not understand how the different platforms relate to each other.

# The Java Programming Language Platforms

There are four platforms of the Java programming language:

All Java platforms consist of a Java Virtual Machine (VM) and an application programming interface (API). The Java Virtual Machine is a program, for a particular hardware and software platform, that runs Java technology applications. An API is a collection of software components that you can use to create other software components or applications. Each Java platform provides a virtual machine and an API, and this allows applications written for that platform to run on any compatible system with all the advantages of the Java programming language: platform-independence, power, stability, ease-of-development, and security.

# Java SE

When most people think of the Java programming language, they think of the Java SE API. Java SE’s API provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML parsing.

In addition to the core API, the Java SE platform consists of a virtual machine, development tools, deployment technologies, and other class libraries and toolkits commonly used in Java technology applications.

# Java EE

The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.

# Java ME

The Java ME platform provides an API and a small-footprint virtual machine for running Java programming language applications on small devices, like mobile phones. The API is a subset of the Java SE API, along with special class libraries useful for small device application development. Java ME applications are often clients of Java EE platform services.

# Java FX

Java FX technology is a platform for creating rich internet applications written in Java FX ScriptTM. Java FX Script is a statically-typed declarative language that is compiled to Java technology bytecode, which can then be run on a Java VM. Applications written for the Java FX platform can include and link to Java programming language classes, and may be clients of Java EE platform services.

# What is the difference between Oracle Hotspot and OpenJDK

Orthogonal to the JRE versus JDK dichotomy, there are two types of Java release that are widely available:

  • The Oracle Hotspot releases are the ones that you download from the Oracle download sites.
  • The OpenJDK releases are the ones that are built (typically by third-party providers) from the OpenJDK source repositories.

In functional terms, there is little difference between a Hotspot release and an OpenJDK release. There are some extra "enterprise" features in Hotspot that Oracle (paying) Java customers can enable, but apart from that the same technology are present in both Hotspot and OpenJDK.

Another advantage of Hotspot over OpenJDK is that patch releases for Hotspot tend to be available a bit earlier. This also depends on how agile your OpenJDK provider is; e.g. how long it takes a Linux distribution’s build team to prepare and QA a new OpenJDK build, and get it into their public repositories.

The flipside is that the Hotspot releases are not available from the package repositories for most Linux distributions. This means that keeping your Java software up-to-date on a Linux machine is usually more work if you use Hotspot.

Что это такое ваше Java EE?

Расшифровка Java SE — Java Standart Edition. Эсьешая джава это стандартный набор который идет с JDK (хотя постепенно пополняется) . Java SE довольно мощная сама по себе но в соло она катки особо не тащит. Java EE — Java Enterprise Edition это то что уже успело умереть но и породило штуковин которые сейчас у всех на слуху.

Но сначала немного о том что было миллиард лет назад.

Или о том как Java EE родилась, развивалась и откинулась (хотя не совсем то и откинулась).

В общем где то в нулевых годах зародилась такая штука как Java EE. По сути это был набор спецификаций. Эти спецификации стандартизировали всякую дичь которую деплоили на апликейшен серваки.

Проще говоря это такая Java программа которая позволяет динамически подгружать (или отгружать) другие Java программы. Спецификации которые описывает Java EE позволяют стандартизировать решения от разных производителей. Например JPA Java Persistence API определяет стандарт для взаимодействия с базой через ORM (Object Relational Mapping).

На практике это значит что Java EE в своем JSR (Java specification Request — или проще говоря в документации) опишет следующие аннотации и требования к ним.

В общем рядовым программистам нужно всего лишь знать какие аннотации использовать которые затем могут быть подменены имплементациями других производителей.

Если использовать лишь стандартный JPA тогда можно переключив зависимости не менять код вообще. Например для JPA можно использовать следующие реализации:

  • DataNucleus
  • Hibernate
  • EclipseLink
  • OpenJPA

НО на практике это неоч работало. Просто добавив зависимость решение не заводилось (чаще потому что требовалось еще какие то зависиомсти итд).

В общем история была мутная. В общем Java EE медленно развивалась бла бла и Spring кончил её. Теперь Java EE стала Jakara EE но в общем по большому счету рынок захватил Spring.

Сейчас под этим скорее подразумевается не то о чем я рассказал. А то наследие которое осталось. Все те вагоны аннотаций и их реализации которые решали задачи:

  • Взаимодействие с базой данных
  • Взаимодействие с очередью
  • Взаимодействие с фронтом итд

То старье видизменилось но по сути старые паттерны решают те же задачи.

Еще есть проекты которые живут на апликейшн серверах, особенно в легаси серверах. Потенциал в них все еще есть и Jakarta будет развиваться точнее быстрее чем старый EE мир. Кстати внутри спринга находится томкат или нетти или то еще что то (на выбор) .

Больше контента по Java можно найти в этом чате. Там также можно задавать вопросы и получать консультации. Всем добра.

Java EE vs Java SE: Has Oracle Given up on Enterprise Software?

A detailed explanation of how Java EE differs from Java SE.

Everything you need to know about Java EE and its current status

Java Enterprise Edition is one the biggest sources for confusion in the worldwide Java community. The weird thing is that even if you’re experienced with developing for EE, the complete picture is often still fuzzy. In this post, we’re taking in all recent news and taking a closer look at Java EE to clear out the fog with the help of Werner Keil from the Java EE 8 expert group, and Reza Rahman, former Oracle Java EE evangelist and founder of the Java EE guardians.

Exactly how is Java EE different from Java SE?

To kick off, we need to make an important distinction. Java EE is built on top of Java SE. Unlike Java SE, the Enterprise Edition of Java is officially “just” a specification, with actual implementations available from Oracle (like the Glassfish reference implementation) and other vendors like RedHat and IBM.

While SE’s APIs provide the standard core capabilities of the Java language (java.* packages), EE’s APIs (javax.*) provide extensions to Java that are super useful for developing large-scale applications. With that said, there can be exceptions which cause additional confusion. Swing for instance started off as an extension, and ended up as part of core Java. It’s not a bullet proof concept.

We got in touch with Java EE 8 expert group member Werner Keil for further insight. “The big misconception is whether or not APIs are a coded manifestation of the specification or rather its implementation” says Werner. “Almost every Java EE project now considers it the implementation, and a vast majority therefore have all of its code covered under increasingly open licenses. Except for the Technology Compatibility Kit (TCK) test suites where there’s still a big problem with proprietary closed TCKs only accessible to Oracle and corporate licensees.”

On a side note, these type of licensing issues eventually caused the Apache Software Foundation to withdraw its membership from the Java Community Process executive committee back in 2010.

So what does the EE spec actually include?

In practice, Java EE is an umbrella specification for enterprise Java extensions. At its core, it includes independent capabilities like Enterprise Java Beans (EJBs), the Java Servlet, Rest API (JAX-RS), Contexts and Dependency Injection (CDI), and many more.

Every new release includes upgrades to individual technologies, together with new capabilities. For example, Java EE 8 is expected to include the Servlet 4.0 spec with HTTP 2.0 support.

Since Java is backwards compatible, you can also run older EE versions on top of new SE versions and enjoy the new language features. For example, a Java EE 7 compatible implementation on top of Java SE 8 for lambdas and streams, so you don’t need to wait for the Java EE 8 to use it.

A main feature of Java EE is the Servlet spec. Currently at v3.1, with v4.0 under development. One of its most popular implementations come from TomEE, which is an EE compatible version of Tomcat.

Heavyweight Java EE is a myth

In contrary to popular belief, Java EE is much lighter than it seems. Properties like artifact size, build time, and deployment time can be pretty minimal. Lightweight is a design decision, and other frameworks who are considered to be lightweight can become… heavyweight.

“Probably the most common misconception about Java EE is that it’s too big, heavy or monolithical and not as flexible as Play!, Spring, Node.js or all the other “hip” and new or older alternatives out there. We had an entire Tomcat or Glassfish server run on a Raspberry Pi” – Werner Keil

Debugging Java EE in Production

A recurring issue for distributed production environments, and especially with microservice architectures, is understanding what’s happening in production. While not specific to EE, an issue that starts with one service can cause trouble elsewhere and then you’re left alone digging through logs, trying to find clues that might not even be there.

At we’re taking a new approach to solve these kind of problems. Anytime an exception, log error or warning happens, we present all the needed data to get down to its root cause. This includes all the related source code and state throughout the error’s stack trace

Java EE vs. Java SE release cycle

The work on Java EE is managed under a single umbrella Java Specification Request (here’s the one for Java EE 8) and waits for SE to be completed in order to define the exact spec. We’ve summarized the release dates of all versions in the following table:

Why does it usually take 2 years for EE to be released after SE?

“I think this historically evolved over time. The first then J2EE technologies like EJB were presented in 1998 a little over 2 years after Java officially started in 1995.“ says Werner Keil. “Once a larger number of companies and contributors started to help Java EE under the JCP, enterprise technology naturally takes some time to have all the parts under the EE umbrella be ready, tested and integrated.”

Werner added, “I personally see the need for a strict binding of Java EE version X to the same JDK version X become less important even for large corporate users. Several vendors already started to bundle their latest Java EE 6 or 7 compatible products with Java SE 8 by default.”

“Once Java EE 8 is ready, we’ll hopefully see Java SE 9 and its Jigsaw modularity system not only final but also relatively mature. It may take some time for Enterprise servers to cope with this huge step, but as soon as modularity is properly understood and adopted, I see probably an even bigger benefit for EE than SE. The fairly small number of EE profiles should grow and leverage all the optionality and modularity the underlying platform can then offer.”’

What’s the Current Status of Java EE 8?

Java EE 8 is expected to be released in the first half of 2017. It seems we’re expected to experience additional delays. Werner Keil elaborates on these issues:

“Unfortunately not only due to the delays of Java SE 9, but what seems to be a strong shift of resources inside Oracle to serve its (private) Cloud customers instead, almost every Oracle-led JSR aimed at Java EE 8 has been delayed.”

“Even JCache where Oracle is co-Spec Lead seems in no real shape to just be thrown into Java EE 8 with key aspects for Enterprise capability like Transactions simply missing.”

“Those missing parts are covered by proprietary vendor-specific extensions whether it’s Oracle (Coherence), Hazelcast or other vendors. Maybe that is actually how it will end up. “

“A common concern by many in the Java EE community is, that Java EE and related standards become more of a “fig leaf” to cover proprietary, mostly closed-source products or services running “in the Cloud” which you only rent and pay for.”

As a result of the seemingly changing priorities, Oracle Java EE Evangelist Reza Rahman parted ways with Oracle and founded a community driven initiative called the Java EE Guardians. “Looking at it in an unbiased way, it is nothing more or less than “Adopt-a-JSR” for Java EE. While very few attempts were made to have JUGs or its members adopt Java EE JSRs via the Adopt-a-JSR program, in reality it is limited to Java SE or standalone JSRs and pretty much all activity by Oracle and key JUGs involved focus entirely on Adopt-OpenJDK. While the Enterprise sector was in the past always seen as a thing for a few large vendors like IBM, BEA/Oracle or JBoss. “

“Having smaller players like TomiTribe or Payara contribute in Open Source ways similar to say JBoss and even IBM bet on largely Open Source driven technologies like OpenStack or WebSphere Liberty Profile means a huge shift in paradigm that at least many corporate and legal folks at Oracle don’t seem to fully understand yet.”

The Java EE Guardians

To shed some more light on the new community, we’ve got in touch with Reza Rahman for further details.

“We are a group of people passionate about Java EE that are very concerned about Oracle’s commitment to the open standards. We are committed to doing everything we can to move the Java EE community forward” – Reza Rahman

Reza continued, “Oracle and Sun have always had an unhealthy amount of influence on the direction of Java EE. Oracle’s current inactivity makes the downsides of this reality even more obvious. In the long run I think the right answer for Java EE is being driven far more actively by the community and other vendors like RedHat, IBM, Tomitribe and Payara.”

“The current status of Java EE is very worrisome. The ecosystem continues to gain strength and is as vibrant as ever with many passionate people behind it. Despite all this there is a marked slowdown in activity from Oracle resources on Oracle led JSRs. This will make it very challenging to meet the current Java EE 8 timelines unless the apparent Oracle behavior changes, the community significantly steps up contribution or other vendors make up progress gaps left from Oracle’s inactivity.”

Difference between Java SE/EE/ME?

Which one should I install when I want to start learning Java? I’m going to start with some basics, so I will write simple programs that create files, directories, edit XML files and so on, nothing too complex for now.

I guess Java SE (Standard Edition) is the one I should install on my Windows 7 desktop. I already have Komodo IDE which I will use to write the Java code.

Tarik's user avatar

Richard Knop's user avatar

14 Answers 14

Java SE = Standard Edition. This is the core Java programming platform. It contains all of the libraries and APIs that any Java programmer should learn (java.lang, java.io, java.math, java.net, java.util, etc. ).

Java EE = Enterprise Edition. From Wikipedia:

The Java platform (Enterprise Edition) differs from the Java Standard Edition Platform (Java SE) in that it adds libraries which provide functionality to deploy fault-tolerant, distributed, multi-tier Java software, based largely on modular components running on an application server.

In other words, if your application demands a very large scale, distributed system, then you should consider using Java EE. Built on top of Java SE, it provides libraries for database access (JDBC, JPA), remote method invocation (RMI), messaging (JMS), web services, XML processing, and defines standard APIs for Enterprise JavaBeans, servlets, portlets, Java Server Pages, etc.

Java SE и Java EE: различия, характеристики и подробный обзор

Lorem ipsum dolor

Среда разработки, чтобы программировать на языке Java

  • Java SE;
  • Java EE;
  • Java ME;
  • Java FX.
  • «мощность»;
  • стабильная работа;
  • простота в разработке;
  • полная защищенность.

Java SE (Standar d Edition)

  • использование API,
  • виртуалку от Ява Оракл,
  • инструмент для разработки,
  • технологию для запуска приложения,
  • различные библиотеки классов и т.д.

Java EE (Enterprise Edition)

Сама по себе Java EE строится, используя в качестве основ ы платформу Java SE. Однако , кроме всего , Java EE может позволять использовать нестандартные и расширенные API, а также дает возможность разработки более крупномасштабируемых, сложноуровневых, максимально надежных и безопасных программ.

Java ME (Micro Edition)

Платформа Java ME представляет из себя API и минимально требовательную виртуалку (VM) для разработки и старта приложения на небольшом устройстве, таком как современный смартфон или планшет. В составе своей библиотеки Java ME , как правило, содержит определенную библиотеку классов, рассчитанную как раз для устройств с небольшим разрешением. Это во много м упрощает само создание приложения для маленького устройства. Сайт для поиска девушек по вызову проститутки омск Сохрани чтобы не потерять

Java FX

Ява FX — это полноценная среда, которая часто применяется для создания функционального приложения с возможностью применения облегченного API. Программа на Java FX пользуется аппаратной, ускоренной графикой и медиа-движком, чтобы воспользоваться достоинством современного внешнего вида, ну и чтобы использовать производительность на максимуме.

Java SE и Java EE — в чем , собственно , такая разница?

Если простым языком объяснить различия , возникающие между Java SE и Java EE, то получается следующее : к примеру, если вы желаете разработать что-то «крупное», допустим , корпоративную программу для предприятия , тогда вам точно нужно применять Java EE. Потому что Ява SE , как мы уже знаем, — стандартный образец и в основном используется для создания локального приложения без использования серверов. А в Java EE любая программа может работать на сервере или веб-сайте и использует более сложные библиотеки.

Если еще проще : Java SE используется , когда нужно разработать что-то несложное. Java EE используется , когда нужно разработать что-то сложное.

В Java SE пишутся приложения, имеющие возможность запускаться как простые java-программы внутри самого контейнера. А в Java EE возможно делать то же самое, однако она еще предоставляет в ам более широкие возможности управления и возможность поточного масштабирования.

У Java EE есть собственные фреймворки, которые использует язык шаблонов Java Server Pages (JSP). Соответственно , есть возможность разрабатывать быстрее.

Если попытаться подытожить, то Java EE = Java SE + дополнительные библиотеки + наличие фреймворков + технологические спецификации, расширяющие ваши возможности управления. Вот и вся разница и все различия в данных продуктах Java Oracle (Ява Оракл).

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Что это такое ваше Java EE?

Расшифровка Java SE — Java Standart Edition. Эсьешая джава это стандартный набор который идет с JDK (хотя постепенно пополняется) . Java SE довольно мощная сама по себе но в соло она катки особо не тащит. Java EE — Java Enterprise Edition это то что уже успело умереть но и породило штуковин которые сейчас у всех на слуху.

Но сначала немного о том что было миллиард лет назад.

Или о том как Java EE родилась, развивалась и откинулась (хотя не совсем то и откинулась).

В общем где то в нулевых годах зародилась такая штука как Java EE. По сути это был набор спецификаций. Эти спецификации стандартизировали всякую дичь которую деплоили на апликейшен серваки.

Проще говоря это такая Java программа которая позволяет динамически подгружать (или отгружать) другие Java программы. Спецификации которые описывает Java EE позволяют стандартизировать решения от разных производителей. Например JPA Java Persistence API определяет стандарт для взаимодействия с базой через ORM (Object Relational Mapping).

На практике это значит что Java EE в своем JSR (Java specification Request — или проще говоря в документации) опишет следующие аннотации и требования к ним.

В общем рядовым программистам нужно всего лишь знать какие аннотации использовать которые затем могут быть подменены имплементациями других производителей.

Если использовать лишь стандартный JPA тогда можно переключив зависимости не менять код вообще. Например для JPA можно использовать следующие реализации:

  • DataNucleus
  • Hibernate
  • EclipseLink
  • OpenJPA

НО на практике это неоч работало. Просто добавив зависимость решение не заводилось (чаще потому что требовалось еще какие то зависиомсти итд).

В общем история была мутная. В общем Java EE медленно развивалась бла бла и Spring кончил её. Теперь Java EE стала Jakara EE но в общем по большому счету рынок захватил Spring.

Сейчас под этим скорее подразумевается не то о чем я рассказал. А то наследие которое осталось. Все те вагоны аннотаций и их реализации которые решали задачи:

  • Взаимодействие с базой данных
  • Взаимодействие с очередью
  • Взаимодействие с фронтом итд

То старье видизменилось но по сути старые паттерны решают те же задачи.

Еще есть проекты которые живут на апликейшн серверах, особенно в легаси серверах. Потенциал в них все еще есть и Jakarta будет развиваться точнее быстрее чем старый EE мир. Кстати внутри спринга находится томкат или нетти или то еще что то (на выбор) .

Больше контента по Java можно найти в этом чате. Там также можно задавать вопросы и получать консультации. Всем добра.

Java se и java ee в чем разница

Java technology is both a programming language and a platform. The Java programming language is a high-level object-oriented language that has a particular syntax and style. A Java platform is a particular environment in which Java programming language applications run.

There are several Java platforms. Many developers, even long-time Java programming language developers, do not understand how the different platforms relate to each other.

The Java Programming Language Platforms

There are four platforms of the Java programming language:

Java Platform, Standard Edition (Java SE)

Java Platform, Enterprise Edition (Java EE)

Java Platform, Micro Edition (Java ME)

All Java platforms consist of a Java Virtual Machine (VM) and an application programming interface (API). The Java Virtual Machine is a program, for a particular hardware and software platform, that runs Java technology applications. An API is a collection of software components that you can use to create other software components or applications. Each Java platform provides a virtual machine and an API, and this allows applications written for that platform to run on any compatible system with all the advantages of the Java programming language: platform-independence, power, stability, ease-of-development, and security.

Java SE

When most people think of the Java programming language, they think of the Java SE API. Java SE’s API provides the core functionality of the Java programming language. It defines everything from the basic types and objects of the Java programming language to high-level classes that are used for networking, security, database access, graphical user interface (GUI) development, and XML parsing.

In addition to the core API, the Java SE platform consists of a virtual machine, development tools, deployment technologies, and other class libraries and toolkits commonly used in Java technology applications.

Java EE

The Java EE platform is built on top of the Java SE platform. The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications.

Java ME

The Java ME platform provides an API and a small-footprint virtual machine for running Java programming language applications on small devices, like mobile phones. The API is a subset of the Java SE API, along with special class libraries useful for small device application development. Java ME applications are often clients of Java EE platform services.

JavaFX

JavaFX is a platform for creating rich internet applications using a lightweight user-interface API. JavaFX applications use hardware-accelerated graphics and media engines to take advantage of higher-performance clients and a modern look-and-feel as well as high-level APIs for connecting to networked data sources. JavaFX applications may be clients of Java EE platform services.

Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Legal Notices

Java SE or Java EE? Confused which one to use in your app.

Hirunika Karunathilaka

If you are a novice to Java, let me first briefly introduce what Java is. Java is a high level, object oriented programming language which has its own set of syntaxes and styles. You may get the question what is “high level” and “object oriented” means. High level in the sense is that we are using a programming language which is very close to human language which is further away from machine language(binary instructions).Object oriented means is that ,we bind the data and functions in our program to an object and we use these objects then and again in the same or other programs. I know this really isn’t enough for the topic, OOP(Object Oriented Programming) as it is a very important area to learn in Java.

So, let’s get back to our topic. What kind of application are you going to develop in Java? Using Java you can either develop desktop, web or mobile applications.

Let’s get in to each one by one and discuss what Java editions can be used to develop them.

1. Desktop Applications

Simply speaking, a desktop application is a computer program that runs locally in a computer device. These applications must be developed for and installed on a particular operating system. The soft wares developed for billing in shops are examples for them. To build these kind of applications you need to have a knowledge on core java (technically we called as JSE-Java Standard Edition). There are many helpful sources around there in the internet about how to create your own desktop application using java. So what functionalities are provided by java SE for you to build the app?
Java SE (core java) provides the core functionalities of the java programming language. It contains all the libraries and APIs that any Java programmer should learn (java.lang, java.io, java. math, java.net, java.util, etc…).Its functionalities can be used for networking, security, database access (to store valuable data in the application), graphical user Interface (GUI) (for creating interfaces) and XML parsing.

2. Web Applications

This is a bit advance from desktop applications. These applications are delivered to our local device (such as desktop, laptop) over the internet from a remote server. The user accesses the web application using the web browser in his local device and works with resources available over the internet. (Ex: websites you browse ☺)

So, to build these kind of apps, you can go for the J2EE edition which is technically called as Java Enterprise Edition. This Java EE platform is actually built on top of the Java SE platform. (That is why Java SE is considered as a base technology for JEE, Spring, Spring MVC and etc…) You can use Java EE to develop web applications and also very large scale distributed systems, enterprise applications as the Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable and secure network applications.

So, I hope you have got an idea about which Java Edition is most suitable for your application in your head. You can find numerous helpful sources out there, to create any application from scratch. So no worries ☺. In the next article, I hope to cover the Java editions use for developing mobile applications. ☺

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *