Developed by James Gosling and Sun Microsystems with a list of several criteria in mind:
It should be "simple, object-oriented and familiar",
It should be "robust and secure",
It should be "architecture-neutral and portable",
It should execute with "high performance",
It should be "interpreted, threaded, and dynamic"
It was designed to run across all platforms without the need to be recompiled, and described with the phrase, “write once, run anywhere”.