Java Programming Language | Basics and Developments


History of Java :                                   

James Gosling
             Java programing language was originally developed by Sun Microsystems.Java was started as a project called "Oak" by James Gosling in June 1991 and released in 1995 as core component of Sun Microsystems' Java platform (Java 1.0 [J2SE]).This language may be a general-purpose programing language that's class-based, object-oriented, and designed to possess as few implementation dependencies as possible.

             it's centered on importing the required packages to possess access to “Object” and “classes.” These objects have methods that do actions and fields that store data. Java is extremely fast, secure, and reliable language.It is intended to let application developers write once, run anywhere. it's centered on importing the required packages to possess access to “Object” and “classes.” These objects have methods that do actions and fields that store data. Java is extremely fast, secure, and reliable language.It is intended to let application developers write once, run anywhere.
    

Versions

  • JDK 1.0 (January 23, 1996)
  • JDK 1.1 (February 19, 1996)
  • J2SE 1.2 (December 8, 1998)
  • J2SE 1.3 (May 8, 2000)
  • J2SE 1.4 (February 6, 2002)
  • J2SE 5.0 (September 30, 2004)
  • Java SE 6 (December 11, 2006)
  • Java SE 7 (July 28, 2011)
  • Java SE 8 (March 18, 2014)
  • Java SE 9 (September 21, 2017)
  • Java SE 10 (March 20, 2018)
  • Java SE 11 (September 25, 2018)
  • Java SE 12 (March 19, 2019)
  • Java SE 13 (September 17, 2019)
  • Java SE 14 (March 17, 2020)


What is Java ?

        Java is a Object Oriented Programming Language(OOPs) similar to C++ high-level programming language and architecture neutral developed by Sun Microsystems. Java is that produces software for multiple platforms. When a programmer writes a Java application, the compiled code (known as bytecode) runs on most OS(Operating System), including Windows XP/7/8/10, Linux and Mac OS. 

Java Features 

  • Object Oriented :  Object Oriented programming is a programming style which is related to the concepts like class, object, Inheritance, Encapsulation, Abstraction, Polymorphism. In Java, everything is an Object. Java are often easily extended since it's supported the thing model.
  • Platform Independent : Java is platform independent.Unlike many other programming languages including C and C++, when Java is compiled converts the source code to bytecode, which is Intermidiate Language. Bytecode are often executed on any platform (OS) using Java Virtual Machine(JVM).
  • Simple :  Java is made easy to learn. If you understand the essential concept of OOP Java, then Java development can be easy.
  • Secure : Java is secure programming language,Because the java program convert into bytecode.
  • Architecture-Netural : Java is architecture neutral only because the JVM abstracts away the specifics of the particular machine where java code runs on.Java is written to be write once,run anywhere.The presence of Java runtime system with makes the compiled code executable on many processors.
  • Portable : Once Java is written and run, it becomes stronger in bat code. So that you can run that program on any device.
  • Robust : Java makes an attempt to eliminate error prone situations by emphasizing mainly on compile time error checking and runtime checking.
  • Multithreaded : A thread is actually a light-weight process. As is the multithreaded feature of Java, it is possible to write programs that perform multiple tasks simultaneously.
  • Interpreted :  The ASCII text file in Java program is compiled to byte code (instead of native machine language as we see in C/C++ or other languages),Because java is interpreted language. Java development process is more rapid,incremental and lightweight process.
  • High Performance : With the utilization of Just-In-Time compilers, Java enables high performance.
  • Distributed : Java is distributed because it facilitates users to make distributed applications in Java.It is designed for the distributed environment of the web .
  • Dynamic : Java is taken into account to be more dynamic than C or C++ since it's designed to adapt to an evolving environment.One example is runtime polymorphism which resolves actual object on which operation to perform at runtime.

