Introdução
Neste artigo vou te explicar tudo que você precisa saber para começar aprender a programar em Java. Existem diversos conceitos que inicialmente podem parecer confusos para iniciantes, mas que na realidade são muito simples de serem entendidos. Vamos lá!
O que é Java
Java é uma das mais populares linguagens de programação, e é principalmente usada no desenvolvimento backend, no desenvolvimento de games, desktop e até mesmo mobile.
A primeira versão da linguagem foi lançada em 1995 pela empresa Sun Microsystems e se tornou muito popular devido a sua simplicidade, por poder ser utilizada em diversos ambientes e também por ser muito robusta. Ela foi criada com o conceito WORA(write once, run anywhere) o que significa que você pode escrever um programa utilizando o MS Windows por exemplo, e este pode ser executado em uma plataforma Unix ou Mac sem precisar de modificações.
Em 2010 a Sun Microsystems passava por dificuldades financeiras e foi comprada pela Oracle por US $7.4 bilhões.
Java é uma linguagem baseada em classes, com suporte ao paradigmas de orientação a objetos, funcional e procedural. Você já pode ter ouvido falar que Java é uma linguagem orientada a objetos, mas uma linguagem de programação possui características que dão suporte à programação orientada a objetos. Nem todo programa escrito em Java é orientado a objetos, pois é possível escrever um programa utilizando o paradigma procedural.
Principais Termos
Código Fonte
Código fonte é o código criado pelo programador. Este código deve ser compilado para que possa ser entendido pelo computador. No caso de Java, o código compilado é chamado de Bytecode. O exemplo abaixo demonstra o código fonte de um programa em Java.
public class MeuPrimeiroPrograma {
public static void main(String[] args) {
System.out.println("Meu primeiro programa");
}
}
Bytecode
Conforme mencionado acima, quando o código fonte Java é compilado, um código intermediário é gerado, que é chamado de Bytecode. Este código não é dependente de plataforma, podendo ser utilizado em diferentes sistemas operacionais e será interpretado pela máquina virtual Java(JVM – Java Virtual Machine) quando o programa for executado.
JVM – Java Virtual Machine
A JVM é o componente responsável por permitir que um programa escrito em Java possa ser executado em múltiplas plataformas. Ele interpreta o bytecode e gera a linguagem de máquina para a plataforma onde o programa está sendo executado. A figura abaixo demonstra este fluxo.
Existem diversas implementações da JVM que foram criadas por diferentes empresas, e elas podem ser de código aberto ou proprietárias. HotSpot é a implementação de referência mantida pela Oracle e que vamos utilizar nos próximos posts.
JRE – Java Runtime Environment
O JRE é um conjunto de componentes de software responsável por executar aplicações Java. O Java Runtime Environment é composto por uma máquina virtual(JVM), bibliotecas e um class loader. Ele é o que você precisar instalar no seu computador para executar aplicações Java.
JDK – Java Development Kit
JDK é o que você precisa instalar no seu computador para criar aplicações Java. Ele contém todas as ferramentas necessárias para compilar, depurar e executar aplicações. O kit de desenvolvimento Java já contém o JRE.
Diferenças entre JVM, JRE e JDK
| JVM | JRE | JDK |
| Converte o bytecode em linguagem de máquina | Responsável por executar aplicações Java. Contém a JVM | É um kit com todas as ferramentas necessárias para desenvolver aplicações Java. Contém a JVM e o JRE. |
Java SE x Java EE
Java Standard Edition(Java SE) é o núcleo principal da plataforma. Ele refere-se a especificação e de como programar utilizando a linguagem Java. Na maioria das vezes quando nos referimos a Java, estamos falando do Java SE.
Java Enterprise Edition(Java EE) fornece uma API que é tipicamente usada por grandes aplicações. É composto pelo Java SE, por servidores e bibliotecas para o desenvolvimento de grandes aplicações corporativas. Inicialmente vamos focar apenas no Java SE.
Conclusão
Neste post vimos o que é Java, alguns conceitos sobre sua plataforma, a máquina virtual(JVM), o ambiente de execução(JRE), o kit de desenvolvimento (JDK) e a diferença entre Java SE e Java EE. Também foi mostrado como um programa Java pode ser executado em diferentes sistemas operacionais sem a necessidade de alterar ou recompilar o programa. No próximo post vamos ver como instalar o JDK. Até lá!
Referências
- Java – Guia do Programador: Atualizado Para Java 16 – 4ª edição
- Java: Como Programar
- Especificação Java
