java tutorial part 5

​Simple Program of Java

In this page, we will learn how to write the simple program of java. We can write a simple hello java program easily after installing the JDK.

To create a simple java program, you need to create a class that contains main method. Let’s understand the requirement first.

Requirement for Hello Java Example

For executing any java program, you need to

install the JDK if you don’t have installed it, download the JDK and install it.

set path of the jdk/bin directory. http://www.javatpoint.com/how-to-set-path-in-java

create the java program

compile and run the java program

Creating hello java example

Let’s create the hello java program:

class Simple{

public static void main(String args[]){

System.out.println( “Hello Java” );

}

}

Test it Now

save this file as Simple.java

To compile: javac Simple.java

To execute: java Simple

Output: Hello Java

Understanding first java program

Let’s see what is the meaning of class, public, static, void, main, String[], System.out.println().

class keyword is used to declare a class in java.

public keyword is an access modifier which represents visibility, it means it is visible to all.

static is a keyword, if we declare any method as static, it is known as static method. The core advantage of static method is that there is no need to create object to invoke the static method. The main method is executed by the JVM, so it doesn’t require to create object to invoke the main method. So it saves memory.

void is the return type of the method, it means it doesn’t return any value.

main represents startup of the program.

String[] args is used for command line argument. We will learn it later.

System.out.println() is used print statement. We will learn about the internal working of System.out.println statement later.

To write the simple program, open notepad by start menu -> All Programs -> Accessories -> notepad and write simple program as displayed below:

As displayed in the above diagram, write the simple program of java in notepad and saved it as Simple.java. To compile and run this program, you need to open command prompt by

start menu -> All Programs -> Accessories -> command prompt.

To compile and run the above program, go to your current directory first; my current directory is c:\new . Write here:

To compile: javac Simple.java

To execute: java Simple

How many ways can we write a java program

There are many ways to write a java program. The modifications that can be done in a java program are given below:

1) By changing sequence of the modifiers, method prototype is not changed.

Let’s see the simple code of main method.

static public void main(String args[])

2) subscript notation in java array can be used after type, before variable or after variable.

Let’s see the different codes to write the main method.

public static void main(String[] args)

public static void main(String []args)

public static void main(String args[])

3) You can provide var-args support to main method by passing 3 ellipses (dots)

Let’s see the simple code of using var-args in main method. We will learn about var-args later in Java New Features chapter.

public static void main(String… args)

4) Having semicolon at the end of class in java is optional.

Let’s see the simple code.

class A{

static public void main(String… args){

System.out.println( “hello java4” );

}

};

Valid java main method signature

public static void main(String[] args)

public static void main(String []args)

public static void main(String args[])

public static void main(String… args)

static public void main(String[] args)

public static final void main(String[] args)

final public static void main(String[] args)

final strictfp public static void main(String[] args)

Invalid java main method signature

public void main(String[] args)

static void main(String[] args)

public void static main(String[] args)

abstract public static void main(String[] args)

Resolving an error “javac is not recognized as an internal or external command” ?

If there occurs a problem like displayed in the below figure, you need to set path. Since DOS doesn’t know javac or java, we need to set path. Path is not required in such a case if you save your program inside the jdk/bin folder. But its good approach to set path.

java tutorial part 4

​C++ vs Java

There are many differences and similarities between C++ programming language and Java. A list of top differences between C++ and Java are given below:

Comparison Index

C++ Java

Platform-independent

C++ is platform-dependent.

Java is platform-independent.

Mainly used for

C++ is mainly used for system programming.

Java is mainly used for application programming. It is widely used in window, web-based, enterprise and mobile applications.

Goto C++ supports goto statement.

Java doesn’t support goto statement.

Multiple inheritance

C++ supports multiple inheritance.

Java doesn’t support multiple inheritance through class. It can be achieved by interfaces in java.

Operator Overloading

C++ supports operator overloading.

Java doesn’t support operator overloading.

Pointers C++ supports pointers. You can write pointer program in C++.

