Play AlgoQuiz

Rate Us :

Share with Friends :


explicit :

It refers to something stated clearly and in detail, leaving no room for confusion or doubt.


pointer :

A pointer is a variable which contains the address in memory of another variable.


dereferencing operator :

The dereference operator or indirection operator, denoted by "*" (i.e. an asterisk), is a unary operator found in C-like languages that include pointer variables. It operates on a pointer variable.


efficiency :

It refers to the state or quality of achieving maximum productivity with minimum wasted effort or expense.


recognized :

It refers to identify (someone or something).


manipulate :

It refers to handle or control (a tool, mechanism, information, etc.) in a skilful manner.


multi-tasking :

It refers to execute more than one program or task simultaneously.


instance :

It refers to an example or single occurrence of something.


networking :

It refers to interact with others to exchange information and develop professional or social contacts.


protocols :

It refers to the official procedure or system of rules governing affairs of state or diplomatic occasions.


embedded :

It refers to fix (an object) firmly and deeply in a surrounding mass.

Features of Java :


Platform Independent


Object Oriented







Simple :

Java simplifies the programmers job by avoiding explicit memory management. Java provides automatic memory management (garbage collector), which remove memory which is not in use.

Note :

Memory Leak :

The memory reserved by program unable to use is know to be leaked from program. This leads to wastage of memory. Java simplifies the programming by avoiding pointers. There is no dereferencing operator in Java.


intermediate :

It refers to coming between two things in time, place, character, etc.


distribution :

It refers the way in which something is shared out among a group or spread over an area.

Platform Independent :

  • If the application's compiled code is able to run in another Operating system(OS) then that application is called platform independent application. The program which is compiled would not generate machine code.

  • When this program is compiled, it generates a intermediate language code (byte code) which doesn't have any instruction related to real machine Operating System(OS).

  • Byte code is generated to achieve platform independence. Platform independence is required for distribution of application.

  • It requires a software which is responsible to convert the intermediate language code (byte code) into machine code.

Portability :

Moving instructions written in one language from one operating environment to another operating environment is called portability. Portability allows to develop program irrespective of hardware. Java provides two types of portability :

  • Source Code Portability

  • Byte Code Portability

Architecture :

The behaviour of Java program doesn't change from one system to another system. JVM is a specification or set of rules which is common for all operating system.

Dynamic :

Loading or linking of programs are of two types :

  • Static Loading

  • Dynamic Loading

Static Loading :-

Loading of all executable blocks before executing program is called static loading. Disadvantage of it is that if a small change in a program occur then we have to recompile the entire program again. It requires more space which decreases efficiency of the program.

Dynamic Loading :-

Loading or linking of executable blocks during execution of program is called dynamic loading. The main advantage of dynamic loading is that if any small change occurs in one part of program then we doesn't required to recompile the entire program again.

Robust :

Java is a strongly typed language. It is having strict type checking during compile time and run time. The errors which are recognized by compiler are called syntax errors. The errors which are recognized by run time (JVM) are called logical errors.

Secure :

Pointers are not secured because it manipulate addresses. Java restrict pointer operations. There is no pointer arithmetic in Java. The pointer available in Java are called reference. These references doesn't manipulate addresses.

Multithreading :

Multithreading allows to develop a multi-tasking applications. A process is an instance of a program and simultaneous execution of multiple processes are called process based multi-tasking. A thread is a instance of a process or a process under simultaneous execution is called thread based multi-tasking.

Distributed :

It allows to develop networking application. It provides set of pre-defined protocols which allows to develop distributed applications.

Java Editors :-

  • JSE - Java Standard Edition (Web-Supportive Application)

  • JME - Java Micro Edition (Device-Supportive Application)

  • JEE - Java Enterprises Edition (Web-Supportive Application)

JSE (Java Standard Edition) :

It allows three types of applications :-

  • Standalone Application

  • Client-Server Application

  • Web-Supporting Application

Standalone Application :-

An application whose resources can't be shared by more than one user is called standalone application. These applications can be desktop applications or console based applications.

Client-Server Application :-

A client is a Java program which communicate with server(database). Applet is an embedded program which is embedded within HTML page(webpage). It is downloaded along with webpage & executed in client browser.

JME (Java Micro Edition) :

This is used for developing device application. The applications which are written using C & C++ can be developed with JME.

JEE (Java Enterprises Edition) :

Application resources are shared among 'n' number of clients. JEE consists of JDBC, JSP, Servlet, EJB, Spring, Hibernet, Struts, XML, Webservices all of which are called API(Application Programming Interface). An application whose resources shared by more than one client is called enterprise applications. Every intermediate application is called web-application.


MiniDoll :

MiniDoll is an application to learn with fun. You can play it to solve some tricky questions related to Java Programming. Either enjoy playing it alone or discuss with your friends to solve it. It is a simple approach to learn by solving questions. This application has different topics of Java and each topic is divided into three phases. Start solving from initial topic to final topic and by the end of every topic you can boost your concept of that topic.