Session 1 Introduction to Java
Objectives
Explain the history of Java Explain Java in brief List the types of Java programs List Java Capabilities Differentiate between applets and applications Explain the Java Virtual Machine (JVM) List the features of some IDEs Examine the JDK and tools under it Analyze future trends and technologies Java Simplified / Session 1 / 2 of 32
Introduction to Java
Introduced in 1995 by Sun Microsystems Its objective was to develop a software for embedding in consumer electronic devices. Initially called „Oak‟ Internet s had problems of portability and platform independence. Java being secure, portable, and platform independent was found to be capable of addressing large scale problems across the Internet. Java Simplified / Session 1 / 3 of 32
What is Java?
An object-oriented programming language A cross platform language It is used to create stand-alone applications, net based programs and consumer devices programs.
Example : cellular phones, palm pilots
Java Simplified / Session 1 / 4 of 32
Java and the Internet
Programs on the net are either static or dynamic. Applets helps to develop dynamic programs. Applets run on a Java enabled web browser. Applets can respond to input and actions.
Java Simplified / Session 1 / 5 of 32
Security issues
An Applet has to be ed on the ‟s system before it can work.
This can be a potential risk for the ‟s system. Hence, applets are restricted from accessing all areas of the disk. Java Simplified / Session 1 / 6 of 32
Security issues Contd…
The control is exercised by the
JVM generates byte codes as a result of compilation Byte codes cannot be executed without the JVM
Java Simplified / Session 1 / 7 of 32
Features in Java2
Swing: new set of classes and interfaces used to create an advanced GUI Drag and Drop: interactively transfers information across different applications. Also transfers information interactively from one part of a program‟s interface to another.
Java Simplified / Session 1 / 8 of 32
Features in Java2 Contd…
Java 2D API: set of classes for advanced 2D graphics and imaging Java Sound: totally new set of features pertaining to Java‟s audio features RMI: Remote Method Invocation allows applications to call objects located at remote sites and communicate with them Java Simplified / Session 1 / 9 of 32
Types of Java Programs
Applets
Programs created specially to work with the Internet
Displays an image
GUI to accept input Java Simplified / Session 1 / 10 of 32
Types of Java Programs Contd…
Console applications
Java programs that run from a command prompt and do not display any GUI screen
Java Simplified / Session 1 / 11 of 32
Types of Java Programs Contd…
GUI Applications: Java programs that run stand-alone and accept input through a GUI based screen.
Java Simplified / Session 1 / 12 of 32
Types of Java Programs Contd…
Servlets
Suitable for web based n-tier application development
Client sends request which is processed by the server The server side APIs extend capabilities of standard APIs and are known as Servlets Also called server side applets Example – HTML form processing, processing databases and performing server side transactions Java Simplified / Session 1 / 13 of 32
Types of Java Programs Contd…
Packages
Class libraries in Java Programmers can create their own packages or use the built-in packages
java.awt, java.io and java.applet are some examples
Database applications
Uses JDBC API for database connectivity Programs can be either applets or application
Java Simplified / Session 1 / 14 of 32
What can we do with Java?
Create a wide variety of applications from a simple computation program to complex distributed application One can develop:
Colorful scrolling banner for web pages Interactive quizzes A program that plays audio, displays a banner and animates images at the same time Interactive games that can run as stand alone or be deployed on the web Java Simplified / Session 1 / 15 of 32
Difference between Applets and Applications Applets
Applications
Do not need a browser to execute
These run within JVM
Executed in a java compatible web browser Applets load and run on a Java-enabled web browser
Java Simplified / Session 1 / 16 of 32
Difference between Applets and Applications Contd… Applets
Applications
Manages its own flow of execution No restrictions about reading or writing from/to the local file system
Flow of execution is partly managed by the browser context Cannot read/write from/to the local file system
Java Simplified / Session 1 / 17 of 32
Similarities in Applets and Applications
Both need to use the standard Java class libraries Both can use the Abstract Windowing Toolkit (AWT)
Java Simplified / Session 1 / 18 of 32
Java Virtual Machine (JVM)
Has an interpreter component that enables communication between Java byte code and a computer‟s operating system Java code can run on any platform by using JVM JVM normally reads and executes Java statements one at a time JVM is responsible for platform independence and small size compiled code Recognizes only a particular binary format called a class file Java Simplified / Session 1 / 19 of 32
Visual Development Tools
Helps in quick and efficient development of Java applications and applets Simplifies the software development process Includes class browser for viewing and navigating through the class hierarchy Includes a source code editor that helps code programs
Java Simplified / Session 1 / 20 of 32
Some Visual Development Tools
Visual Age for Java from IBM
Borland Jbuilder from Borland/Inprise
Works with existing databases, applications and transactions
Includes an integrated editor, debugger, compiler, visual designer, wizards and sample applications
Forte for Java, Community Edition from Sun Microsystems
Integrated visual design, editing, compilation and debugging capabilities to create applets and applications Java Simplified / Session 1 / 21 of 32
Java Development Kit (JDK)
Contains the software and tools needed to compile, debug and execute applets and applications A set of command line tools Three major releases are:
Java 1.0 – first release Java 1.1 – 1997 release Java 1.4.2 – latest release
Freely available at Sun‟s official website Java Simplified / Session 1 / 22 of 32
Tools under JDK
javac: compiler used to compile Java source code
Syntax: javac [option] source Source files ends with an extension of .java
Options include:
-classpath -d -g -o -verbose Java Simplified / Session 1 / 23 of 32
Tools under JDK Contd…
java: interpreter used to execute Java byte codes
java [option] classname [arguments] Options can include
-classpath -Dname name -help -v or –verbose -X
Java Simplified / Session 1 / 24 of 32
Tools under JDK Contd…
appletviewer: Used to view and test applets
Syntax: appletviewer [options] url
javadoc: This is the Java documentation tool
Generates detailed documentation in HTML form for any .java source code or package
Java Simplified / Session 1 / 25 of 32
New Features of Java 1.4.2
Improved
Compiling Speeds Divisions of integers and floating point numbers
Provides to IE and Netscape for redirecting URLs New I/O Class added Few bugs have been removed in AWT
Java Simplified / Session 1 / 26 of 32
New Features of Java 1.4.2 Contd…
A new class to provide endless for mouse wheel scrolling. s the standard Microsoft Windows XP appearance as default when running on Windows XP platform. Indeterminate progress bars have been added. JTabbedPane displays a single, scrollable run of tabs. A spinner is a single line input field that lets the select a number or an object value from an ordered set.
Java Simplified / Session 1 / 27 of 32
Present Java Technologies
Creation and deployment of applications that can run on any operating system for distributed computing in the form of features such as RMI Database management in the form of JDBC Reusable software components in the form of JavaBeans
Java Simplified / Session 1 / 28 of 32
Present Java Technologies Contd…
Java 2 Enterprise Edition (J2EE) which includes:
Java Simplified / Session 1 / 29 of 32
Future trends
New products in the area of embedded technologies for consumer devices by making use of mobile computing. Miniature devices such as Palm pilots and mobile phones are equipped with a features such as email, gaming options and many others. They are based upon Java 2 Micro Edition (J2ME). Java Simplified / Session 1 / 30 of 32
Summary
Java was introduced by Sun Microsystems in 1995. Java is a programming language popularly used to build programs that can work on the Net. Its primary features are that it is object-oriented and a cross platform language. Swing, Drag and Drop, Java 2D API, Java Sound and RMI are some of the features added to the existing version of Java. A Java applet is designed to work in a pre-defined “sandbox” only. This makes it safe to be used on the Internet. Java bytecodes are machine language instructions understood by the Java Virtual Machine and usually generated as a result of compiling Java language source code. Java Simplified / Session 1 / 31 of 32
Summary Contd…
Java programs can be divided into following categories - applets, applications, GUI applications, servlets and database applications. Java visual development tools help to develop Java applications and applets more quickly and efficiently. The JDK contains the software and tools needed to compile, debug and execute applets and applications written in the Java language. It‟s basically a set of command-line tools. Enhancement in Swing, AWT, a new I/O class and so on has been added in the latest version of Java 1.4.2. The future will use a lot of Java related programs for consumer gadgets with embedded technologies. Java Simplified / Session 1 / 32 of 32