Java supports pointer internally. But you can’t write the pointer program in java. It means java has restricted pointer support in java.

Compiler and Interpreter

C++ uses compiler only.

Java uses compiler and interpreter both.

Call by Value and Call by reference

C++ supports both call by value and call by reference.

Java supports call by value only. There is no call by reference in java.

Structure and Union

C++ supports structures and unions.

Java doesn’t support structures and unions.

Thread Support C++ doesn’t have built-in support for threads. It relies on third-party libraries for thread support.

Java has built-in thread support.

Documentation comment

C++ doesn’t support documentation comment.

Java supports documentation comment (/** … */) to create documentation for java source code.

Virtual Keyword

C++ supports virtual keyword so that we can decide whether or not override a function.

Java has no virtual keyword. We can override all non-static methods by default. In other words, non-static methods are virtual by default.

unsigned right shift >>>

C++ doesn’t support >>> operator.

Java supports unsigned right shift >>> operator that fills zero at the top for the negative numbers. For positive numbers, it works same like >> operator.

Inheritance Tree

C++ creates a new inheritance tree always.

Java uses single inheritance tree always because all classes are the child of Object class in java. Object class is the root of inheritance tree in java.

java tutorial part 3

​Features of Java

There is given many features of java. They are also known as java buzzwords. The Java Features given below are simple and easy to understand.

1. Simple

2. Object-Oriented

3. Portable

4. Platform independent

5. Secured

6. Robust

7. Architecture neutral

8. Dynamic

9. Interpreted

10. High Performance

11. Multithreaded

12. Distributed

Simple

According to Sun, Java language is simple because:

syntax is based on C++ (so easier for programmers to learn it after C++).

removed many confusing and/or rarely-used features e.g., explicit pointers, operator overloading etc.

No need to remove unreferenced objects because there is Automatic Garbage Collection in java.

Object-oriented

Object-oriented means we organize our software as a combination of different types of objects that incorporates both data and behaviour.

Object-oriented programming(OOPs) is a methodology that simplify software development and maintenance by providing some rules.

Basic concepts of OOPs are:

1. Object

2. Class

3. Inheritance

4. Polymorphism

5. Abstraction

6. Encapsulation

Platform Independent

A platform is the hardware or software environment in which a program runs.

There are two types of platforms software-based and hardware-based. Java provides software-based platform.

The Java platform differs from most other platforms in the sense that it is a software-based platform that runs on the top of other hardware-based platforms. It has two components:

1. Runtime Environment

2. API(Application Programming Interface)

Java code can be run on multiple platforms e.g. Windows, Linux, Sun Solaris, Mac/OS etc. Java code is compiled by the compiler and converted into bytecode. This bytecode is a platform-independent code because it can be run on multiple platforms i.e. Write Once and Run Anywhere(WORA).

Secured

Java is secured because:

No explicit pointer

Java Programs run inside virtual machine sandbox

Classloader: adds security by separating the package for the classes of the local file system from those that are imported from network sources.

Bytecode Verifier: checks the code fragments for illegal code that can violate access right to objects.

Security Manager: determines what resources a class can access such as reading and writing to the local disk.

These security are provided by java language. Some security can also be provided by application developer through SSL, JAAS, Cryptography etc.

Robust

Robust simply means strong. Java uses strong memory management. There are lack of pointers that avoids security problem. There is automatic garbage collection in java. There is exception handling and type checking mechanism in java. All these points makes java robust.

Architecture-neutral

There is no implementation dependent features e.g. size of primitive types is fixed.

In C programming, int data type occupies 2 bytes of memory for 32-bit architecture and 4 bytes of memory for 64-bit architecture. But in java, it occupies 4 bytes of memory for both 32 and 64 bit architectures.

Portable

We may carry the java bytecode to any platform.

High-performance

Java is faster than traditional interpretation since byte code is “close” to native code still somewhat slower than a compiled language (e.g., C++)

Distributed

We can create distributed applications in java. RMI and EJB are used for creating distributed applications. We may access files by calling the methods from any machine on the internet.

