Here are the key differences:
Reserved words: These are words that have special meaning in Java like class, public, etc. They cannot be used as regular identifiers.
Modifiers: Modifiers like public, private, static etc. specify attributes of classes, methods and variables.
Package: A package is a namespace that organizes related classes and interfaces. It provides access protection.
Libraries: Libraries are pre-compiled classes that provide useful functionality that can be included in programs using import statements.
JVM version: The Java Virtual Machine version specifies the Java runtime environment. Programs need to be compatible with the JVM version.
JVM: The Java Virtual Machine is an abstract computing machine that
2. History
• In 1991, Java was developed by a team led by James Gosling and
Sun Microsystems for use in embedded chips.
• Sun microsystems was purchased by oracle (Oak) in 2010.
• Java, May 20, 1995, Sun World, redesigned for web applications.
• HotJava ( first Java-enabled Web browser )
5. Features of Java
• Java is simple
• Java is object-oriented
• Java is distributed
• Java is interpreted
• Java is robust
• Java is secure
• Java is portable
• Java’s performance
• Java is multithreaded
• Java has garbage
Collector
6. Java Features (1)
Simple
• fixes some clumsy features of C++
• no pointers
• automatic garbage collection
• rich pre-defined class library
Object oriented
• focus on the data (objects) and methods manipulating the data
• all functions are associated with objects
• almost all data types are objects (files, strings, etc.)
• potentially better code organization and reuse
7. Java Features (2)
Interpreted
• java compiler generate byte-codes, not native machine code
• the compiled byte-codes are platform-independent
• java bytecodes are translated on the fly to machine readable
instructions in runtime (Java Virtual Machine)
Portable
• same application runs on all platforms
• the sizes of the primitive data types are always the same
8. Java Features (3)
Reliable
• extensive compile-time and runtime error checking
• no pointers. Memory corruptions or unauthorized memory
accesses are impossible
• automatic garbage collection tracks objects usage over time
Secure
• usage in networked environments requires more security
• memory allocation model is a major defense
• access restrictions are forced (private, public)
9. Java Features (4)
Multithreaded
• multiple concurrent threads of executions can run
simultaneously
• utilizes a sophisticated set of synchronization primitives (based
on monitors and condition variables paradigm) to achieve this
10. Java Disadvantages
Slower than compiled language such as C
• an experiment in 1999 showed that Java was 3 or 4 times slower than C or C++
• title of the article: “Comparing Java vs. C/C++ Efficiency Issues to Interpersonal
Issues” (Lutz Prechelt)
• adequate for all but the most time-intensive programs
11. JDK Editions
• Java Standard Edition (J2SE)
J2SE can be used to develop client-side standalone applications or
applets.
• Java Enterprise Edition (J2EE)
J2EE can be used to develop server-side applications such as Java
servlets and Java ServerPages.
• Java Micro Edition (J2ME).
J2ME can be used to develop applications for mobile devices such as
cell phones.
12. Java Applet
• Java programs can be run from a Web browser. Such programs are
called applets. Applets employ a modern graphical interface with
buttons, text fields, text areas, radio buttons, and so on, to interact
with users on the Web and process their requests.
• You can use a Java development tool (e.g., NetBeans, Eclipse, and
Text Pad)—software that provides an integrated development
environment (IDE) for developing Java programs quickly.
14. Creating..Compiling .. Executing
Source Code
Create/Modify Source
Code
Bytecode
Run Byteode
i.e. java Welcome
Result
Compile Source Code
i.e. javac Welcome.java
If compilation errors
If runtime errors or
incorrect result
Java
Interpreter
on Windows
Java
Interpreter
on Sun Solaris
Java
Interpreter
on Linux
Bytecode
...
16. 1. // Your First Program
2. class HelloWorld
{
3. public static void
main(String[] args)
{
4.
System.out.println("Hello
, World!");
}
}
In line 1; In Java, any line starting
with // is a comment
In line 2; in the program, HelloWorld is
the name of the class, and the class
definition is: class helloworld
In line 3; This is the main method.
Every application in Java must contain
the main method. The Java compiler
starts executing the code from the
main method.
In line 4; The code above is a print
statement. It prints the text Hello,
World! to standard output (your
screen). The text inside the quotation
marks is called String in Java.
17. Anatomy of a Java Program
Comments:
In Java, comments are preceded by two slashes (//) in a line, or enclosed between
/* and */ in one or multiple lines. When the compiler sees //, it ignores all text after
// in the same line. When it sees /*, it scans for the next */ and ignores any text
between /* and */.
Package :
The second line in the program (package javaapplication1;) specifies a package
name, javaapplication1, for the class javaapplication1. It compiles the source code
in javaapplication1.java, generates javaapplication1.class, and stores
javaapplication1.class in the javaapplication1 folder.
18. Anatomy of a Java Program
Reserved words:
Reserved words or keywords are words that have a specific meaning to the
compiler and cannot be used for other purposes in the program. For example, when
the compiler sees the word class, it understands that the word after class is the
name for the class. Other reserved words are public, static, and voidetc.
Modifiers:
Java uses certain reserved words called modifiers that specify the properties of the
data, methods, and classes and how they can be used. Examples of modifiers are
public and static. Other modifiers are private, final, abstract, and protected. A
public datum, method, or class can be accessed by other programs through reserve
words
CE&ME, NUST
19. Anatomy of a Java Program
Statements:
A statement represents an action or a sequence of actions. The statement
System.out.println(“Hello Java world!") in the program in Example is a statement
to display the greeting " Hello Java world! “. Every statement in Java ends with a
semicolon (;).
Blocks:
A pair of braces in a program forms a block that groups components of aprogram.
public class JavaApplication1 {
public static void main(String[] args) {
System.out.println("Hello Java World !");
}
}
Class block
Meth
CE&ME, NUST
od block
The code above is a print statement. It prints the text Hello, World! to standard output (your screen). The text inside the quotation marks is called String in Java.
// This is a comment
System.out.println("Hello World");
/* The code below will print the words Hello World
to the screen, and it is amazing */
System.out.println("Hello World");