Java Efetivo Essencial - Criação de Objetos

불필요한 요구 사항 제거



Esta é uma série baseada no entendimento de tópicos relacionados ao livro com foco no resumo.

Iniciando os trabalhos...

O livro cita a importância de reutilização de objetos, especialmente quando um novo objeto tem a mesma função.
Além disso ele ressalta a importância da imutabilidade de objetos, pois isso facilita mais ainda a reutilização.
E para tomar como exemplo ele ele usa a classe String, que além de ser imutável é um ótimo exemplo de reutilização do nosso dia a dia.



//exemplo A
// Neste exemplo o Java irá verificar se já existe uma instância na memória com a mesma sequência de caracteres
String nomeA = "Paula";

//exemplo B
//Neste exemplo será criada uma nova instância em memória apesar de já termos uma instância com a mesma sequência de caracteres
String nomeB = new String("Paula");



코모?

Uma das formas de evitarmos a criação desnecessária de objetos seria através do uso de métodos static factory, no lugar de construtores em class imutáveis.
Apesar de podermos fazer isso em class mutáveis ​​precisamos 고려 사항 que elas podem sofrer alterações ao longo de sua utilização então poderia perder o propósito de ser reutilizada.
Se o objeto requer muito trabalho para ser criado vale thinkarmos armazená-lo em cache para facilitar seu uso.

상황에 맞게

예를 들어 Java를 사용하는 내부 사용자는 성능에 대한 평가를 받고 성능을 활용하기 위해 외부 부품을 사용합니다.
mas diria que outro que outro que é citado que acamos utilizando muito no dia dia é o uso de autoboxing .
Autoboxing 및 Autounboxing é o uso de primitivos com tipos primitivos empacotados.
Vamos ver um seguir의 예입니다.

오토박싱

// O código abaixo terá um problema de desempenho pois toda vez que a variável i que é primitiva for somada a variável soma que é um tipo primitivo empacotado, ou seja uma classe,é criada uma nova instância. 

Integer total = 1;
for (int i = 0; i < 100; i++) {
    total += i;
}

// O livro deixa claro que devemos sempre preferir o uso de primitivos e evitarmos o uso de autoboxing involuntário no nosso código.



카소스 파라 에비타르

O uso dessa abordagem em alguns deve ser avaliada, isso se aplica apenas em algumas situações, em especial construção de objetos complexos, como por exemplo em casos em pool de objetos. O livro até cita como example o pool de conexão com banco de dados, que no caso o custo de se obter esse objeto vale a sua reutilização, mas nem semper compensa reutilizarmos, devemos analisar situação a situação.

분석 quando 사용자

Outro ponto abordado é que esse item do livro vai de encontro com outro item que incentiva cópias defensivas, e ele explica que nesse cenário é Importante ter em mente que cópias defensivas evitam problemas através de bugs e falhas de segurança, enquanto a reutilização de instâncias tem como objetivo estilo e desempenho.O que faria o item de cópias defensivas ser mais Importante do que evitar a criação de objetos.

좋은 웹페이지 즐겨찾기