0

I am newbie in Java, sorry for this question but I have not a good answer to my questions regarding to this issue.

1) I look at Java SE versions history and see the versions seems to come from Java SE versions. Is the Java language version is directly related to Java SE JDK history? What does Java 8 means? Is it the language version corresponding to Java SE JDK version 8?

2) What about the Java EE SDK and JDK? Does it have no effect on the version of Java?

I have been very confused regarding to these issues about the versions of programming language and libraries. Could you pls. clarify me?

Jack
  • 1
  • 21
  • 118
  • 236
  • Simple google search for "java version history" brought this: https://en.wikipedia.org/wiki/Java_version_history – locus2k Oct 11 '18 at 12:31
  • 2
    Please note: the link given by locus2k has **much** more content compared to the link you used in your question. (and even if it wasnt helpful, your reaction isn't very polite, is it). Anyway, that link answers the first part of your question. For the second part, you can check out the duplicated question. – GhostCat Oct 11 '18 at 12:38
  • @GhostCat Thanks for information. The **JDK = Java SE && JDK != Java EE?** partly clarifies me but not totally. So, **1)** Do we call Java language version by referring corresponding Java SE JDK version? **2)** What about J2EE or Java EE versions? Is it using for referring the development of enterprise features with Java EE JDK? – Jack Oct 11 '18 at 13:01
  • 1
    I think it is a bit fuzzy, but yes, when you say "Java 7", you implicitly refer to the features of the language that the JDK 1.7, resp. JRE 1.7 provide , for example. In other words: the documentation (such as the language spec) says "java X", but any implementation will be JDK X, or JRE X (java SE that is). I hope that makes sense. – GhostCat Oct 11 '18 at 13:05
  • @GhostCat What about the second question in my previous comment? – Jack Oct 11 '18 at 13:11
  • 1
    That is why I pointed out *Java SE*. Java version numbers relate to the Java language itself. Java EE is basically a defined set of "libraries". So J2EE 8 basically refers to that set of libraries/versions that make up Java EE ... that was released in the context of Java 8. – GhostCat Oct 11 '18 at 13:15
  • @GhostCat In this scene can we say that: **If we develop an app by installing Java SE JDK 11 that means we write this code via Java 11. And if we need to use enterprise library of Java EE then we should **also** install the latest Java EE JDK (version) 8 but it still means we develp this app via Java 11 as we use Java SE JDK **version 11**. Is that true (installing both Java SE JDK 11 + Java EE JDK 8 confused me a little bit)? – Jack Oct 11 '18 at 13:26
  • 1
    I think the real confusion is that you don't understand what Java EE is about. Meaning: you need to do real research on that topic. Java EE is like that old joke about expensive luxury: "if you need to ask for the price, you cant afford it". With Java EE: "if you ask such questions, then you probably dont need it" (because you dont understand the value proposition of Java EE). ( this is not meant to belittle you, just the best example that comes to my mind). You dont pull in Java EE "by chance" - you only use it if you need that extended functionality. – GhostCat Oct 11 '18 at 13:29
  • @GhostCat Could you please a little bit clarify me further about the questions in my previous comment? Because if I get the answers I will be clarified almost totally. Thanks... – Jack Oct 11 '18 at 13:38
  • 2
    Well, you are asking me to repeat things that are written down in the duplicated question, and other places. Again: the JDK contains ... the compiler you need to compile and a runtime that you need to **run** java code. Java EE does not contain these things. If you want to compile/run Java code, you need a JDK. – GhostCat Oct 11 '18 at 13:40
  • 1
    You are welcome. I think you should consider to delete some of the comments now, such lengthy discussions rarely help future readers. And dont forget to upvote/accept answers or content that was helpful to you ;-) – GhostCat Oct 11 '18 at 13:59
  • @GhostCat Ok, I deleted unnecessary ones. On the other hand, I always upvote and select answer all of the useful replies but for this questions there is only one answer that I upvoted below. Regards... – Jack Oct 12 '18 at 08:47
  • @GhostCat Just a point on [JDK = Java SE && JDK != Java EE?](https://stackoverflow.com/questions/2024143/jdk-java-se-jdk-java-ee) >>> *"Using the definitions above, you will find a JDK for Java SE (a set of java features) and a JDK for the Java EE (the features in Java SE + some "enterprise" features)."* If it is true, **how can Java EE JDK version 8 can contain Java SE JDK version 10 features and libraries as the latter JDK has released too later than the EE version?** – Jack Oct 12 '18 at 08:51

1 Answers1

0

SE (Standard Edition) and EE(Enterprise Edition) basically are the Java Editions.

JDK means Java Development Kit which contans JRE (Java Runtime Enviroment) and JVM (Java Virtual Machine).

yes you are right. java 8 is the language versions. every version of java come up with new Features. and Some versions of java have both EE and SE and Some have only SE.

Khalid Shah
  • 3,132
  • 3
  • 20
  • 39