No more pointer arithmetic, Java has true arrays. Programmers can worry less about corrupting memory. This helps make Java Robust. The pointer model described above does not allow applications to gain access to object data structures to which they have no access. Combined with public-key encryption techniques, this helps the robustness and secureness of Java.
Networked environments contain lots of different types of equipment.
To build a system which can be used to develop code which runs on all of these, it's got to be both architecture neutral and portable. Java applets will run on anything which has a port of the Java engine. Once you've got this engine, it runs your applets by interpreting the bytescodes created by the Java compiler. Java is interpreted. Despite the interpreted nature of Java, Sun have built the bytecode system so as to gain as high a performance run-time system as possible.