Los lenguajes de programación se clasifican en tres tipos principales: lenguajes de máquina, lenguajes de bajo nivel como ensambladores, y lenguajes de alto nivel. Los lenguajes de alto nivel son más fáciles de usar, portables entre sistemas, pero menos eficientes que los lenguajes de bajo nivel y máquina. Java es un lenguaje de programación orientado a objetos, interpretado, portable y de código abierto.