N A M I T K H A N D U J A
A S S I S T A N T P R O F E S S O R
F A C U L T Y O F E N G G . & T E C H .
G U R U K U L K A N G R I V I S H W A V I D Y A L A Y A ,
H A R I D W A R .
Introduction to Java
Programming
namitkhanduja@gkv.ac.in
https://sites.google.com/site/namitkhanduja/
Outline
 The Beginning
 Design Goals
 Versions
 JDK JRE JVM
 Structure of java Program
 Execution Model
The Beginning
 James Gosling, Mike Sheridan, and Patrick
Naughton initiated the Java language project in
June 1991. The small team of sun engineers
called Green Team. For digital cable television
industry.
 Originally designed for small, embedded systems in
electronic appliances like set-top boxes.
 Firstly, it was called "Greentalk" by James Gosling
and file extension was .gt.
 Later Oak after an Oak tree that stood outside
Gosling's office.
Contd.
 initially developed to address the problems of
building software for networked consumer devices.
 to support multiple host architectures and to allow
secure delivery of software components.
 To meet these requirements, compiled code had to
survive transport across networks, operate on any
client, and assure the client that it was safe to run.
 Developed for Embedded system
 Demise of idea (Interactive TV) and birth of another
-- Applet incorporated to Netscape Browser
Design Goals
 Simple, Object Oriented, and Familiar
 Robust and Secure
 Architecture Neutral and Portable
 High Performance
 Interpreted, Threaded, and Dynamic
Versions
 JDK Alpha and Beta (1995)
 JDK 1.0 (23rd Jan, 1996)
 JDK 1.1 (19th Feb, 1997)
 J2SE 1.2 (8th Dec, 1998)
 J2SE 1.3 (8th May, 2000)
 J2SE 1.4 (6th Feb, 2002)
 J2SE 5.0 (30th Sep, 2004)
 Java SE 6 (11th Dec, 2006)
 Java SE 7 (28th July, 2011)
 Java SE 8 (18th March, 2014)
Code namesJDK 1.1.4 Sparkler Sept 12, 1997
JDK 1.1.5 Pumpkin Dec 3, 1997
JDK 1.1.6 Abigail April 24, 1998
JDK 1.1.7 Brutus Sept 28, 1998
JDK 1.1.8 Chelsea April 8, 1999
J2SE 1.2 Playground Dec 4, 1998
J2SE 1.2.1 (none) March 30, 1999
J2SE 1.2.2 Cricket July 8, 1999
J2SE 1.3 Kestrel May 8, 2000
J2SE 1.3.1 Ladybird May 17, 2001
J2SE 1.4.0 Merlin Feb 13, 2002
J2SE 1.4.1 Hopper Sept 16, 2002
J2SE 1.4.2 Mantis June 26, 2003
J2SE 5.0 (1.5.0)
J2SE6 (1.6)
J2SE 7 (1.7)
J2SE 8 (1.8)
Tiger
Mustang
Dolphin
(none)
Sept 29, 2004
11th Dec, 2006
28th July, 2011
March 2014
JDK JRE JVM
Structure of Java Program
Java Execution Model
JAVA Execution Architecture
References
 https://en.wikibooks.org/wiki/Java_Programming/History
 http://tech-insider.org/java/research/1995/07.html
 https://docs.oracle.com/javase/8/docs/
 https://docs.oracle.com/javase/tutorial/
Competitions
 http://web.stanford.edu/class/cs97si/
 https://icpc.baylor.edu/worldfinals/programming-environment
 https://www.topcoder.com
 Codechef
 https://code.google.com/codejam/contest/
 https://uva.onlinejudge.org/
 http://poj.org/
 http://codefights.com/
 http://coderbyte.com/
 http://www.hackerearth.com/
 https://www.codeeval.com/
 http://www.checkio.org/
 http://cyber-dojo.org/
 http://www.codechef.com/
 https://code.google.com/codejam/contests.html
 http://www.codewars.com/
 https://open.kattis.com/

Introduction to Java

  • 1.
    N A MI T K H A N D U J A A S S I S T A N T P R O F E S S O R F A C U L T Y O F E N G G . & T E C H . G U R U K U L K A N G R I V I S H W A V I D Y A L A Y A , H A R I D W A R . Introduction to Java Programming namitkhanduja@gkv.ac.in https://sites.google.com/site/namitkhanduja/
  • 2.
    Outline  The Beginning Design Goals  Versions  JDK JRE JVM  Structure of java Program  Execution Model
  • 3.
    The Beginning  JamesGosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. The small team of sun engineers called Green Team. For digital cable television industry.  Originally designed for small, embedded systems in electronic appliances like set-top boxes.  Firstly, it was called "Greentalk" by James Gosling and file extension was .gt.  Later Oak after an Oak tree that stood outside Gosling's office.
  • 4.
    Contd.  initially developedto address the problems of building software for networked consumer devices.  to support multiple host architectures and to allow secure delivery of software components.  To meet these requirements, compiled code had to survive transport across networks, operate on any client, and assure the client that it was safe to run.  Developed for Embedded system  Demise of idea (Interactive TV) and birth of another -- Applet incorporated to Netscape Browser
  • 5.
    Design Goals  Simple,Object Oriented, and Familiar  Robust and Secure  Architecture Neutral and Portable  High Performance  Interpreted, Threaded, and Dynamic
  • 6.
    Versions  JDK Alphaand Beta (1995)  JDK 1.0 (23rd Jan, 1996)  JDK 1.1 (19th Feb, 1997)  J2SE 1.2 (8th Dec, 1998)  J2SE 1.3 (8th May, 2000)  J2SE 1.4 (6th Feb, 2002)  J2SE 5.0 (30th Sep, 2004)  Java SE 6 (11th Dec, 2006)  Java SE 7 (28th July, 2011)  Java SE 8 (18th March, 2014)
  • 7.
    Code namesJDK 1.1.4Sparkler Sept 12, 1997 JDK 1.1.5 Pumpkin Dec 3, 1997 JDK 1.1.6 Abigail April 24, 1998 JDK 1.1.7 Brutus Sept 28, 1998 JDK 1.1.8 Chelsea April 8, 1999 J2SE 1.2 Playground Dec 4, 1998 J2SE 1.2.1 (none) March 30, 1999 J2SE 1.2.2 Cricket July 8, 1999 J2SE 1.3 Kestrel May 8, 2000 J2SE 1.3.1 Ladybird May 17, 2001 J2SE 1.4.0 Merlin Feb 13, 2002 J2SE 1.4.1 Hopper Sept 16, 2002 J2SE 1.4.2 Mantis June 26, 2003 J2SE 5.0 (1.5.0) J2SE6 (1.6) J2SE 7 (1.7) J2SE 8 (1.8) Tiger Mustang Dolphin (none) Sept 29, 2004 11th Dec, 2006 28th July, 2011 March 2014
  • 8.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
    Competitions  http://web.stanford.edu/class/cs97si/  https://icpc.baylor.edu/worldfinals/programming-environment https://www.topcoder.com  Codechef  https://code.google.com/codejam/contest/  https://uva.onlinejudge.org/  http://poj.org/  http://codefights.com/  http://coderbyte.com/  http://www.hackerearth.com/  https://www.codeeval.com/  http://www.checkio.org/  http://cyber-dojo.org/  http://www.codechef.com/  https://code.google.com/codejam/contests.html  http://www.codewars.com/  https://open.kattis.com/