Thanks to visit codestin.com
Credit goes to www.slideshare.net

Introduction to Java
   Programming Language

                   By
              Norazah Yusof
          Software Engineering Department
Faculty of Computer Science and I f
F   lt f C      t S i         d Information Systems
                                       ti S t

                                                      1
Outline


The origin of Java.
The Java history.
The Java history.
The capabilities of Java programming language.
The Java language specifications
The Java language specifications
The Java API
The Java development tools
The Java development tools
How does byte code makes Java a portable 
language?

                                                 2
Origin of Java

In 1991, Java was developed by a team led by James 
I 1991 J          d l      db t         l db J
Gosling and Patrick Naughton at Sun Microsystems.
   Originally named Oak ‐ Gosling liked the look of 
   Originally named Oak Gosling liked the look of
   an oak tree that was outside his window at Sun.




                                                       3
History of Java

The challenge: For use in embedded consumer 
Th h ll        F        i     b dd d
electronic appliances ‐ the cable TV switchboxes.
  Different manufacturers may choose different central 
  Different manufacturers may choose different central
  processing units (CPUs).
  The cable TV switchboxes devices do not have a lot of 
  power or memory.
The language; 
  Had to be small and generate very tight code.
  Not be tied to any single architecture.


                                                           4
History of Java


A two‐step Java translation process have been 
developed:
  Programs written in Java were translated into an 
  intermediate language, known the byte code.
  Then, the byte code would be translated into machine 
  Th    th b t     d       ld b t    l t di t       hi
  language.




                                                          5
History of Java

In 1994, Java was used to develop a Web browser, 
I 1994 J             dt d l         W bb
named HotJava.
  The browser able to download and run small Java 
  The browser able to download and run small Java
  programs over the internet, known as the applets.
  Capable to display animation and interact with the user.
In 1995, Netscape incorporated Java technology 
into its Netscape browser. 
  Then, other Internet companies followed . . .




                                                             6
Java Capabilities

Java is a full‐featured and general‐purpose 
J    i f ll f t d d               l
programming language that is capable of 
developing a robust mission critical applications for:
developing a robust mission‐critical applications for:
  Desktops
  Servers
  Mobile devices
The Java programming language is a relatively high‐
level language, class‐based and object‐oriented.



                                                         7
Java Capabilities


Java running on the desktop is called application.
Java running on the Internet is called applets.
Java running on the Internet is called applets
Java developed on the server‐side is called servlet.




                                                       8
Java Language Specification


Defines the Java standard and the technical 
definition of the language.
definition of the language
  includes the syntax and semantics of the language.
  url:
      java.sun.com/docs/books/jls




                                                       9
Application Program Interface


Java application program interface (API) contains 
the predefined classes and interfaces for developing 
Java programs.
In 1995, Java 1.0 was introduced.
  With 211 classes and interfaces.
In December 1998, Java 2 platform was announced.
  Applies to current Java technology.
     l                       h l




                                                        10
Java API




           11
Java API


There are 3 editions of the Java API:
  Java 2 standard edition (J2SE) 
  Java 2 standard edition (J2SE)
  • Client‐side standalone applications or applets.
  Java 2 Enterprise Edition (J2EE) 
              p             (    )
  • Server‐side applications, such as Java servlets and 
    JavaServer Pages.
  Java 2 Micro Edition (J2ME) 
  Java 2 Micro Edition (J2ME)
  • Mobile devices, such as cell phones or pda.



                                                           12
Demonstrate how to link to Java 
             API



                                   13
J2SE versions and JDK

There are many versions of J2SE.
  Sun releases each version of J2SE with a Java 
  Development toolkit (JDK).
  Development toolkit (JDK)
JDK consists of a set of separate programs for 
developing and testing Java programs.
developing and testing Java programs
  Each of which is invoked from a command line.
For J2SE 5.0, the Java development toolkit is called 
For J2SE 5 0 the Java development toolkit is called
JDK 5 – formerly was known as JDK1.5.
  The latest version is J2SE 6.


                                                        14
Java Development Tools

A software that provides an integrated development 
A software that provides an integrated development
environment (IDE) for rapidly developing Java programs.
Java development tools on the market:
           p
 NetBeans by Sun (open source)
 JBuilder by Borland
 Eclipse by IBM (open source)
Other useful tools:
 Code warrior by Metroworks
 TextPad Editor
 JCreator LE
 Jedit
 BlueJ


                                                          15
Byte‐Code and the 
                       Java Virtual Machine (JVM)
                             i    l    hi (     )


The Java compiler translates Java programs into 
byte‐code.
 Once compiled to byte‐code, a Java program can be used 
 on any computer, making it very portable machine. 
The Java Virtual Machine (JVM) translates the byte 
The Java Virtual Machine (JVM) translates the byte
code into machine language.




                                                           16
Portability


Portable means that a program may be written
on one type of computer and then run on a wide
variety of computers, with little or no
      y       p
modification.
Java byte code runs on the JVM and not on any
particular CPU therefore, compiled J
   ti l CPU; th f                  il d Java
programs are highly portable.
JVMs exist on many platforms:
 Windows
 Macintosh
 Linux


                                                 17
Portability

                            Byte code
                             (.class)




    Java Virtual
                                                Java Virtual
Machine for Windows
                                              Machine for Unix




               Java Virtual             Java Virtual
             Machine for Linux
             M hi f Li              Machine f M i t h
                                    M hi for Macintosh

                                                                 18

Introduction to Java Programming Language