chapter 1. java programming language overview

85
Java Programming Language Overview Bok, Jong Soon [email protected] www.javaexpert.co.kr

Upload: jong-soon-bok

Post on 15-Dec-2014

5.481 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Chapter 1. java programming language overview

Java Programming Language Overview

Bok, Jong [email protected]

www.javaexpert.co.kr

Page 2: Chapter 1. java programming language overview

What is Java Technology?

Is a programming language.Is a platform.

Page 3: Chapter 1. java programming language overview

Java Programming Language

Is one of today’s most popular software-development languages.Is used not only for Web programming, but also for developing standalone applications across platforms on servers, desktops, and mobile devices, even control the robotic rover that rolled on Mars.Is a high-level language.

Page 4: Chapter 1. java programming language overview

The Java PlatformPlatform : The hardware or software environment in which a program runs.Has two components:

The Java Virtual MachineThe Java Application Programming Interface (API)

From : [Java Pocket Guide], Robert Liguori ; Patricia Liguori, O’Reilly, 2008, 978-0-59-651419-8, p191

Page 5: Chapter 1. java programming language overview

The Java Platform (Cont.) - JRE

Java Runtime EnvironmentProvides the backbone for running Java application.Is a collection of software.Allows a computer system to run a Java application.Consists of

JVMs, Java Virtual Machines, interpret Java bytecode into machine code.Standard class librariesUser interface toolkitsA variety of utilities.

Page 6: Chapter 1. java programming language overview

The Java Platform (Cont.) - JDK

Java Development KitProvides all of the components and necessary resources to develop Java applications.Is a programming environment for compiling, debugging, and running Java applets, applications, and Java Beans.Includes the JRE, Java Programming language, development tools and tool APIs.Supports Linux, Solaris, and Microsoft Windows.Refer to http://java-virtual-machine.net/other.html

Page 7: Chapter 1. java programming language overview

The Java Platform (Cont.) - JDK

Java Development Kits Codename Release

Java SE 6 with JDK 1.6.0 Mustang 2006

Java 2 SE 5.0 with JDK 1.5.0 Tiger 2004

Java 2 SE with SDK 1.4.0 Merlin 2002

Java 2 SE with SDK 1.3 Kestrel 2000

Java 2 with SDK 1.2 Playground 1998Table 1-1. Java Development Kits

Download the most recent version at http://java.sun.comDownload older versions at http://java.sun.com/products/archive

Page 8: Chapter 1. java programming language overview

Java SE Code NamesVersion Code Name Release Date

JDK 1.1.4 Sparkler 1997. 10. 11

JDK 1.1.5 Pumpkin 1997. 11. 03

JDK 1.1.6 Abigail 1998. 04. 24

JDK 1.1.7 Brutus 1998. 09. 28

JDK 1.1.8 Chelsea 1999. 04. 08

J2SE 1.2 Playground 1998. 11 04

J2SE 1.2.1 (none) 1999. 03. 30

J2SE 1.2.2 Cricket 1999. 07. 08

J2SE 1.3 Kestrel 2000. 08. 05

J2SE 1.3.1 Ladybird 2001. 05. 17

J2SE 1.4.0 Merlin 2002. 02. 13

J2SE 1.4.1 Hopper 2002. 09. 16

J2SE 1.4.2 Mantis 2003. 06. 26

Java SE 5.0(1.5.0) Tiger 2004. 09. 29

Java SE 6.0(1.6.0) Mustang 2005. 11. 20

Java SE 7.0(1.7.0) Dolphin yet

Page 9: Chapter 1. java programming language overview

The Origin of the Java Programming Language

Originally named Oak, designed in 1991.Main team members : Bill Joy, Patrick Naughton, Mike Sheridan, James Gosling.Original goal : use in embedded consumer electronic appliances.In 1994, team realized Oak was perfect for Internet.In 1995, renamed Java, was redesigned for developing Internet applications.Announced in May 23 in 1995 at SunWorld’95.First non-beta release January 23 in 1996.Refer to http://java.sun.com/features/2000/06/time-line.htmlSee also http://java.sun.com/features/1998/05/birthday.html

Page 10: Chapter 1. java programming language overview

Java Language Features

• Simple• Object-Oriented• Distributed• Multithreaded• Dynamic

• Architecture neutral • Portable • High performance • Robust • Secure

• Write Once, Run AnywhereTM

• http://java.sun.com/docs/white/langenv/

Page 11: Chapter 1. java programming language overview

Figure 1.1 J2SE vs. J2EE vs. J2ME

Page 12: Chapter 1. java programming language overview

Figure 1.2 Java SE 6 Platform at a Glance

※ http://java.sun.com/javase/technologies/index.jsp

Page 13: Chapter 1. java programming language overview

Programming the First Java code

To write your first program, you need:The JavaTM 6 Platform, Standard Edition.

