java é uma das plataformas mais utilizadas no mundo para desenvolvimento de aplicações, além disso é uma das linguagens de programação mais utilizadas no mundo. a plataforma java entrega um ambiente completo de desenvolvimento e execução de programas, composta por:

  • a linguagem de programação java, uma linguagem de alto nível orientada a objetos;
  • JVM (java virtual machine), ambiente onde o código é executado;
  • JRE (java runtime environment), que agrega a máquina virtual e alguns outros recursos de execução de aplicações java;
  • JDK (java developer kit), conjunto de utilitários para o desenvolvimento de aplicações em java.

”java é uma linguagem de programação de propósito geral, concorrente, baseada em classes e orientada a objetos. projetada para ser simples o bastante para que a maioria dos programadores se torne fluente na linguagem”

Java: Guia do Programador, Peter Jandl Junior


plataformas java

uma plataforma java inclui a máquina virtual, compilador, bibliotecas e ferramentas.

java SE (standard edition)

integra os elementos padrão da plataforma, e é utilizada no desenvolvimento de aplicações de pequeno e médio porte, e servidores também. inclui todas as APIs de base, além da JVM.

jakarta EE (enterprise edition)

utilizada em aplicações corporativas complexas, que rodam em servidores. além das APIs de base e da JVM, traz bibliotecas e funcionalidades específicas para implementar software distribuído, com suporte a escalabilidade, segurança etc.


linguagem java

em java, os programas são escritos em arquivos com a extensão .java, em linguagem de alto nível. isso é o chamado código-fonte.

para que a máquina possa executar o código, o compilador irá transformar os arquivos .java em arquivos executáveis intermediários com a extensão .class.

os arquivos compilados contêm o código em bytecode, uma linguagem de baixo nível que é lida e executada pela JVM (java virtual machine).

características principais

java é uma linguagem robusta, que incentiva o controle de erros. usa tipos inteiros e ponto flutuante com aritmética compatível com o padrão IEEE 754, além de possuir suporte a UNICODE. possui mecanismos de reflexão, que determinam os tipos e informações dos objetos em uso em tempo de execução.

oferece suporte a tipos genéricos, anotações e expressões lambda. java é extensível dinamicamente e naturalmente voltada para a construção de aplicações em rede ou distribuídas.

orientação a objetos

aplica conceitos de abstração, encapsulamento e hereditariedade. praticamente tudo são classes, exceto os tipos primitivos de dados.

independência de plataforma

programas são compilados como bytecodes, uma forma intermediária de código que funciona como linguagem de máquina para a JVM, que é um interpretador de bytecode para a plataforma na qual a JVM é executada. como o código é executado na máquina virtual, ela pode ser portada para outras plataformas, como windows ou linux. “write once, run everywhere”.

concorrência

suporte para criação e uso de múltiplas threads, além do uso mais efetivo dos processadores multinúcleo.

segurança

possui mecanismos de segurança para evitar a alteração indesejada do código, que são flexíveis e capazes de minimizar riscos.

sem ponteiros

não permite manipular endereços de memória, nem exige que os objetos criados sejam explicitamente destruídos. a JVM inclui um automatic garbage collector.

performance

a JVM tem um compilador JIT (just in time), que converte os bytecodes em código nativo durante a carga do programa.


ambiente de desenvolvimento java

JDK (java developer kit)

conjunto de ferramentas e bibliotecas essenciais para o desenvolvimento de aplicações em java, composta por:

javac

compilador, responsável por transformar o código java em bytecode (a linguagem entendida pela JVM)

JVM (java virtual machine)

é a máquina virtual onde o java é executado. interpreta e executa o código gerado pelo compilador.

bibliotecas java

coleções de classes e interfaces pré-definidas que oferecem funcionalidades como conexão com banco de dados, manipulação de arquivos, e muito mais.

outros

outras ferramentas úteis, como o depurador jdb (java debugger), e o gerador de documentação javadoc (java documentation generator)

🔗 link para download: Java Downloads | Oracle Brasil

eclipse

eclipse é uma IDE (integrated development environment), ou seja, um software que oferece um ambiente para desenvolvimento de software com funcionalidades como editor de código, compilador, depurador, gerenciador de projetos etc. após a instalação, configurar a IDE para utilizar a JDK instalada: window > preferences > java > installed JREs

🔗 link para download: Eclipse Downloads | The Eclipse Foundation