Introduction to Java

hedgebornabaloneSoftware and s/w Development

Dec 2, 2013 (3 years and 8 months ago)

74 views

Introduction to Java

Yin
-
Hsong Hsu and Yen
-
Cheng
Chen 1998

2

History of Java


Green project funded by Sun for intelligent
consumer electronic

devices


announced at May 23, 1995


experiences from CE


so many kinds of machines, portability


simple


no hard disk => network download


security


3

Java


Java
: An Object
-
Oriented Programming Language for the
Internet.


A Better C++
-
Like Language


object
-
oriented, distributed, interpreted, multi
-
threaded,
secure, no pointers, garbage collection,...


Platform
-
independent


Java programs are compiled into
bytecode
s, which can
be run on Java Virtual Machine.


Java Applets/Servlets
:
small Java programs executed in
WWW browsers/servers.

-


Write Once, Run Everywhere & Reuse Everywhere”

4

Java


Simple


Object
-
oriented


Distributed


Interpreted


Robust


Secure


Architecture
-
neutral


Portable


High performance


Multithreaded


Dynamic

6

Java Applet vs. Java Application


Applet


A Java program that runs inside a Java
-
enabled
Web Browser


Application


A stand
-
alone Java program

7

How Java Program Being Executed


Application

Source Code

Byte Code

Interpretation

Compile javac prog.java

Interpret by a virtual machine

8

How Java Program Being Executed


Applet

Source Code

Byte Code

HTML

compile

Browser

with

Virtual Machine

Load Bytecode

JIT: Just In Time Compiler

9

Programming Environment


Sun’s JDK (public)


javac


java


jdb


Symantec Visual Café


Microsoft Visual J++


Borland JBuilder


IBM VisualAge


Sybase PowerJ

10

First Java Application
-

Hello World


Code : HelloWorldApp.java






compile to bytecode “HelloWorldApp.class”


execute the bytecode

class

HelloWorldApp {


public

static void
main
(String[] args) {


System.out.println("Hello World!");


}

}


javac HelloWorldApp.java


Compile

HelloWorldApp.java to
HelloWorldApp.class


java HelloWorldApp


Interpret HellowWorldApp.class


12

The anatomy of a Java application


Comments in Java Code


C, C++, and /** … */


defining a class


the main() method


modifiers
: public static and void


arguments

to the main method


using classes and objects


class

variables versus
instance

variables


13

First Java Applet
-

Hello World


Code: HelloWorld.java







compile to bytecode : HelloWorld.class

import

java.applet.Applet
;

import

java.awt.Graphics
;


public class HelloWorld
extends

Applet

{


public void paint(
Graphics

g) {


g.drawString("Hello world!", 50, 25);


}

}

14

Running an Applet


HTML file : xx.html


<
APPLET

CODE="HelloWorld.class" WIDTH=150 HEIGHT=25>


The
Applet

tag

<
applet

code
=class
width
=nn
height
=nn
codebase
=dir
name
=n
align
=str
vspace
=nn
hspace
=nn>

<
param

name
=pn1
value
=pv1>

<
param

name
=pn2
value
=pv2>

...

</
applet
>

15

The anatomy of a Java applet


importing classes and packages


defining an Applet subclass


implementing Applet methods

16

What Applets Can Do?


Applets can usually make network connections to the host
they came from.


Applets running within a Web browser can easily cause
HTML documents to be displayed.


Applets can invoke public methods of other applets on the
same page.


Applets that are loaded from the local file system (from a
directory in the user's CLASSPATH) have none of the
restrictions that applets loaded over the network do.

17

What Applets Can’t Do?


An applet cannot load libraries or define native methods.


It cannot ordinarily read or write files on the host that's
executing it.


It cannot make network connections except to the host that it
came from.


It cannot start any program on the host that's executing it.


It cannot read certain system properties.


Windows that an applet brings up look different than
windows that an application brings up.

18

Java Core API


Included in JDK


Java classes/packages:


Data manipulation & processing.


AWT (Abstract Windowing Toolkit).


I/O.


Networking.


Security.


JDBC (Java Database Connectivity)


JavaBeans


RMI (Remote Method Invocation).


Object Serialization

19

JDK (Java Development Kit)

20

Java Foundation Classes (JFC, swing)

21

Java Family

22

Java Security

23

24

25

26

27