Features of Java
Java is language is simple because it is based on C++ language. Java removed many confusing features of C++ like pointers, operator overloading.
Robust means strong. Java encourages error free programming by being strictly typed and performing run time checks.
Java is an object oriented programming language.
Some basic concepts of OOPS are:
Java compiler generates an architecture-neutral object file format, which makes the compiled code executable on many processors, with the presence of Java runtime system.
Java programs can execute in any environment for which there is a Java run time system (JVM). Java programs can be run on any platform.
Java programs can deal with many tasks at once using multi threads. A thread is like a seperate program, executing concurrently. Threads can share resources among each other, they do not take any extra memory and therefore they are fast.
Java programs on execution gets converted to bytecode, this bytecode can be interpreted on any platform.
As bytecode is highly optimized, JVM can execute them very fast.
Java is designed for the distributed environment of the internet.
Java programs carry with them substantial amounts of run-time type information that is used to verify and resolve accesses to objects at run time.
Java is secured because there is no concept of pointer so the address of any variables cannot be accessed. Also the java program uses sandbox model, i.e. programs from outside are only provide limited resources. We learn more about sandbox model in later section.
Java code can be run on multiple platforms e.g. Windows, Linux, Sun Solaris, Mac/OS etc. Java code is compiled by the compiler and converted into bytecode. This bytecode is a platform-independent code because it can be run on multiple platforms i.e. Write Once and Run Anywhere(WORA).