An extensive built-in class library. Compilation code checking and interpretation, which allows for portability.
Programs runs inside the virtual machine sandbox .
Code checked for pathologies by bytecode verifier class loader security manager Dynamic Binding Even if libraries are recompiled, there is no need to recompile code that calls classes in those libraries since binding, i.e. the linking of variables and methods to where they are located, is done at runtime. Threading Lightweight processes, called threads, can easily be spun off to perform multi-processing. Great for multi-media. Built-in Networking Java was designed with networking in mind, it comes with many classes to program internet communications.