Java is a general-purpose, object-oriented programming language developed by Sun Microsystems of USA in 1991. Java was designed for the development of software for consumer electronic devices TVs, DVD players and such other electronic machines. Java a really simple, reliable, portable, and powerful language. The most striking feature of the language is that it is a Platform-Independent language. Java is the first programming language that is not tied to any particular hardware or operating system. Programs developed in Java can be executed anywhere on any system.
- Compiled and Interpreted
- Platform-Independent and Portable
Java is a simple language that can be learned easily, even if you have just started programming.
Java is a true Object Oriented language. Object-oriented programming is a programming methodology that helps to organize complex program. Almost everything in Java is an object. All program code and data reside within objects and classes.
Compiled and Interpreted
Usually a computer language is either compiled or interpreted. Java combines both these approaches thus making Java a two-stage system. First, Java compiler translates source code into what is known as bytecode instructions. Bytecodes are not machine instructions and therefore, in the second stage, Java interpreter generates machine code that can be directly executed by the machine that is running the Java program. We can thus say that Java is both a compiled and an interpreted language.
Platform-Independent and Portable
The most significant contribution of Java over other languages is its portability. Java programs can be easily moved from one computer system to another, anywhere and anytime. Changes and upgrades in operating systems, processors and system resources will not force any changes in Java programs. Java compiler generates bytecode instructions that can be implemented on any machine, this way to Java ensures portability.
Multithreading means handling multiple tasks simultaneously. Java supports multithreaded programs. This means that we need not wait for the application to finish one task before beginning another. For example when you watch a movie on your computer, one task of program is to handle sound effects and another handle screen display. So a simple program do many task simultaneously.