Proxy Dinâmico em Java
O proxy dinâmico em Java permite estander funcionalidades de objetos sem modificar o código original. A essência está na implementação do mecanismo de proxy, que intercepta chamadas de métodos e adiciona lógica extra.
A seguir, um exemplo demonstrando a criação de um proxy dinâmico. Primeiro, defina uma enterface para o performer:
public interf ...
Publicado em 7-9 06:45
Criação e Layout de Memória de Objetos em Java
Instanciação de Objetos
1.1. Formas de Criação de Objetos
1. Uso do operador new
Esta é a abordagem mais frequente. Variantes incluem métodos estáticos de classes como Xxx ou fábricas como XxxBuilder/XxxFactory.
No JVM, ao executar new User(), ocorrem as seguintes etapas:
Verifica se existe uma referência simbólica para a classe na área de ...
Publicado em 6-26 18:30
Geração de Logs de Alterações em Atributos de Entidades usando Reflexão em Java
Em determinados cenários de desenvolvimento, é necessário registrar alterações realizadas em entidades para fins de auditoria. A técnica descrita a seguir utiliza reflexão para comparar os atributos de dois objetos (o estado anteriro e o novo estado) e gerar um registro das mudanças.
1. Definição da Anotação de Marcação
Criamos uma anotação cus ...
Publicado em 6-20 20:51
Implementação de Reflexão em Java
Conceito de Reflexão
O mecanismo de reflexão permite a inspeção e manipulação dinâmica de classes, métodos e atributos em tempo de execução no Java. Isso possibilita descobrir a estrutura de qualquer classe ou invocar métodos de objetos de forma genérica.
Funcionalidades da Reflexão
Identificar a classe de um objeto em tempo de execução
Criar ...
Publicado em 6-14 06:40
Gerenciamento de Permissões em Tempo de Execução no Android Usando Métodos grantRuntimePermission e revokeRuntimePermission
Objetivo
Obter permissões em tempo de execução como READ_PHONE_STATE sem interação direta do usuário, simulando a ação de conceder permissão através de código.
Análise e Abordagem
Para implementar essa funcionalidade, é necessário entender como o sistema Android gerencia permisões. A ideia é inspecionar o código-fonte do instalador de pacotes p ...
Publicado em 6-11 19:42
Reflexão em C# para Obter e Definir Valores de Campos de Tipos
A reflexão em C# permite a manipulação dinâmica de campos em tipos durante a execução do programa. Este recurso é útil para cenários como mapeamento de dados ou injeção de dependências. A seguir, demonstra-se como acessar e modificar campos públicos de uma classe usando a classe System.Reflection.FieldInfo.
Considere uma classe simples com camp ...
Publicado em 6-1 11:29