An intoduction to Java Technology
- Introduction to JAVA
- Java Platforms
- Java is Everywhere
- Version in Details
- James Gosling at a Glance
- Java Quick Facts
- What is Java?
- Java Development Kit (JDK)
- How does JVM works?
- Running on Different Platforms
- Features of Java
- Types of Java Program
- Applets and Applications
- Key Benefits & Features of Java
| Introduction to JAVA |

Java – is an object-oriented programming language that is platform independent (the same Java program runs on all hardware platforms without modification).

Java – is a programming language originally developed by Sun Microsystems and released in 1995 as a core component of Sun’s Java platform.
| Java Platforms |
Java is generally thought of in terms of four platforms.
- Standard Edition (SE) or JavaSE
- Enterprise Edition (EE) or JavaEE
- Micro Edition (ME) or JavaME
- Java Fx

J2SE – Java 2 Standard Edition Overview
- Java Platform, Standard Edition (also known as Java 2 Platform) lets you develop and deploy Java applications on desktops and servers, as well as today’s demanding Embedded and Real-Time environments.
- Java SE includes classes that support the development of Java Web Services and provides the foundation for Java Platform, Enterprise Edition (Java EE).

JDK=Java Tools + JRE
JRE=JavaSE API + JVM
| Basic Tools |
| Java Tool | Description | Example |
|---|---|---|
| Javac | The compiler for the Java programming language. | eg. C:\>javac Hello.java |
| Java | The launcher for Java applications. | eg. C:\>java Hello |
| Javadoc | API documentation generator. | eg. C:\>javadoc Hello.java |
| Javap | Class file disassembler | eg. C:\>javap java.lang.String |
| Appletviewer | Run and debug applets without a web browser. | eg. C:\>appletviewer xyz.html |
| Jar | Manage Java Archive (JAR) files. | eg. C:\>jar -cvf xyz.java *.class |
| jdb | The Java Debugger, jdb, is a simple command-line debugger for Java classes. It is a demonstration of the Java Platform Debugger Architecture that provides inspection and debugging of a local or remote Java Virtual Machine. | eg. C:\> jdb MyClass |
Example of jar Command
Creating Jar File
F:\>jar -cvf xyz.jar *.class
added manifest
adding: abc.class(in = 404) (out= 277)(deflated 31%)
adding: Calculator.class(in = 894) (out= 467)(deflated 47%)
adding: demo.class(in = 775) (out= 463)(deflated 40%)
adding: gender.class(in = 758) (out= 452)(deflated 40%)
adding: JavaApplication1.class(in = 1074) (out= 612)(deflated 43%)
adding: MethodOverloading.class(in = 455) (out= 326)(deflated 28%)
adding: test.class(in = 302) (out= 237)(deflated 21%)
adding: xyz.class(in = 399) (out= 249)(deflated 37%)
Extracting Jar File
F:\abc>jar xvf f:\xyz.jar
created: META-INF/
inflated: META-INF/MANIFEST.MF
inflated: abc.class
inflated: Calculator.class
inflated: demo.class
inflated: gender.class
inflated: JavaApplication1.class
inflated: MethodOverloading.class
inflated: test.class
inflated: xyz.class
Example for Double clickable jar file
MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.6.0_04 (Sun Microsystems Inc.)
Main-Class: xyz.hello
hello.java
package xyz;
import javax.swing.*;
class hello
{
public static void main(String[] args)
{
JFrame f;
f=new JFrame("Hello");
f.getContentPane().add(new JLabel("Hi,Anuj!! I am james Bond."));
f.setSize(400,200);
f.setVisible(true);
}
}
Creating double clickable Jar File
F:\>javac -d . hello.java
F:\>jar cfm first.jar MANIFEST.MF xyz/hello.class
Now click double on created jar file.
OR
Running Jar File on command prompt
F:\>java -jar first.jar
Example for jdb java debugger
F:\>javac demo.java
F:\>jdb demo
Initializing jdb ...
> run
run demo
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
>
VM Started: hello
15
The application exited
F:\>
| Brief History of Java |
- In 1990, Sun Microsystems began an internal project known as the Green Project to work on a new technology.
- In 1992, the Green Project was spun off and its interest directed toward building highly interactive devices for the cable TV industry. This failed to materialize.
- In 1994, the focus of the original team was re-targeted, this time to the use of Internet technology. A small web browser called HotJava was written. Oak was renamed to Java after learning that Oak had already been trademarked.
- In 1995, Java was first publicly released.
- In 1996, Java Development Kit (JDK) 1.0 was released.
- In 2002, JDK 1.4 (codename Merlin) was released, the most widely used version.
- In 2004, JDK 5.0 (codename Tiger) was released.
- JDK 1.6 (Mustang) in 11 Dec 2006
- JDK 1.7 (Dolphin) in July 7, 2011
- Java 8 (Spider) is released on 18 March 2014
J2EE Java 2 Enterprises Edition Overview
- Java Platform, Enterprise Edition (Java EE) builds on the solid foundation of Java Platform, Standard Edition (Java SE) and is the industry standard for web applications.
- The SDKs contain Sun Java System Application Server (Sun’s supported distribution of GlassFish) and provide support for Java EE 5 specifications.