Multi-threaded

A thread is like a separate program, executing concurrently. We can write Java programs that deal with many tasks at once by defining multiple threads. The main advantage of multi-threading is that it doesn’t occupy memory for each thread. It shares a common memory area. Threads are important for multi-media, Web applications etc.

Java tutorial part 2

​History of Java

Java history is interesting to know. The history of java starts from Green Team. Java team members (also known as Green Team), initiated a revolutionary task to develop a language for digital devices such as set-top boxes, televisions etc.

For the green team members, it was an advance concept at that time. But, it was suited for internet programming. Later, Java technology as incorporated by Netscape.

Currently, Java is used in internet programming, mobile devices, games, e-business solutions etc. There are given the major points that describes the history of java.

1) James Gosling , Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. The small team of sun engineers called Green Team.

2) Originally designed for small, embedded systems in electronic appliances like set-top boxes.

3) Firstly, it was called “Greentalk” by James Gosling and file extension was .gt.

4) After that, it was called Oak and was developed as a part of the Green project.

Why sun choosed “Oak” name?

5) Why Oak? Oak is a symbol of strength and choosen as a national tree of many countries like U.S.A., France, Germany, Romania etc.

6) In 1995, Oak was renamed as “Java” because it was already a trademark by Oak Technologies.

Why sun choosed “Java” name?

7) Why they choosed java name for java language? The team gathered to choose a new name. The suggested words were “dynamic”, “revolutionary”, “Silk”, “jolt”, “DNA” etc. They wanted something that reflected the essence of the technology: revolutionary, dynamic, lively, cool, unique, and easy to spell and fun to say.

According to James Gosling “Java was one of the top choices along with Silk “. Since java was so unique, most of the team members preferred java.

8) Java is an island of Indonesia where first coffee was produced (called java coffee).

9) Notice that Java is just a name not an acronym.

10) Originally developed by James Gosling at Sun Microsystems (which is now a subsidiary of Oracle Corporation) and released in 1995.

11) In 1995, Time magazine called Java one of the Ten Best Products of 1995 .

12) JDK 1.0 released in(January 23, 1996).

Java Version History

There are many java versions that has been released. Current stable release of Java is Java SE 8.

1. JDK Alpha and Beta (1995)

2. JDK 1.0 (23rd Jan, 1996)

3. JDK 1.1 (19th Feb, 1997)

4. J2SE 1.2 (8th Dec, 1998)

5. J2SE 1.3 (8th May, 2000)

6. J2SE 1.4 (6th Feb, 2002)

7. J2SE 5.0 (30th Sep, 2004)

8. Java SE 6 (11th Dec, 2006)

9. Java SE 7 (28th July, 2011)

10. Java SE 8 (18th March, 2014)

java tutorial part 1

​Java Tutorial

Java Tutorial or Core Java Tutorial or Java Programming Tutorial is a widely used robust technology. Let’s start learning of java from basic questions like what is java tutorial, core java, where it is used, what type of applications are created in java and why use java.

What is Java

Java is a programming language and a platform .

Java is a high level, robust, secured and object-oriented programming language.

Platform: Any hardware or software environment in which a program runs, is known as a platform. Since Java has its own runtime environment (JRE) and API, it is called platform.

Java Example

Let’s have a quick look at java programming example. A detailed description of hello java example is given in next page.

class Simple{

public static void main(String args[]){

System.out.println( “Hello Java” );

}

}

Test it Now

Where it is used?

According to Sun, 3 billion devices run java. There are many devices where java is currently used. Some of them are as follows:

1. Desktop Applications such as acrobat reader, media player, antivirus etc.

2. Web Applications such as irctc.co.in, javatpoint.com etc.

3. Enterprise Applications such as banking applications.

4. Mobile

5. Embedded System

6. Smart Card

7. Robotics

8. Games etc.

Types of Java Applications

There are mainly 4 type of applications that can be created using java programming:

1) Standalone Application

