340 likes | 658 Views
Introduction to Java Programming. Contents. Java, etc. Java's Advantages Java's Disadvantages Types of Java Code Java Bytecodes Steps in Writing a Java Appl ication Steps in Writing a Java Applet. 1. Java , J 2 SE, JSDK, JDK, JRE. There are several 'Java' names:
E N D
Contents • Java, etc. • Java's Advantages • Java's Disadvantages • Types of Java Code • Java Bytecodes • Steps in Writing a Java Application • Steps in Writing a Java Applet
1. Java, J2SE, JSDK, JDK, JRE • There are several 'Java' names: • Java is the name of the language • Java 2 is the current version • the language + tools (e.g. compiler) is called J2SE, the Java 2 Standard Edition • J2SE 1.6.0. is the current version • its also known as J2SE 6.0 the same thing continued
JSDK • stands for "Java Software Development Kit • JDK is the old name for JSDK • don't be surprised to also see J2SDK or Java SDK continued
JSDK contains all the libraries (packages), compiler, and other tools for writing/running/debugging Java code. • JRE = "Java Runtime Environment" • a cut-down version of JSDK with only the packages/tools needed for running Java code • most often used by Web browsers
More New Names • Sun is trying to get people to drop the "2" from the Java platform names. • e.g. J2SE becomes Java Standard Edition, abbreviated as "Java SE" • not really popular, yet
2. Java’s Advantages • Productivity • object orientation • many standard libraries (packages) • Simpler/safer than C, C++ • no pointer arithmetic, has automatic garbage collection, has array bounds checking, etc. continued
GUI features • mostly located in the Swing and Abstract Windowing Toolkit (AWT) packages • Multimedia • 2D and 3D graphics, imaging, animations, audio, video, etc. continued
Network support • communication with other machines/apps • variety and standards: • sockets, RMI, CORBA • security, resource protection • Multithreading / concurrency • can run several ‘threads’ at once continued
Portablility / Platform Independence • “write once; run anywhere” • only one set of libraries to learn • J2SE is free continued
Good programming environments: • Eclipse, Blue J, JBuilder, NetBeans, Sun One Studio • do not use them when first learning Java • http://java.coe.psu.ac.th/Tool.html • Applets (and Java Web Start) eliminates the need for explicit software installation. continued
3. Java’s Disadvantages • Java/J2SE is still being developed • many changes between versions • Sun has not guaranteed backward compatibility of future versions of Java. • at the moment, when old-style code is compiled, the compiler gives a “deprecation” warning, but will still accept it continued
Java compilation/execution was slow, but ... • not any more: J2SE 1.5 is the same speed as C (perhaps a tiny bit slower for some things) • there are compilers to native code, but they destroy the “write one; run anywhere” idea • the first version of Java, back in 1995, was about 40 times slower than C continued
Slow Internet connections • makes it difficult (and irritating) to download medium/large size applets • e.g. GIF89a/flash files have replaced Java animations • Lots to learn • Java language (small) and Java libraries(very, very large) continued
4. Types of Java Code There are two kinds of Java code: 1. Java applications • ordinary programs; stand-alone • they don’t run inside a browser(but they can use Java’s GUI libraries) We will see examples in the next part. continued
2. Java applets • they run in a Web browser • they are attached to Web pages, so can be downloaded easily from anywhere • applets have access to browser features
5. Java Bytecodes • The Java compiler (javac) generates bytecodes • a set of instructions similar to machine code • not specific to any machine architecture • A class file (holding bytecodes) can be run on any machine which has a Java runtime environment.
The Bytecode Advantage Java runtime (Windows) javac (Windows) Java runtime (Mac) javac (Mac) Java code(.java file) Java bytecode(.class file) Java runtime (Linux) javac (Linux)
6. Steps in Writing a Java Application text file holding the application Foo.java javac Foo.java call the Java compiler class file holding Java bytecodes Foo.class execute the class usingthe Java runtime system(the JVM) java Foo
Hello.java import java.io.*;public class Hello { public static void main(String args[]) { System.out.println(“Hello Andrew”); }} // end of class
7. Steps in Writing a Java Applet AFoo.java text file holding the applet javac AFoo.java call the Java compiler class file holding Java bytecodes AFoo.html AFoo.class Web page that calls AFoo.class appletviewer AFoo.html execute the applet using the Java runtime system (the JVM)
Using a browser AFoo.html AFoo.class Web page that callsAFoo.class browser downloads Web pageand Java class For Java 2, the Java Plug-in is required, or use the Opera browser execute the applet usingthe Java runtime system(the JVM)
WelcomeApplet.java import javax.swing.JApplet;import java.awt.Graphics;public class WelcomeApplet extends JApplet { public void paint(Graphics g) { g.drawString(“Welcome Andrew”, 25,25); }}
WelcomeApplet.html <html><head><title>Applet Testing</title></head><body><applet code=“WelcomeApplet.class” width=300 height=30></applet></body></html>
Compile & Run $ javac WelcomeApplet.java$ appletviewer WelcomeApplet.html
Browser Execution • Microsoft IE and Netscape do not directly support Java 2. • A common solution is to use the Java plugin, available from Sun • a drawback is that it requires the Web page containing the applet to contain more complicated tags (and JavaScript code) so that the applet can run inside Netscape and Microsoft IE continued
A better solution is to use the Opera browser: • free from http://www.opera.com • it comes with JRE 1.5, the latest version of the Java Runtime Environment, or it can be linked to the JRE already on your machine • there is no need for a Java plugin • Opera is very fast, small-size, and supports many networking standards continued