J2ME Java 2 Micro Edition Overview
- Java Platform, Micro Edition (Java ME) is a set of technologies and specifications developed for small devices like pagers, mobile phones, and set-top boxes.
- Java ME uses smaller-footprint subsets of Java SE components, such as smaller virtual machines and defines a number of APIs that are specifically targeted at consumer and embedded devices.
| Java is Everywhere |

Note : JAVA is now open source!!!
| Version in Details |
| Version | Code Name | Release Date |
|---|---|---|
| JDK 1.0 | Oak | January 23, 1996 |
| JDK 1.1 | Major additions included | 19 Feb 1997 |
| JDK 1.2 | Playground | 8 Dec 1998 |
| JDK 1.3 | Kestrel | 08 May 2000 |
| JDK 1.4 | Merlin | 06 Feb 2002 |
| JDK 1.5 | Tiger | 30 Sep 2004 |
| JDK 1.6 | Mustang | 11 Dec 2006 |
| JDK 1.7 | Dolphin | July 7, 2011 |
| JDK 8 | Spider | March 2014 |
| JDK 9 | 21 Sep 2017 | |
| JDK 10 | AKA Java 18.3 | in March 2018 and 18.3 |
JDK 1.0
In 1996, Java Development Kit (JDK) 1.0 was released
JDK 1.1
- Consist of AWT Event Model, Inner Classes, Java Beans, JDBC and RMI
JDK 1.2 – CodeName : Playgroung
Major additions included :-
- “Strictfp” keyword
- Reflection API
- Sun’s JVM – JIT Compiler for the first time
- Java Plugins
- Java IDL – Corba interoperability
- Collections framework
JDK 1.3 Code Name : Kestrel
Most notable changes were:-
- HotSpot JVM (Revised)
- RMI was modified to support optional compatibility with CORBA
- Java Sound
- JNDI – Java Naming and Directory Interface included in core libraries
JDK 1.4 Code Name : Merlin
Major changes included
- Assert keyword
- Regular Expressions modeled
- Exception Chaining – allows an exception to encapsulate original lower-level exception
- IPV6 support
- Non blocking NIO
- Logging API
- Integrated XML Parser and XSLT Processor
- Image I/O API
- Integrated Security & cryptography extensions
JDK 1.5 Code Name : Tiger
New language features :-
- Generics – Provides compile-time (static) type safety for collections and eliminates the need for most typecasts (type conversion)
- Metadata-Annotations – allows language constructs such as classes and methods to be tagged with additional data, which can then be processed by metadata-aware utilities.
- Autoboxing/Unboxing
- Enumerations- with “enum” keyword
- Swing – New L&F(Look & Feel) – called ‘Synth’
- Varargs – The last parameter of a method can now be declared using a type name followed by three dots.
- Enhanced ‘for’ loop
- Fix the previously broken semantics of the Java Memory Model, which defines how threads interact through memory
- Automatic stub generation for RMI Objects
JDK 1.6 Code Name : Mustang
Notable Elements:-
Release nomenclature – Sun replaced ‘J2SE’ with JavaSE & dropped the ‘.0’ from the version number; Internal numbering for developers remains 1.6.0
Major changes:-
- Improved Web Service
- JDBC 4.0
- Java Compiler API – allowing a java program to select & invoke a java compiler programmatically
- Integration of SwingWorker in the API, table sorting and filtering & true swing double buffering
JDK 1.7 Code Name : Dolphin
New builds include:-
- JVM support for dynamic languages – following the prototyping work currently done on Multi Language Virtual Machine.
- New Library for parallel computing on Multi-core processors
- Superpackages – which are a way to define explicitly in a library or module which classes will be visible from outside of the library
- Swing Application Framework.
JDK 8, JDK 9, JDK 10 (March 2018) has been released also.
| James Gosling |
- James Gosling is generally credited as the inventor of the Java programming language
- He was the first designer of Java and implemented its original compiler and virtual machine
- He is also known as the Father of Java
- He was the Chief Technical Officer of Sun Microsystems.

