110 likes | 123 Views
Learn about Java programming language for web computing, compare with Lisp, explore Java's features, influences, web support, graphics, threads, with example applications.
E N D
Java A Programming Language for Web-based Computing CSE 341 -- S. Tanimoto Java Introduction
From Lisp to Java Common Features of Lisp and Java: -- Garbage-collected -- Support for Object-oriented programming -- Support for packages -- Compiles to intermediate code -- Intermediate code is then interpreted -- Built-in support for many data structures such as hash tables, vectors CSE 341 -- S. Tanimoto Java Introduction
From Lisp to Java (Cont.) Differences: Java supports client-side processing in Web via “Applets” Server Side Client Side HTTP GET/POST Browser Apache W.S. Lisp as CGI Web page HTTP GET Browser/JVM Applet Exec. Apache W.S. Java class files CSE 341 -- S. Tanimoto Java Introduction
From Lisp to Java (Cont.) More Differences: Java: More security considerations, because of its web orientation: compulsory “try” and “catch” error handling. Java: stronger typing of variables. Java: Standard graphics API’s: the AWT and Swing. CSE 341 -- S. Tanimoto Java Introduction
Influences on Java C, C++: syntax of arithmetic and boolean expressions, need for safe pointer operations. Smalltalk, C++, CLOS: Object orientation Lisp: garbage collection, bignums CSE 341 -- S. Tanimoto Java Introduction
Java’s Web Support Applets: Java virtual machine can run in a browser. Safe pointers avoid segmentation faults and other dangerous errors. Security manager provides that applets don’t perform I/O to client hard disk. Applets permitted only limited upload communication (to the originating server). Standard networking package is provided. CSE 341 -- S. Tanimoto Java Introduction
Java’s Graphics AWT: The Abstract Windowing Toolkit is a package providing standard classes for building GUIs. Support for decoding GIF and JPEG image formats is built in. Java has used two slightly different event models for user interaction: JDK 1.0 (old) and JDK 1.1 (new). Java2D is a more advanced imaging package that’s made to work with Java 2. CSE 341 -- S. Tanimoto Java Introduction
Java’s Threads Java programs can contain multiple threads of control. This can permit parallel processing. This can permit logical separation of the program into code for concurrent processes. Run-time scheduling of threads is not completely platform independent. CSE 341 -- S. Tanimoto Java Introduction
Example Application class MyFirstApplication { public static void main(String[] args) { System.out.println("Hello World"); } } To compile on a Unix system, type: javac MyFirstApplication.java Then to run it, type: java MyFirstApplication CSE 341 -- S. Tanimoto Java Introduction
Example Applet import java.applet.Applet; import java.awt.Graphics; public class MyFirstApplet extends Applet { public void paint(Graphics g) { g.drawString("Hello world!", 50, 25); } } To compile on a Unix system, type: javac MyFirstApplet.java Then to run it, embed a reference to it in a web page... CSE 341 -- S. Tanimoto Java Introduction
Web Page with Applet Tag <HTML><HEAD> <TITLE> A Simple Program </TITLE> </HEAD><BODY> <H1>So here is my first applet:<H2> <APPLET CODE=”MyFirstApplet.class” WIDTH=150 HEIGHT=25> </APPLET> </BODY></HTML> CSE 341 -- S. Tanimoto Java Introduction