It is also known as desktop application or window-based application. An application that we need to install on every machine such as media player, antivirus etc. AWT and Swing are used in java for creating standalone applications.

2) Web Application

An application that runs on the server side and creates dynamic page, is called web application. Currently, servlet, jsp, struts, jsf etc. technologies are used for creating web applications in java.

3) Enterprise Application

An application that is distributed in nature, such as banking applications etc. It has the advantage of high level security, load balancing and clustering. In java, EJB is used for creating enterprise applications.

4) Mobile Application

An application that is created for mobile devices. Currently Android and Java ME are used for creating mobile applications.

java basic syntax

​Java – Basic Syntax

When we consider a Java program, it can be defined as a collection of objects that communicate via invoking each other’s methods. Let us now briefly look into what do class, object, methods, and instance variables mean.

Object − Objects have states and behaviors. Example: A dog has states – color, name, breed as well as behavior such as wagging their tail, barking, eating. An object is an instance of a class.

Class − A class can be defined as a template/blueprint that describes the behavior/state that the object of its type supports.

Methods − A method is basically a behavior. A class can contain many methods. It is in methods where the logics are written, data is manipulated and all the actions are executed.

Instance Variables − Each object has its unique set of instance variables. An object’s state is created by the values assigned to these instance variables.

Let us look at a simple code that will print the words Hello World .

public class MyFirstJavaProgram {

/* This is my first java program. * This will print ‘Hello World’ as the out */

public static void main ( String []args) {

System. out. println ( “Hello World” ); // pr

}

}

Let’s look at how to save the file, compile, and run the program. Please follow the subsequent steps −

Open notepad and add the code as above.

Save the file as: MyFirstJavaProgram.java.

Open a command prompt window and go to the directory where you saved the class. Assume it’s C:\.

Type ‘javac MyFirstJavaProgram.java’ and press enter to compile your code. If there are no errors in your code, the command prompt will take you to the next line (Assumption : The path variable is set).

Now, type ‘ java MyFirstJavaProgram ‘ to run your program.

You will be able to see ‘ Hello World ‘ printed on the window.

C:\> javac MyFirstJavaProgram.java C:\> java MyFirstJavaProgram Hello World

About Java programs, it is very important to keep in mind the following points.

Case Sensitivity − Java is case sensitive, which means identifier Hello and hello would have different meaning in Java.

Class Names − For all class names the first letter should be in Upper Case. If several words are used to form a name of the class, each inner word’s first letter should be in Upper Case.

Example: class MyFirstJavaClass

Method Names − All method names should start with a Lower Case letter. If several words are used to form the name of the method, then each inner word’s first letter should be in Upper Case.

Example: public void myMethodName()

Program File Name − Name of the program file should exactly match the class name.

When saving the file, you should save it using the class name (Remember Java is case sensitive) and append ‘.java’ to the end of the name (if the file name and the class name do not match, your program will not compile).

Example: Assume ‘MyFirstJavaProgram’ is the class name. Then the file should be saved as

‘MyFirstJavaProgram.java’

public static void main(String args[]) − Java program processing starts from the main() method which is a mandatory part of every Java program.

All Java components require names. Names used for classes, variables, and methods are called identifiers .

In Java, there are several points to remember about identifiers. They are as follows −

All identifiers should begin with a letter (A to Z or a to z), currency character ($) or an underscore (_).

After the first character, identifiers can have any combination of characters.

A key word cannot be used as an identifier.

Most importantly, identifiers are case sensitive.

Examples of legal identifiers: age, $salary, _value, __1_value.

Examples of illegal identifiers: 123abc, -salary.

Like other languages, it is possible to modify classes, methods, etc., by using modifiers. There are two categories of modifiers −

Access Modifiers − default, public , protected, private

Non-access Modifiers − final, abstract, strictfp

We will be looking into more details about modifiers in the next section.

Following are the types of variables in Java −

Local Variables

Class Variables (Static Variables)

Instance Variables (Non-static Variables)

Arrays are objects that store multiple variables of the same type. However, an array itself is an object on the heap. We will look into how to declare, construct, and initialize in the upcoming chapters.

