Intorduction

What is Java?

Java is a programming language and a computing platform for application development. It was first released by Sun Microsystem in 1995 and later acquired by Oracle Corporation. It is one of the most used programming languages. It concentrates on the core language, the use of which involves much more than understanding a list of simple keywords and syntax. Knowing how to use a language well requires more than the ability to spell correctly; the nuances come, instead, from word combinations. Java and English are similar in that they both have syntax, grammars, rules, and conventions — the core of any language.

What is Java Platform?

Java platform is a collection of programs that help to develop and run programs written in the Java programming language. Java platform includes an execution engine, a compiler, and a set of libraries. JAVA is platform-independent language. It is not specific to any processor or operating system.  To understand JAVA programming language, we need to understand some basic concept of how a computer program can run a command and execute the action. 

Features of Java Programming Language
  1. Java is platform independent
    Java was built with the philosophy of "write once, run anywhere" (WORA). The Java code (pure Java code and libraries) you write on one platform (operating system) will run on other platforms with no modification.
    To run Java, an abstract machine called Java Virtual Machine (JVM) is used. The JVM executes the Java bytecode. Then, the CPU executes the JVM. Since all JVMs works exactly the same, the same code works on other operating systems as well, making Java platform-independent.
  2. An object-oriented Language
    There are different styles of programming. Object-oriented approach is one of the popular programming styles. In object-oriented programming, a complex problem is divided into smaller sets by creating objects. This makes your code reusable, has design benefits, and makes code easier to maintain.
    Many programming languages including Java, Python, and C++ has object-oriented features. If you are serious about programming, you should definitely learn object-oriented style of programming.
  3. Java is fast
    The earlier versions of Java were criticized for being slow. However, things are completely different now. The new JVMs are significantly faster. And, the CPU that executes JVM are also getting more and more powerful.
    Now, Java is one of the fastest programming languages. Well optimized Java code is nearly as fast as lower level languages like C/C++, and much faster than Python, PHP etc.
  4. Java is secure
    The Java platform provides various features for security of Java applications. Some of the high-level features that Java handles are:
    - provides secure platform for developing and running applications
    - automatic memory management, reduces memory corruption and vulnerabilities
    - provides secure communication by protecting the integrity and privacy of data transmitted
  5. Large Standard Library
    One of the reasons why Java is widely used is because of the availability of huge standard library. The Java environment has hundreds of classes and methods under different packages to help software developers like us. For example,
    java.lang - for advanced features of strings, arrays etc.
    java.util - for data structures, regular expressions, date and time functions etc.
    java.io - for file i/o, exception handling etc.

Java Terminologies You Need to Know Before You Start 

Learning a new programming language can be challenging. You will hear a lot of new terms which can be overwhelming for a newbie. So, we have decided to explain a few terms that you are likely to hear in the world of Java programming language.

Java - Java is a set of technologies (programming language and computing platform) for creating and running software. However, Java is often used to refer Java programming language for simplicity.

Java programming language - A powerful, general-purpose, platform-independent, object-oriented programming language.

Java EE, Java ME and Java SE - Java EE, Java ME and Java SE stands for Java Platform Enterprise Edition, Micro Edition, and standard edition respectively.

Java EE is targeted for applications which run on servers. Java ME is targeted for resource limited devices like: embedded devices. And, Java SE is the basic Java environment used for creating standard programs.

If you are a java programming newbie, we recommend you to start with J2SE.

JVM - JVM (Java Virtual Machine) is an abstract machine that enables your computer to run a Java program.

JRE - JRE (Java Runtime Environment) contains JVM, supporting libraries, and other components to run a Java program. However, it doesn't contain any compiler and debugger.

JDK - JDK (Java Development Kit) contains JRE and tools such as compilers and debuggers for developing Java applications.