Lenguaje de programación orientado a objetos, pretende ser un lenguaje totalmente portable entre distintos ordenadores, gracias a que no se compila a código maquina,sino a un lenguaje intermedio que luego es interpretado por la "máquina virtual Java", que sí es específica de cada plataforma. Esto le da una velocidad ligeramente inferior a la de los programas realizados en otros lenguajes compilados.