Enums were introduced in Java 5.0. Enums restrict a variable to have one of only a few predefined values. The values in this enumerated list are called enums.

With the use of enums it is possible to reduce the number of bugs in your code.

For example, if we consider an application for a fresh juice shop, it would be possible to restrict the glass size to small, medium, and large. This would make sure that it would not allow anyone to order any size other than small, medium, or large.

class FreshJuice {

enum FreshJuiceSize{ SMALL , MEDIUM, LARGE }

FreshJuiceSize size;

}

public class FreshJuiceTest {

public static void main ( String args []) {

FreshJuice juice = new FreshJuice();

juice .size = FreshJuice. FreshJuiceSize.ME

System. out. println ( “Size: ” + juice . size

}

}

The above example will produce the following result −

Size: MEDIUM

Note − Enums can be declared as their own or inside a class. Methods, variables, constructors can be defined inside enums as well.

The following list shows the reserved words in Java. These reserved words may not be used as constant or variable or any other identifier names.

abstract assert boolean break

byte case catch char

class const continue default

do double else enum

extends final finally float

for goto if implements

import instanceof int interface

long native new package

private protected public return

short static strictfp super

switch synchronized this throw

throws transient try void

volatile while

Java supports single-line and multi-line comments very similar to C and C++. All characters available inside any comment are ignored by Java compiler.

public class MyFirstJavaProgram {

/* This is my first java program. * This will print ‘Hello World’ as the out * This is an example of multi-line comment */

public static void main ( String []args) {

// This is an example of single line com

/* This is also an example of single lin

System. out. println ( “Hello World” );

}

}

Hello World

A line containing only white space, possibly with a comment, is known as a blank line, and Java totally ignores it.

In Java, classes can be derived from classes. Basically, if you need to create a new class and here is already a class that has some of the code you require, then it is possible to derive your new class from the already existing code.

This concept allows you to reuse the fields and methods of the existing class without having to rewrite the code in a new class. In this scenario, the existing class is called the

superclass and the derived class is called the subclass.

In Java language, an interface can be defined as a contract between objects on how to communicate with each other. Interfaces play a vital role when it comes to the concept of inheritance.

An interface defines the methods, a deriving class (subclass) should use. But the implementation of the methods is totally up to the subclass.

The next section explains about Objects and classes in Java programming. At the end of the session, you will be able to get a clear picture as to what are objects and what are classes in Java.

Internal details of hello java program

Internal Details of Hello Java Program

In the previous page, we have learned about the first program, how to compile and how to run the first java program. Here, we are going to learn, what happens while compiling and running the java program. Moreover, we will see some question based on the first program.

What happens at compile time?

At compile time, java file is compiled by Java Compiler (It does not interact with OS) and converts the java code into bytecode.

compilation of simple java program


What happens at runtime?

At runtime, following steps are performed:
what happens at runtime when simple java program runs
Classloader: is the subsystem of JVM that is used to load class files.
Bytecode Verifier: checks the code fragments for illegal code that can violate access right to objects.
Interpreter: read bytecode stream then execute the instructions.


Q)Can you save a java source file by other name than the class name?

Yes, if the class is not public. It is explained in the figure given below:
how to save simple java program by another name
To compile: javac Hard.java
To execute: java Simple


Q)Can you have multiple classes in a java source file?

Yes, like the figure given below illustrates:
how to contain multiple class in simple java program

simple program of java

Simple Program of Java

In this page, we will learn how to write the simple program of java. We can write a simple hello java program easily after installing the JDK.

To create a simple java program, you need to create a class that contains main method. Let’s understand the requirement first.

Requirement for Hello Java Example

For executing any java program, you need to


Creating hello java example

Let’s create the hello java program:

  1. class Simple{  
  2.     public static void main(String args[]){  
  3.      System.out.println(“Hello Java”);  
  4.     }  
  5. }  

Test it Now

save this file as Simple.java


To compile: javac Simple.java
To execute: java Simple

Output:Hello Java

Understanding first java program

Let’s see what is the meaning of class, public, static, void, main, String[], System.out.println().

  • class keyword is used to declare a class in java.
  • public keyword is an access modifier which represents visibility, it means it is visible to all.
  • static is a keyword, if we declare any method as static, it is known as static method. The core advantage of static method is that there is no need to create object to invoke the static method. The main method is executed by the JVM, so it doesn’t require to create object to invoke the main method. So it saves memory.
  • void is the return type of the method, it means it doesn’t return any value.
  • main represents startup of the program.
  • String[] args is used for command line argument. We will learn it later.
  • System.out.println() is used print statement. We will learn about the internal working of System.out.println statement later.

To write the simple program, open notepad by start menu -> All Programs -> Accessories -> notepad and write simple program as displayed below:

simple program of java

As displayed in the above diagram, write the simple program of java in notepad and saved it as Simple.java. To compile and run this program, you need to open command prompt by start menu -> All Programs -> Accessories -> command prompt.



how to compile and run simple program of java


To compile and run the above program, go to your current directory first; my current directory is c:\new . Write here:
To compile: javac Simple.java
To execute: java Simple

How many ways can we write a java program

There are many ways to write a java program. The modifications that can be done in a java program are given below:

1) By changing sequence of the modifiers, method prototype is not changed.

Let’s see the simple code of main method.

  1. static public void main(String args[])  

2) subscript notation in java array can be used after type, before variable or after variable.

Let’s see the different codes to write the main method.

  1. public static void main(String[] args)  
  2. public static void main(String []args)  
  3. public static void main(String args[])  

3) You can provide var-args support to main method by passing 3 ellipses (dots)

Let’s see the simple code of using var-args in main method. We will learn about var-args later in Java New Features chapter.

  1. public static void main(String… args)  

4) Having semicolon at the end of class in java is optional.

Let’s see the simple code.

  1. class A{  
  2. static public void main(String… args){  
  3. System.out.println(“hello java4”);  
  4. }  
  5. };  

Valid java main method signature

  1. public static void main(String[] args)  
  2. public static void main(String []args)  
  3. public static void main(String args[])  
  4. public static void main(String… args)  
  5. static public void main(String[] args)  
  6. public static final void main(String[] args)  
  7. final public static void main(String[] args)  
  8. final strictfp public static void main(String[] args)  

Invalid java main method signature

  1. public void main(String[] args)  
  2. static void main(String[] args)  
  3. public void static main(String[] args)  
  4. abstract public static void main(String[] args)  

Resolving an error “javac is not recognized as an internal or external command” ?

If there occurs a problem like displayed in the below figure, you need to set path. Since DOS doesn’t know javac or java, we need to set path. Path is not required in such a case if you save your program inside the jdk/bin folder. But its good approach to set path. Click here for How to set path in java.

how to resolve the problem of simple program in java

c++ vs java

C++ vs Java

There are many differences and similarities between C++ programming language and Java. A list of top differences between C++ and Java are given below:

Comparison Index C++ Java
Platform-independent C++ is platform-dependent. Java is platform-independent.
Mainly used for C++ is mainly used for system programming. Java is mainly used for application programming. It is widely used in window, web-based, enterprise and mobile applications.
Goto C++ supports goto statement. Java doesn’t support goto statement.
Multiple inheritance C++ supports multiple inheritance. Java doesn’t support multiple inheritance through class. It can be achieved by interfaces in java.
Operator Overloading C++ supports operator overloading. Java doesn’t support operator overloading.
Pointers C++ supports pointers. You can write pointer program in C++. Java supports pointer internally. But you can’t write the pointer program in java. It means java has restricted pointer support in java.
Compiler and Interpreter C++ uses compiler only. Java uses compiler and interpreter both.
Call by Value and Call by reference C++ supports both call by value and call by reference. Java supports call by value only. There is no call by reference in java.
Structure and Union C++ supports structures and unions. Java doesn’t support structures and unions.
Thread Support C++ doesn’t have built-in support for threads. It relies on third-party libraries for thread support. Java has built-in thread support.
Documentation comment C++ doesn’t support documentation comment. Java supports documentation comment (/** … */) to create documentation for java source code.
Virtual Keyword C++ supports virtual keyword so that we can decide whether or not override a function. Java has no virtual keyword. We can override all non-static methods by default. In other words, non-static methods are virtual by default.
unsigned right shift >>> C++ doesn’t support >>> operator. Java supports unsigned right shift >>> operator that fills zero at the top for the negative numbers. For positive numbers, it works same like >> operator.
Inheritance Tree C++ creates a new inheritance tree always. Java uses single inheritance tree always because all classes are the child of Object class in java. Object class is the root of inheritance tree in java.

java features

Features of Java

There is given many features of java. They are also known as java buzzwords. The Java Features given below are simple and easy to understand.

Java Features