OOPs (Object-Oriented Prgramming System)

  • Object : An object may be a software bundle of related state and behavior. Software objects are often wont to model the real-world objects that you simply find in lifestyle . This lesson explains how state and behavior are represented within an object, explains the advantages of designing your software during this manner and introduces the concept of knowledge encapsulation.
         Basic Syntax  - Example :

              public class NameOfClaas {
                 int x = 5;
              public static void main(String[] args) {
                             NameOfClaas Obj = new NameOfClaas();
                              System.out.println(Obj.x);
                       }
                 }

  • Class : A class may be a blueprint or prototype from which objects are created. This section defines a category that models the state and behavior of a real-world object. It intentionally focuses on the fundamentals , showing how even an easy class can cleanly model state and behavior.
         Basic Syntax - Example :
     
           public class Animal {
                      String a = Dog;
           }


  • Abstraction : Abstraction may be a process of hiding the implementation details and showing only functionality to the user. Abstraction helps in reducing programming complexity and energy . Abstraction is accomplished using Abstract classes, Abstract methods, and interfaces in Java programming language.
        Basic Syntax - Example :

         abstract class Animal {

         public abstract void animalVoice();
  
         public void sleep() {
         System.out.println("Zaazz..z...z..z.");
            }
         }
         class Dog extends Animal {
         public void animalVoice() {
   
         System.out.println("The Dog says: Bhaou Bhaou");
             }
          }

         class MainClass {
         public static void main(String[] args) {
         Dog d = new Dog(); 
         d.animalVoice();
         d.sleep();
               }
          }
  • Inheritance : Inheritance provides a strong and natural mechanism for organizing and structuring your software. This section explains how classes inherit state and behavior from their superclasses, and explains the thanks to derive one class from another using the simple syntax provided by the Java programming language .
        Basic Syntax - Example :

         class professor {
         String designation = "professor";
         String collegeName = "Institute of Technology";
         void does(){
 System.out.println("Teaching");
              }
         }

         public class JavaProgrammingLanguage extends professor{
         String mainSub = "Java";
         public static void main(String args[]){
 JavaProgrammingLanguage obj = new JavaProgrammingLanguage();
 System.out.println(obj.collegeName);
 System.out.println(obj.designation);
        System.out.println(obj.mainSub);
 obj.does();
             }
         }
  • Polymorphism : Polymorphism is a crucial Object oriented concept and widely utilized in Java.Polymorphism is that the ability of an object to require on many forms.There are two sorts of polymorphism in Java: compile-time polymorphism and runtime polymorphism. we will perform polymorphism in java by method overloading and method overriding.                                                  
         Basic Syntax - Example :

           class Neighbor { 
           void Print() 
             { 
System.out.println("Human class"); 
              } 
           } 
           class Dad extends Neighbor { 
           void Print() 
            { 
System.out.println("subclass1"); 
           } 
          } 
            class Son extends Neighbor { 
         void Print() 
         { 
           System.out.println("subclass2"); 
                } 
           } 
          class Polymorphism { 
         public static void main(String[] args) 
          { 
Neighbor a; 
a = new Dad(); 
a.Print(); 
a = new Son(); 
a.Print(); 
             } 
          } 

  • Encapsulation : Encapsulation is one among the four fundamental OOP concepts.Encapsulation simply means binding object state(fields) and behaviour(methods) together. Encapsulation may be a principle of wrapping data (variables) and code together as one unit. it's to form sure that "sensitive" data is hidden from users.
      Basic Syntax - Example :

       public class Encapsulate 
            { 
      private String Name; 
      private int Roll; 
      private int Age; 

         public int getAge() 
            { 
              return geekAge; 
            } 
         public String getName() 
            { 
              return Name; 
             } 
         public int getRoll() 
            { 
               return Roll; 
            } 
         public void setAge( int newAge) 
            { 
              Age = newAge; 
             } 

         public void setName(String newName) 
               { 
                  Name = newName; 
               } 

         public void setRoll( int newRoll) 
            { 
               Roll = newRoll; 
              } 
                } 
              public class MainEncapsulation 
                {  
         public static void main (String[] args) 
             { 
               Encapsulate obj = new Encapsulate(); 
               obj.setName("Sangeeta"); 
               obj.setAge(25); 
               obj.setRoll(26); 
               System.out.println("Name: " + obj.getName()); 
               System.out.println("Age: " + obj.getAge()); 
               System.out.println("Roll: " + obj.getRoll()); 

       // Direct access of Roll is not possible 
        // due to encapsulation 
       // System.out.println("roll: " + obj.Name);  
               } 
            } 

Java Frameworks 

           Framework is pre-written code that combines with your code to solve the problem.The framework is a re-usable design platform for software system,which provide support for code libraries and variuos scripting language. Java frameworks may include predefined classes and functions which can be used to process, input, and manage devices, also as interact with system appltication. this relies on the type of framework, the programmer’s skill level, what they’re trying to accomplish, and their own preferences. If you want to know about Java Web Framework, below are the 10 best Java Web Frameworks list.

Top 10 Java Frameworks 

  • Spring
  • Hibernate
  • Play
  • Google Web Toolkit(GWT)
  • Struts
  • Java Server Faces(JSF)
  • Grails
  • Vaadin
  • Blade
  • Dropwizard

Professional Full Stack Java Developer 

SkillsTools
Core JavaOOPs,Design Patterns,Abstract Classes,Interface,Serialization
ORMHibernate,Java Persistance API,EclipseLink,OpenJPA
Java Build ToolsMaven,Gradle
Web technologiesCSS,HTML,JQuery,JavaScript
Java Web FrameworksSpringMVC,Play,Java Server Faces
Application ContainersJBoss,Jetty,WebSphere,WebLogic
Java Testing ToolsJUnit,TestNG,Selenium
Big DataDBMS,Hadoop,SQL,JDBC
Java EE ComponentsServlets,Java Beans(EJB),Java Server Pages(JSP)
Code Version ControlGitHub


 Popular Java Editors Download - Click Here 

  • Notepade
     
Download : Click Here
  • Netbeans
Download : Click Here
  • Eclipse
Download : Click Here
  • MyEclipse
Download : Click Here
  • BlueJ
Download : Click Here
  • DrJava
Download : Click Here
  • jGRASP
Download : Click Here
  • JDeveloper
Download : Click Here
  • JSoure
Download : Click Here
  • JCreator
Download : Click Here
  • Intellij
Download : Click Here