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.
Reference
이 문제에 관하여(Java Efetivo Essencial - Criação de Objetos), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/psanrosa13/java-efetivo--5bbc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)