Download the JDK, not the JRE.Download API Specifications & Documentation.Consult the installation instructions .

A Text Editor. IDE (Integrated Development Environment) tools - Option

Page 14: Chapter 1. java programming language overview

Downloading JDK 6 Update 23 for Windows Platform

Connect to http://java.sun.com/

Page 15: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 16: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 17: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 18: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 19: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 20: Chapter 1. java programming language overview

Installing JDK 6

Page 21: Chapter 1. java programming language overview

Installing JDK 6 (Cont.)

Page 22: Chapter 1. java programming language overview

Installing JDK 6 (Cont.)

Page 23: Chapter 1. java programming language overview

Installing JDK 6 (Cont.)

Page 24: Chapter 1. java programming language overview

Installing JDK 6 (Cont.)

Page 25: Chapter 1. java programming language overview

Configuring JDK Environment

Page 26: Chapter 1. java programming language overview

Configuring JDK Environment (Cont.)

Page 27: Chapter 1. java programming language overview

Configuring JDK Environment (Cont.)

Page 28: Chapter 1. java programming language overview

Configuring JDK Environment (Cont.)

Page 29: Chapter 1. java programming language overview

Configuring JDK Environment (Cont.)

Page 30: Chapter 1. java programming language overview

Testing JDK Environment

Page 31: Chapter 1. java programming language overview

Testing JDK Environment (Cont.)Connect to http://java.com/ko/download/installed.jsp

Page 32: Chapter 1. java programming language overview

Downloading SDK DocumentationConnect to http://www.oracle.com/technetwork/java/javase/downloads/index.html

Page 33: Chapter 1. java programming language overview

Downloading SDK Documentation (Cont.)

Page 34: Chapter 1. java programming language overview

Downloading SDK Documentation (Cont.)

Page 35: Chapter 1. java programming language overview

Downloading SDK Documentation (Cont.)

Page 36: Chapter 1. java programming language overview

Unzipping SDK Documentation

Page 37: Chapter 1. java programming language overview

Moving SDK Documentation

Page 38: Chapter 1. java programming language overview

Registering SDK Documentation on Windows XP

Page 39: Chapter 1. java programming language overview

Registering SDK Documentation on Windows XP (Cont.)

Page 40: Chapter 1. java programming language overview

Registering SDK Documentation on Windows XP (Cont.)

Page 41: Chapter 1. java programming language overview

Registering SDK Documentation on Windows XP (Cont.)

Page 42: Chapter 1. java programming language overview

Downloading JDK 6 Update 23 for Linux Platform

Page 43: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 44: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 45: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 46: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 47: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 48: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 49: Chapter 1. java programming language overview

Downloading JDK 6 (Cont.)

Page 50: Chapter 1. java programming language overview

Installation JDK 6

Page 51: Chapter 1. java programming language overview

Installation JDK 6 (Cont.)

Page 52: Chapter 1. java programming language overview

Installation JDK 6 (Cont.)

Page 53: Chapter 1. java programming language overview

Moving JDK 6

Page 54: Chapter 1. java programming language overview

Configuration JDK 6 (Cont.)

Page 55: Chapter 1. java programming language overview

Configuration JDK 6 (Cont.)

Page 57: Chapter 1. java programming language overview

Text Editor

vi

Notepad

Page 58: Chapter 1. java programming language overview

Text Editor - UltraEdit

