Java is object oriented, platform independent, simple, secure, architectural–neutral, portable, robust, multi threaded, high performance, distributed and dynamic. It can be used to develop software and also applets. A java program can run on various operating systems without rewriting the code. And this is possible because of java run-time environment which tells the operating system what to do by interpreting the java code.