Pular para conteúdo

Java

Esta trilha estuda os recursos de Java por meio de seus contratos e compromissos. Ela pressupõe familiaridade com classes, interfaces, métodos e fluxo de controle básico.

Sequência

  1. Programação orientada a objetos
  2. Princípios de design
  3. Padrões de design
  4. Coleções e tipos genéricos
  5. Igualdade, hashing e imutabilidade
  6. Exceções
  7. Streams
  8. JVM e coleta de lixo
  9. Testes e benchmarks
  10. Concorrência e paralelismo
  11. Técnicas práticas de engenharia

Especificação versus implementação

A Java Language Specification define o comportamento da linguagem; a Java Virtual Machine Specification define o modelo de arquivos de classe e da máquina virtual; e a documentação da API define os contratos das bibliotecas. Uma JVM específica pode otimizar o código de maneiras que preservem esses contratos observáveis. Não confunda um detalhe de implementação observado com uma garantia portável.

Os exemplos favorecem pequenos tipos de valor imutáveis, contratos de falha explícitos e interfaces nos limites. São escolhas padrão, não regras universais.