[Java] What is jaee j2ee?

This page touches on Java I often get confused I would like to explain about the ward.

Specifically, the following

Java SE(J2SE)、Java EE(J2EE)、 Java ME(J2ME)、JRE、JDK(J2SDK)

1. What is JavaSE (J2SE)?

The official name is Java Platform, Standard Edition. (J2SE seems to be the old name in the past) Looking at the Weblio dictionary

A collection of Java virtual machines and Java APIs. It contains a set of packages related to major Java languages, and is often referred to as J2SE or Java SE rather than the official name "Java Platform, Standard Edition".

I don't know.

When I look it up Because it's a Standard Edition Basic set, standard "set" required when using Java It was good to think about it.

If you look closely, the JVM (Java virtual Machine) is It seems that it is included in this. So it's good to recognize it as a set that is basically essential when using Java.

2. What is Java EE (J2EE)?

Java Enterprise Edition For Enterprise Development (Enterprise Edition) Translated into Japanese, it looks like this.

It seems that it means enterprise = corporate use, It's for companies, so it's a set for large-scale development. Can also be used for Web development such as Servlet Etc. are also included in this Compared to JavaSE, ** JavaSE is a kit that can be run on the desktop **, JavaEE can also be run on the Web, so think of it as a kit with a wider range of work.

JavaSE = For small-scale system development that does not use the Web JavaEE = For large-scale development that can be developed using the Web

3.Java ME(J2ME)

Quoted from the official page

Java Platform, Micro Edition (Java ME) is robust and flexible for applications running in mobile and embedded device environments such as mobile phones, set-top boxes, Blu-ray Disc players, digital media devices, M2M modules, printers, etc. Environment is provided. Java ME technology was originally created to address the constraints associated with building applications for small devices. To this end, Oracle defines the foundations of Java ME technology for such restricted environments, allowing you to create Java applications that run on small devices with limited memory, display, and power.

I see()

To summarize in an easy-to-understand manner ・ Edition for embedded devices ・ I made it to deal with building applications for small devices. ・ It's for embedded systems. (Twice because it's important)

The point is that Java is made for embedded systems such as C # and C ++. I don't know what exactly is different ()

4.JRE、JDK(J2SDK)

Yes. This is the main subject.

The official name of JRE is (Java Runtime Environment) An environment for running Java applications, mainly the JVM and basic libraries.

With the official name of the JDK (Java Development Kit) It is a JRE with a compiler (javac) and tools required for application development (javadoc, jar, and many others).

I see, it's in () state, so let's disassemble it one by one.

** "JRE mainly focuses on JVM and basic libraries" ** JVM = The Java virtual machine mentioned earlier. It's a basic execution environment to run this.

Then what is the execution environment?

As the basic structure of the program

** Write the source code> Yes, it's done! !! !! ** **

Instead, there is an environment where the source code can be run together. The source code works for the first time.

You can think of JRE as an "environment" that firmly contains an environment that works together.

Next, JDK

JDK official name (Java Development Kit) It is a JRE with a compiler (javac) and tools required for application development (javadoc, jar, and many others).

Yes, as mentioned above, JRE is packed with various kits to make it easier to develop. It means that. Compiler = Actually, it translates the source code so that it can be understood even on a PC (OS) and runs it. It will be this compiler. (Compilation = translation)

In summary, it looks like this ** Source code: Original material of the program written in human language ** ** Binary code: A program written in words that the computer can understand ** ** Compile: Converting human language (source code) to machine language (binary code) **

Other than that, I don't know if we use it on a daily basis, such as application development. Functions etc. are packed in Jar by the pioneers.

Sometimes thankful, sometimes angry at why this feature wasn't included But let's use it with gratitude.

** Summary ** What do you mean after all? To people.

Java SE (J2SE) Edition set for small-scale system development without the Web Java EE (J2EE) Edition set for large-scale development that can be developed using the Web Java ME (J2ME) MP3 player or set for embedded JRE: An environment that works together when the source code is assembled JDK (J2SDK) A kit packed with various things to make it easier to develop when developing

If you compare it to cooking

Java SE (J2SE) Minimum cooking set (kitchen knife, manata, frying pan) Java EE (J2EE) Cooking set prepared in various ways to show (using tableware and equipment are also good) Java ME (J2ME) Cooking scissors and other convenient cooking utensils for special cases (Scrapers and scissors used by Japanese sweets craftsmen) JRE Mix the ingredients and you're done! !! !! Set that will JDK (J2SDK) Equipment / environment with detailed attention that makes cooking easier

It will be a quick summary, but it will be a rough summary, That is all. I hope you find it helpful.

Recommended Posts

[Java] What is jaee j2ee?
What is java
What is Java <>?
What is Java
What is Java Encapsulation?
What is Java technology?
What is Java API-java
[Java] What is flatMap?
[Java] What is JavaBeans?
[Java] What is ArrayList?
What is a Java collection?
[Java] What is class inheritance?
[Java basics] What is Class?
What is java escape analysis?
What is JVM (Java Virtual Machine)?
What is thread safe (with Java)
[Java] What is Concurrent Modification Exception?
What is a lambda expression (Java)
What is Cubby
What is Docker?
What is a class in Java language (3 /?)
What is null? ]
What is Keycloak
What is maven?
What is Jackson?
What is Docker
What is Jenkins
What is ArgumentMatcher?
What is IM-Juggling?
What is the best file reading (Java)
What is a class in Java language (1 /?)
What is params
What is SLF4J?
What is Java and Development Environment (MAC)
What is a class in Java language (2 /?)
What is Gradle?
What is POJO
What is the main method in Java?
What is centOS
What is RubyGem?
What is programming?
What is before_action?
What is Docker
What is Byte?
What is Tomcat
What is the Java Servlet / JSP MVC model?
What is the volatile modifier for Java variables?
What is Maven Assembly?
What is a constructor?
What is vue cli
What is an interface?
What is Ruby's self?
What is hard coding?
What is a stream
What is Ruby's attr_accessor?
What is permission denied?
What is instance control?
What is an initializer?
What is Spring Tools 4
What is object orientation?
What is Guava's @VisibleForTesting?