  1. Simple
  2. Object-Oriented
  3. Portable
  4. Platform independent
  5. Secured
  6. Robust
  7. Architecture neutral
  8. Dynamic
  9. Interpreted
  10. High Performance
  11. Multithreaded
  12. Distributed

Simple

According to Sun, Java language is simple because:
      syntax is based on C++ (so easier for programmers to learn it after C++).
      removed many confusing and/or rarely-used features e.g., explicit pointers, operator overloading etc.
      No need to remove unreferenced objects because there is Automatic Garbage Collection in java.

Object-oriented

Object-oriented means we organize our software as a combination of different types of objects that incorporates both data and behaviour.
Object-oriented programming(OOPs) is a methodology that simplify software development and maintenance by providing some rules.
Basic concepts of OOPs are:
  1. Object
  2. Class
  3. Inheritance
  4. Polymorphism
  5. Abstraction
  6. Encapsulation

Platform Independent

java is platform independent

A platform is the hardware or software environment in which a program runs.

There are two types of platforms software-based and hardware-based. Java provides software-based platform.

The Java platform differs from most other platforms in the sense that it is a software-based platform that runs on the top of other hardware-based platforms. It has two components:

  1. Runtime Environment
  2. API(Application Programming Interface)

Java code can be run on multiple platforms e.g. Windows, Linux, Sun Solaris, Mac/OS etc. Java code is compiled by the compiler and converted into bytecode. This bytecode is a platform-independent code because it can be run on multiple platforms i.e. Write Once and Run Anywhere(WORA).


Secured

Java is secured because:

