Skip to Content
Livro de Receitas Java, 5ª Edição
book

Livro de Receitas Java, 5ª Edição

by Ian F. Darwin
March 2025
Intermediate to advanced
684 pages
16h 57m
Portuguese (Portugal, Brazil)
O'Reilly Media, Inc.
Book available
Content preview from Livro de Receitas Java, 5ª Edição

Capítulo 17. Reflexão, ou "Uma classe chamada classe"

Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com

17.0 Introdução

A classe java.lang.Class e o pacote de reflexão java.lang.reflect fornecem uma série de mecanismos para recolher informações da Máquina Virtual Java. Conhecidas coletivamente como reflexão, estas facilidades permitem-te carregar classes em tempo real, encontrar métodos e campos em classes, gerar listagens dos mesmos e invocar métodos em classes carregadas dinamicamente. Existe até um mecanismo que te permite construir uma classe a partir do zero (bem, na verdade, a partir de um array de bytes) enquanto o teu programa está a correr. Isto é o mais próximo que o Java te deixa chegar da magia, dos segredos internos da máquina Java.

A JVM em si é um grande programa, normalmente escrito em C e/ou C++, que implementa a abstração da Máquina Virtual Java. Podes obter o código fonte do OpenJDK e de outras JVMs através da Internet, e podes estudá-lo durante meses. Aqui concentramo-nos apenas em alguns aspectos, e apenas do ponto de vista de um programador que utiliza as facilidades da JVM, e não como funciona internamente; esse é um detalhe de implementação que pode variar de uma JVM de um fornecedor para outro.

Começarei com o carregamento dinâmico de uma classe existente, passarei a listar os campos e métodos de uma classe e a invocar métodos, e terminarei criando uma classe em tempo real usando um ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Otimizando o Java nativo da nuvem, 2ª edição

Otimizando o Java nativo da nuvem, 2ª edição

Benjamin J. Evans, James Gough
Aprende Java, 6ª edição

Aprende Java, 6ª edição

Marc Loy, Patrick Niemeyer, Daniel Leuck
Processamento de fluxo com o Apache Flink

Processamento de fluxo com o Apache Flink

Fabian Hueske, Vasiliki Kalavri

Publisher Resources

ISBN: 9798341637863Supplemental Content