UltraEdit-32 v15.10 (http://www.ultraedit.com/) –shareware, 14.64MB

Page 59: Chapter 1. java programming language overview

Text Editor - AcroEdit

AcroEdit v0.9.20.92 – (http://www.acrosoft.pe.kr/) –Freeware, 4.08MB

Page 60: Chapter 1. java programming language overview

Text Editor - EditPlusEditPlus v3.11 – (http://www.editplus.com/) –Shareware, 1.00MB

Page 61: Chapter 1. java programming language overview

Java Text Editor - JavaEditor

Java-Editor v9.00 (http://lernen.bildung.hessen.de/informatik/javaeditor/index.htm )

Page 62: Chapter 1. java programming language overview

Java Text Editor – JCreator

JCreator Pro v4.50 (http://www.jcreator.com/)

Page 63: Chapter 1. java programming language overview

Java Text Editor - eclipseEclipse v3.5 (http://www.eclipse.org/)

Page 64: Chapter 1. java programming language overview

Java Text Editor - IntelliJIntelliJ IDEA 7.0 (http://www.jetbrains.com/)

Page 65: Chapter 1. java programming language overview

IDE Tools - NetBeans

NetBeans IDE 6.5 (http://www.netbeans.org/)

Page 66: Chapter 1. java programming language overview

IDE Tools - JBuilder

JBuilder 2008 (http://www.borland.com/)

Page 67: Chapter 1. java programming language overview

IDE Tools - JDeveloperJdeveloper 11g (http://www.oracle.com/technology/products/jdev/index.html/)

Page 68: Chapter 1. java programming language overview

Etc Tools

Code Warrior by Metrowerks : http://www.metrowerks.com TextPad Editor : http://www.textpad.comJEdit : http://www.jedit.orgJGrasp : http://www.jgrasp.orgBlueJ : http://www.bluej.orgDrJava : http://drjava.sourceforge.net

Page 69: Chapter 1. java programming language overview

Java Programming Development Process

Page 70: Chapter 1. java programming language overview

Java Programming Development Process (Cont.)

1. Create a source file2. Compile the source file into a bytecode file3. Run the program contained in the

bytecode file

Page 71: Chapter 1. java programming language overview

Creating a Source Code –HelloWorld.java

Page 72: Chapter 1. java programming language overview

Compiling the Source Code –HelloWorld.java

Java Compiler – javac.exe

Page 73: Chapter 1. java programming language overview

Interpreting the bytecode –HelloWorld.class

Java Interpreter – java.exe

Page 74: Chapter 1. java programming language overview

Command Line Tools

JDK provides several command-line tools.Commonly used tools is a compiler, launcher/interpreter, archiver, documenter.Refer to http://java.sun.com/javase/6/docs/technotes/tools

Page 75: Chapter 1. java programming language overview

Command Line Tools - CompilerTranslates Java source files into Java bytecode.Creates a bytecode file with the same name as the source file but with the .class extension.javac [-options] [source files]

javac HelloWorld.javajavac –cp ./dir/classes/ HelloWorld.javajavac –d ./opt/hwapp/classes HelloWorld.javajavac –source 1.4 HelloWorld.javajavac –versionjavac –help

Refer to http://www.javaexpert.co.kr/entry/22Refer to http://pllab.kw.ac.kr/j2seAPIs/tooldocs/windows/java.html

Page 76: Chapter 1. java programming language overview

Command Line Tools - InterpreterHandles the program execution, including launching the application.java [-options] class [arguments…] or java [-options] –jar jarfile [arguments…]

java HelloWorldjava –cp .:./dir/Classes HelloWorldjava –ea HelloWorldjava –versionjava –helpjavaw <classname>

Refer to http://javaexpert.co.kr/entry/23Refer to http://pllab.kw.ac.kr/j2seAPIs/tooldocs/windows/java.html

Page 77: Chapter 1. java programming language overview

Command Line Tools - PackagerJAR, Java Archive, utility is an archiving and compression tool.Used to combine multiple files into a single file called a JAR file.JAR consists of a ZIP archive containing a manifest file (JAR content describer) and optional signature files (for security).jar [options] [jar-file] [manifest-files] [entry-point] [-C dir] files…

jar cf files.jar HelloWorld.java kr/co/javaexpert/HelloWorld.classjar tfv files.jarjar xf files.jar

Refer to http://javaexpert.co.kr/entry/24Refer to http://pllab.kw.ac.kr/j2seAPIs/tooldocs/windows/jar.html

Page 78: Chapter 1. java programming language overview

Command Line Tools – JAR Execution

Can be created to be executable.Specifies the file within the JAR where the ‘main’ class resides.Refer to http://javaexpert.co.kr/entry/25

1. Compile .java file with package option.2. Create a file Manifest.txt using editor.3. Create a JAR file that adds the Manifest.txt contents

to the manifest file, MANIFEST.MF.4. Display the contents of the JAR file.5. Execute the JAR file using java –jar option.

Page 79: Chapter 1. java programming language overview

Applications: Text editor Browser

Operating system

Hardware

Figure 1.3. shows an examples of this basic communication.

Page 80: Chapter 1. java programming language overview

Applications: Text editor Browser

Operating system

Hardware

Other apps

Figure 1.4. Computer Communication Problem

Page 81: Chapter 1. java programming language overview

How Java Technology Solves the Communication Problem

Uses compiling and interpretation.A little slower than compiled programs, but runs on any operating system.Compiles source code to bytecode.Uses Java virtual machine (JVMTM), interprets bytecode.Uses a different JVM for every operating system.

Page 82: Chapter 1. java programming language overview

Applications: Text editor Browser

Operating system

Hardware

Java apps

JVMJVMApplets

Figure 1.5. How the JVM Interacts With the Operating System and Java Applets

Page 83: Chapter 1. java programming language overview

Java API Documentation

Detailed information APIVery valuable resource: download,or view online at:http://java.sun.com/javase/6/docs/api/index.html

Page 84: Chapter 1. java programming language overview

Figure 1.6. Java 2 Platform Specification, java.lang Package, Boolean Class

Page 85: Chapter 1. java programming language overview

Additional Resource

Java Technology : An Early Historyhttp://java.sun.com/features/1998/05/birthday.html

Java Technology In The Real Worldhttp://java.sun.com/nav/used/index.html