2. SYLLABUS
• Differentiate between jdk 1.0,jdk 1.1,jdk 1.2,J2SE,J2EE,J2ME and J2SE
v 1.3.
• Overview of main improvements and additions in each version.
• Information about deprecated classes and methods till the java 2
platform.
• Support or refute the statement:”Since jdk 1.1,there have not been
many enhancements in the java language specification,but there
improvements have take place in the Java API’s.
• Differences between:
• Java Language and Java Platform.
3. JDK 1.0 (January 23, 1996)
• It was the first stable released version of Java.
• Its codename was Oak.
• The first stable version of JDK was JDK 1.0.2 and it was called
Java 1.
• Up to JDK 1.0.1, private and protected keywords could be used
together to create yet another form of protection which used to
act as a restriction to methods or variables mainly to subclasses of
a given class.
• In JDK 1.0.2, this capability has been removed.
4. JDK 1.1 (February 19, 1997)
• Some additions were included to this version. i.e.
• The concept of Inner Class
• JavaBeans
• JDBC
• RMI
• AWT event model was totally reshaped.
• Reflection(which supported Introspection only, modification was not possible at
runtime).
• JIT(Just In Time) compiler on Microsoft Windows platforms, produced for
JavaSoft by Symantec
• Internationalization and Unicode support originating from Taligent.
5. J2SE 1.2 (December 8, 1998)
• Its codename was Playground. First time, it was called J2SE (Java 2 Platform,
Standard Edition) .It replaced JDK to recognize the base platform from J2EE
(Java 2 Platform, Enterprise Edition) and J2ME(Java 2 Platform, Micro
Edition) .It was a very important java release as it tripled the size of the Java
platform to 1520 classes in 59 packages.
• Some additions were included to this version. i.e.
• Java plug-in
• Java IDL, an IDL implementation for CORBA interoperability
• Collections framework
• the Swing graphical API was integrated into the core classes
• Sun's JVM was equipped with a JIT compiler for the first time
6. J2SE 1.3 (May 8, 2000)
• Its codename was Kestrel. Some additions were included to this
version. i.e.
• HotSpot JVM included.
• RMI was modified to support optional compatibility with CORBA.
• JNDI (Java Naming and Directory Interface).
• Java Platform Debugger Architecture (JPDA) included.
• JavaSound.
• Synthetic proxy classes.
7. J2SE 1.4 (February 6, 2002)
• Its codename was Merlin. It was the first Java platform which was released under the Java
Community Process.
• Some additions were included to this version. i.e.
• Improved libraries.
• Perl regular expressions included.
• Provided exception chaining (It allows an exception to encapsulate original lower-level
exception).
• IPv6 support (Internet Protocol version 6).
• Logging API (Specified in JSR 47.)
• Image I/O API for reading and writing images in formats like JPEG and PNG.
• XML parser and XSLT processor integrated.
• Security and cryptography extensions (JCE, JSSE, JAAS) integrated.
8. J2EE(Java Platform, Enterprise Edition):
• The Enterprise edition of Java has a superior usage of Java, like a growth
of web services, networking, server-side scripting and further a variety
of web-based applications.
• It is a community-driven edition, i.e. there are many of nonstop
offerings from industry experts, Java developers, and other open source
organizations.
• It uses Website designing tools like HTML, CSS, JavaScript, Ajax, Jquery
etc, so as to build web pages and web services.
• There are also countless languages like .net and PHP, which can perform
that task, however, what distinguishes it from other languages is the
flexibility, compatibility and protection features, which are not that
much major in other languages.
9. J2ME(Java Platform, Micro Edition)
• This used for the applications running on small devices, mobiles,
and embedded systems.
• Limitations included partial processing power, battery drawback,
small display etc.
• J2ME uses many libraries and API’s of J2SE, with, several of its
own.
• The basic aim of this edition was to work on wireless devices,
mobiles etc.
• Operating systems targeting Java ME have been implemented by
DoCoMo in the form of DoJa, and by SavaJe as SavaJe OS.
10. Information about deprecated classes and
methods till the java 2 platform
• The Java language has undergone several changes since JDK 1.0 as
well as numerous additions of classes and packages to the
standard library.
• Since J2SE 1.4, the evolution of the Java language has been
governed by the Java Community Process (JCP), which uses Java
Specification Requests (JSRs) to propose and specify additions and
changes to the Java platform.
• The language is specified by the Java Language
Specification (JLS); changes to the JLS are managed
under JSR 901.
11. Cont…
• In addition to the language changes, other changes have been
made to the Java Class Library over the years, which has grown
from a few hundred classes in JDK 1.0 to over three thousand in
J2SE 5.
• Entire new APIs, such as Swing and Java2D, have been
introduced, and many of the original JDK 1.0 classes and methods
have been deprecated.
• Some programs allow conversion of Java programs from one
version of the Java platform to an older one (for example Java 5.0
backported to 1.4)
12. Support or refute the statement:”Since jdk 1.1,there have not been many
enhancements in the java language specification,but there
improvements have take place in the Java API’s.
• Since Java 8 a number of useful new language features have been introduced, along with new
tooling, and performance improvements particularly for garbage collection.
• When choosing to upgrade the choice you face is whether to upgrade to the latest version of
Java (12) and be prepared to upgrade every six months; or upgrade to the latest LTS (11) to
give yourself up to three years to think about your next upgrade.
• Don’t be tempted to ignore compiler warnings. Deprecation is being taken much more
seriously in this modern Java world, and both Java 10 and Java 11 removed APIs.
• One of the changes from Java 9 was that internal APIs (largely those classes in packages that
started with sun.misc.*) were hidden from use. APIs that are not core to the JDK have also
been removed in Java 11. These changes may impact your application but there is a clear path
to avoid these problems.
• Once "over the hump" of this first upgrade, it's worth at least testing the application on the
latest version of Java every 6 months.
13. Java Language and Java Platform
• Java is a popular programming language, created in 1995.
• It is owned by Oracle, and more than 3 billion devices run Java.
• It is used for:
• Mobile applications (specially Android apps)
• Desktop applications
• Web applications
• Web servers and application servers
• Games
• Database connection
14. Cont….
• Java works on different platforms (Windows, Mac, Linux, Raspberry Pi,
etc.)
• It is one of the most popular programming language in the world
• It is easy to learn and simple to use
• It is open-source and free
• It is secure, fast and powerful
• It has a huge community support (tens of millions of developers)
• Java is an object oriented language which gives a clear structure to
programs and allows code to be reused, lowering development costs
• As Java is close to C++ and C#, it makes it easy for programmers to
switch to Java or vice versa
15. 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)
• Java FX
• 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.
16. Cont…
• 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.
17. Cont….
• 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.