Java tutorial - Advantage, Where is java used in real world, platform independent language


Contents of page :
  • What is Java >
  • Advantages of java  >
  • java is capable of >
  • Where is java used in real world?
    • 1) Desktop/ standalone applications

    • 2) Web Application/ Server side application (Java EE/ J2EE )
    • 3) Mobile Application (Java ME/ J2ME)
  • Java is platform independent language >
    • How is java platform independent language?
    • So, can same JVM be used for different platforms?
    • Diagram to show java is platform independent >

What is Java >
Java technology is one the most widely used programming language.

We’ll  java from scratch with in depth coverage of topics, logic explanation and full programs. Once done with tutorials you can prepare for interview with real time questions and full programs. Happy learning...!!


Advantages of java  >
  • high level programming language,
  • object-oriented programming language,
  • robust,
  • scalable,
  • secured,
  • powerful,
  • high performance,
  • stable,
  • threaded,
  • dynamic,
  • easy to develop,
  • Java is platform independent language (see below for detailed explanation),

java is capable of >
  • handling large scale applications,
  • handling multi-tiered applications,
  • providing load balancing,
  • providing high Security and
  • providing clustered environment.


Where is java used in real world?


Java can be used for creating desktop applications. AWT(Abstract Window Toolkit) and Swings are used for developing desktop applications.

Example -
Eclipse and netbeans IDE has been developed in java.



2) Web Application/ Server side application (Java EE/ J2EE )
Java EE/ J2EE is a platform used for creating dynamic web applications which executes on server side.
Example -

For distributed applications like banking applications java is capable of
  • handling large scale applications,
  • handling multi-tiered applications,
  • providing load balancing,
  • providing high Security and
  • providing clustered environment.

EJB’s are used widely for creating enterprise applications and embedded systems.
Many banks like RBS, Bank of America, Deutsche are using enterprise applications.

3) Mobile Application (Java ME/ J2ME)
Java ME/ J2ME is a platform used for creating mobile applications. Java can be used for applications for small devices such as mobile phones.
Advantage >
  • code is small in size and
  • consumes less memory
Example >
Android OS has been developed on java. There are many popular android applications like whatsapp, angry birds and many more.
Many Nokia phone series (like S40, symbian OS) and windows mobile are totally java based phones. Applications like whatsapp and angry birds are available for these phones also.



Also Java is used these days in robotics, Big data softwares like Hadoop.  



Java is platform independent language >
How is java platform independent language?
Once source code (i.e. .java file) is compiled on one platform(bytecode is formed). That bytecode can be executed (interpreted) on any other platform running a JVM.

In short >
  • bytecode formed is platform independent.
  • Bytecode is interpreted by JVM, so to execute bytecode on different platform, all that we need is JVM installed on that platform.

Example - Once source code is compiled on windows platform(bytecode is formed). That bytecode can be executed (interpreted) on linux platform running a JVM.


So, can same JVM be used for different platforms?
No, same JVM cannot be used for different platforms. Every platform have different JVM implementation. From here you can download JVM for different platforms.
Example -
JVM for windows platform is different from JVM for linux platform.


Diagram to show java is platform independent >


/** Copyright (c), AnkitMittal JavaMadeSoEasy.com */

RELATED LINKS>
Setting JDK path in windows and linux >

Download and install JDK, Setting environment variables JAVA_HOME & JDK PATH temporarily and permanently in windows, What is a path? need to set PATH variable?


First java program using notepad and eclipse >

Writing and executing first java program through CMD in windows, Setting up ECLIPSE in java, Directory of .class file



Classes, objects, interface, abstract classes and constructors >

Classes and Objects in java - Class consist of blocks, constructor, variables, methods, inner classes and inner interfaces


Interface in java - Multiple inheritance, Marker interfaces, When to use interface practically, 12 features


Abstract class in java - When to use abstract class or interface practically, 10 features


Constructor in java - Constructor chaining, access modifiers with constructors, constructor overloading, exception thrown, constructors are not inherited



Access modifiers >

Access modifier /Access specifier in java - private, package-private(Default), protected and public - Diagram and tabular form



Method overloading and overriding >

Method overloading in java - in detail with programs,10 Features,need of method overloading, overloading main method, Diagram and tabular form of Implicit casting/promotion of primitive Data type


Method overriding in java - in detail with programs, 10 Features, need of method overriding, understanding @Override annotation, Covariant return, diagram to understand access modifiers


Naming conventions >

Source file naming rule in java - When source file consists of public class & non-public classes OR only non-public classes


Java naming conventions for interface, class, package, variable, reference variable to object, method, constant - using code comments in java



oops principle >

4 oops (object oriented programming system) concepts in java > Encapsulation, Abstraction, Inheritance, Polymorphism



4 java platforms >

Differences and relation between 4 Java Programming Language Platforms > Java SE/ J2SE - Standard Edition, Java EE/ J2EE - Enterprise Edition, Java ME/ J2ME - Micro Edition, JavaFX



Data types, operators, control flow statements >

Data Types


operators in detail with programs.

Control Flow Statements


Keywords in java >


JDK, JRE, JVM >

Labels: Core Java
eEdit
Must read for you :