| Java Quick Facts |
- 4.5 million Java developers, the largest community of software developers
- 75% of professional developers in the world use Java
- 1.75 billion devices run in Java
- 825 million Java-enabled smart cards
- 579 million Java-enabled mobile devices
- 635 Java-enabled phone models
- 700 million desktops with Java software
- 220,000 downloads of JDK 1.1 in just 3 weeks, 2 million after a year
- 2 million downloads for J2EE SDK
- JavaOne draws 20,000 becoming the world’s largest developer conference
- Over 400 Java user groups established worldwide
- Java runs on consumer and embedded devices more than any other software
- The software that powers the Mars Rover
Java is Everywhere!
| What is Java? |
It is a multi-platform, network-centric, object-oriented programming language.
Multi-platform
- It can run on almost any computer platform
Network-centric
- Designed with network in mind – “the network is the computer”
- Designed for building applications for the Internet
Object-oriented
- It incorporates object-oriented programming model
| Java Development Kit (JDK) |
Java Development Kit (JDK)
- Is a set of Java tools for developing Java programs
- Consists of Java API, Java Compiler, and JVM
Java Application Programming Interface (API)
- Is prewritten code, organized into packages of similar topics
Java Virtual Machine (JVM)
- Is an execution engine that runs compiled Java byte code
| How does JVM work? |
| A Java program is written | ![]() |
|---|---|
| The program is compiled | |
| A class file is produced containing byte codes. | |
| The bytecodes are interpreted by the JVM | |
| The JVM translates bytecodes into native machine code |
| Running on Different Platforms |

| Features of Java |
- Is simple to learn
- Follows the Object-oriented approach
- Can access data across networks
- Is both interpreted and compiled
- Programs are robust and reliable
- Programs are portable
- Programs are more secure
- Programs are faster
- Supports multithreading
- Programs are dynamic in nature
| Types of Java Programs |
Applications
- are programs that do not need a browser for execution
Applets
- are programs that run on a Web page
Servlets
- are programs that extend the functionality of a server
Packages
- contain collection of classes and helps to organize classes.
| Applets and Applications |
Applications
- are programs that are executed using the MS-DOS prompt
- may or may not have a graphical user interface
- are usually character based console applications
- have more security privileges than applets
- reside on the local hard disk of the machine
Applets
- are programs that execute inside a Web page
- have to be downloaded before they can be executed
- have a graphical user interface
- cannot access the resources of the local machine
| Key Benefits & Features of Java |
Write Once, Run Anywhere
- Java is portable and platform independent
Network-centric
- Can work with resources across a network and multi-tier architectures
Object-oriented
- A Java program models a set of objects interacting with each other
Robust
- Strong type checking
- Exception handling mechanism
- Automatic memory management
Multithreaded
- A Java application can run several different processes called “threads” simultaneously
Security
- Can download remote code over a network and run it in a secure environment
- Security levels and restrictions are highly configurable

Recent Comments