-2

Java is programming language but what is the difference between java, java EE, servlet, JDK?

I know Java EE is built on top of Java SE but what is it actually a platform, framework or what? Servlet technology is used to create web application but is it a platform, programming language, framework or what?

Java language is used in android app development but where do we use Java ME?

Thanks

Aqarain
  • 82
  • 9
  • When I tried to recreate your question by pressing "Ask Question" and copypasting your current question title, I got a list with "Questions that may already have your answer". A lot of them are actually useful and also link to the abovementioned duplicate. How is it possible that you missed that list and/or neglected to follow the links in that list? What exactly was you thinking? – BalusC Jul 12 '15 at 14:15
  • @BalusC my question is different if you go through it. Everywhere it explains the difference between java SE,EE and ME, which I know but read my question, it is different. – Aqarain Jul 12 '15 at 18:50
  • Try asking one question per Question. A Question has more chance to survive if it has exactly one clear and concrete question. And, you've more chance in finding existing Answers. – BalusC Jul 12 '15 at 19:24
  • @BalusC op's question is totally different from the suggested one. SE/EE/ME are three types of java specification. Op's question is asking what is the difference between java, java EE, servlet, JDK which are at different level. The answer will be totally different since an valid answer to this question should explain they are at different abstract level or at least not same class of things. This question does not share any common with your suggested question. – SCLeo Jun 01 '17 at 08:20

1 Answers1

1

Java is a virtual machine specification and the specific language it was designed for. Since 1995 several other languages have been ported to run on the JVM: JavaScript, Jython, Closure, JRuby, and Scala.

Java EE is another 1999 specification for distributed objects that run in an operating system agnostic application server that manages object lifecycle, transactions, etc. Java EE app servers that implement the specification include JBOSS, WebLogic, Glassfish, and WebSphere.

Servlets are HTTP listeners - Java classes. They are not a platform, framework, or specification. They are part of the Java EE spec.

The JDK is the Java development kit. It consists of all the development tools for Java: compiling (javac), packaging (jar), etc.

Java ME preceded Android and iPhone. It's intended for mobile platforms, but I don't think it has nearly the market or mindshare that IOS and Android do. Every proposal put out by Sun was not a winner (e.g. Jini, JXTA, Java ME, etc.)

There have been some alternatives to Java EE that you ought to know about. vert.x is a non-blocking IO platform that deserves a great deal of attention. It's built on Netty. I'd consider both of these to be platforms. Neither are part of the Java EE specification.

Another is Spring, which is a framework. Frameworks operate on the Hollywood principle: "Don't call us; we'll call you." You embed your code in the framework, not the other way around.

Rod Johnson developed Interface 21/Spring in 2001 as a reaction against the heavy EJB 1.0 spec. It's been embedded inside Spring Boot, a deployable JAR packaging scheme.

duffymo
  • 305,152
  • 44
  • 369
  • 561
  • Sir but I know Java EE is built on top of Java SE but **what is it actually a platform, framework or what?** Servlet technology is used to create web application **but is Servlet a platform, programming language, framework or what?** – Aqarain Jul 12 '15 at 18:53
  • Your reading comprehension is sadly lacking. Please read this answer and all the others that were sent your way. If you don't understand, consider a new field of inquiry. – duffymo Jul 12 '15 at 19:13