  • No explicit pointer
  • Java Programs run inside virtual machine sandbox

how java is secured

  • Classloader: adds security by separating the package for the classes of the local file system from those that are imported from network sources.
  • Bytecode Verifier: checks the code fragments for illegal code that can violate access right to objects.
  • Security Manager: determines what resources a class can access such as reading and writing to the local disk.

These security are provided by java language. Some security can also be provided by application developer through SSL, JAAS, Cryptography etc.


Robust

Robust simply means strong. Java uses strong memory management. There are lack of pointers that avoids security problem. There is automatic garbage collection in java. There is exception handling and type checking mechanism in java. All these points makes java robust.


Architecture-neutral

There is no implementation dependent features e.g. size of primitive types is fixed.

In C programming, int data type occupies 2 bytes of memory for 32-bit architecture and 4 bytes of memory for 64-bit architecture. But in java, it occupies 4 bytes of memory for both 32 and 64 bit architectures.


Portable

We may carry the java bytecode to any platform.


High-performance

Java is faster than traditional interpretation since byte code is “close” to native code still somewhat slower than a compiled language (e.g., C++)

Distributed

We can create distributed applications in java. RMI and EJB are used for creating distributed applications. We may access files by calling the methods from any machine on the internet.

Multi-threaded

A thread is like a separate program, executing concurrently. We can write Java programs that deal with many tasks at once by defining multiple threads. The main advantage of multi-threading is that it doesn’t occupy memory for each thread. It shares a common memory area. Threads are important for multi-media, Web applications etc.