Logo Lu
Ver ofertas para minha região

Informações do Produto

Livro - Java efetivo
SumárioApresentação ................................................................................. xiPrefácio ........................................................................................xiiiAgradecimentos .......................................................................... xvii1 Introdução ............................................................................12 Criar e Destruir Objetos ....................................................5Item 1: Considere os métodos static factory em vez dos construtores .............. 5Item 2: Cogite o uso de um builder quando se deparar com muitosparâmetros no construtor ..................................................................... 10Item 3: Implemente a propriedade de um singleton com um construtorprivado ou um tipo enum ......................................................................18Item 4: Implemente a não instanciação através de construtores privados ...... 20Item 5: Dê preferência à injeção de dependência para integrar recursos ........ 21Item 6: Evite a criação de objetos desnecessários ........................................... 24Item 7: Elimine referências obsoletas de objetos ............................................. 28Item 8: Evite o uso dos finalizadores e dos cleaners ........................................31Item 9: Prefira o uso do try-with-resources ao try-finally .......................... 373 Métodos Comuns para Todos os Objetos .........................41Item 10: Obedeça ao contrato geral ao sobrescrever o equals .........................41Item 11: Sobrescreva sempre o método hashCode ao sobrescrevero método equals ................................................................................. 54Item 12: Sobrescreva sempre o toString ........................................................ 60Item 13: Sobrescreva o clone de modo sensato ............................................... 63Item 14: Pense na possibilidade de implementar a Comparable ...................... 724 Classes e Interfaces ............................................................79Item 15: Reduza ao mínimo a acessibilidade das classes e deseus membros ..................................................................................... 79viii JAVA EFETIVOItem 16: Use os métodos getters em classes públicas e não oscampos públicos ................................................................................. 84Item 17: Reduza a mutabilidade das classes ao mínimo ................................. 86Item 18: Prefira a composição à herança ......................................................... 94Item 19: Projete e documente as classes para a herança ou a iniba ............... 100Item 20: Prefira as interfaces em vez das classes abstratas .......................... 106Item 21: Projete as interfaces para a posteridade ...........................................112Item 22: Use as interfaces somente para definir tipos ...................................114Item 23: Dê preferência às hierarquias de classes em vez dasclasses tagged ...................................................................................116Item 24: Prefira as classes membro estáticas às não estáticas .......................119Item 25: Limite os arquivos fonte a uma única classe de nível superior ....... 1235 Genéricos ..........................................................................125Item 26: Não use tipos brutos ........................................................................ 125Item 27: Elimine as advertências não verificadas ..........................................131Item 28: Prefira as listas aos arrays ............................................................... 134Item 29: Priorize os tipos genéricos ...............................................................138Item 30: Priorize os métodos genéricos ..........................................................143Item 31: Use os wildcards limitados para aumentar a flexibilidadeda API ...............................................................................................147Item 32: Seja criterioso ao combinar os genéricos com os varargs ............... 154Item 33: Pense na possibilidade de usar contêineresheterogêneos typesafe .......................................................................1606 Enums e Anotações ..........................................................167Item 34: Use enums em vez de constantes int ...............................................167Item 35: Use os campos de instância em vez dos valores ordinais ................178Item 36: Use a classe EnumSet em vez dos campos de bits ............................179Item 37: Use EnumMap em vez da indexação ordinal ......................................181Item 38: Emule enums extensíveis por meio de interfaces .............................186Item 39: Prefira as anotações aos padrões de nomenclatura ......................... 190Item 40: Use a anotação Override com frequência ....................................... 199Item 41: Use as interfaces marcadoras para definir tipos ............................. 2017 Lambdas e Streams ..........................................................205Item 42: Prefira os lambdas às classes anônimas .......................................... 205Item 43: Dê preferência às referências para métodos em vezdos lambdas ..................................................................................... 209Item 44: Prefira o uso das interfaces funcionais padrão ................................211Item 45: Seja criterioso ao utilizar as streams ................................................216Item 46: Dê preferência às funções sem efeitos colaterais nas streams ........ 224Item 47: Dê preferência à Collection como um tipo de retorno em vezda Stream ......................................................................................... 230Item 48: Tenha cuidado ao fazer streams paralelas ....................................... 2368 Métodos .............................................................................241Item 49: Verifique a validade dos parâmetros ................................................241Item 50: Faça cópias defensivas quando necessário ...................................... 245Item 51: Projete as assinaturas de método com cuidado ............................... 249Item 52: Utilize a sobrecarga com critério .................................................... 252Item 53: Use os varargs com sabedoria ......................................................... 259Item 54: Retorne coleções ou arrays vazios, em vez de nulos ...................... 262Item 55: Seja criterioso ao retornar opcionais ............................................... 264Item 56: Escreva comentários de documentação para todos oselementos da API exposta ............................................................... 2699 Programação Geral ..........................................................279Item 57: Minimize o escopo das variáveis locais .......................................... 279Item 58: Dê preferência aos loops for-each em vez dostradicionais loops for ...................................................................... 282Item 59: Conheça e utilize as bibliotecas ...................................................... 285Item 60: Evite o float e o double caso sejam necessáriasrespostas exatas ............................................................................... 289Item 61: Dê preferência aos tipos primitivos em vez dos tiposprimitivos empacotados ....................................................................291Item 62: Evite as strings onde outros tipos forem mais adequados .............. 295Item 63: Cuidado com o desempenho da concatenação de strings ............... 298Item 64: Referencie os objetos através das interfaces deles .......................... 299Item 65: Dê preferência às interfaces em vez da reflexão ..............................301Item 66: Utilize os métodos nativos com sabedoria ...................................... 305Item 67: Seja criterioso ao otimizar ............................................................... 306Item 68: Adote as convenções de nomenclatura geralmente aceitas ..............31010 Exceções ............................................................................315Item 69: Utilize as exceções somente em circunstâncias excepcionais .........315Item 70: Utilize as exceções verificadas para condições recuperáveise exceções de runtime para erros de programação ..........................318Item 71: Evite o uso desnecessário das exceções verificadas ....................... 320Item 72: Priorize o uso das exceções padrões ............................................... 323Item 73: Lance exceções adequadas para a abstração ................................... 325Item 74: Documente todas as exceções lançadas por cada método ................. 327Item 75: Inclua as informações a respeito das capturas de falhasnos detalhes da mensagem ............................................................... 329Item 76: Empenhe-se para obter a atomicidade de falha ................................331Item 77: Não ignore as exceções .....................................................................33311 Concorrência ....................................................................335Item 78: Sincronize o acesso aos dados mutáveis compartilhados ......................335Item 79: Evite a sincronização excessiva ....................................................... 340Item 80: Dê preferência aos executores, às tarefas e às streams emvez das threads ................................................................................ 347Item 81: Prefira os utilitários de concorrência ao wait e ao notify ............. 349Item 82: Documente a thread safety ...............................................................355Item 83: Utilize a inicialização preguiçosa com parcimônia .........................358Item 84: Não dependa do agendador de threads .............................................36112 Serialização .......................................................................365Item 85: Prefira alternativas à serialização Java ........................................... 365Item 86: Tenha cautela ao implementar a Serializable ............................... 369Item 87: Pense na possibilidade de usar uma forma serializadacustomizada ..................................................................................... 373Item 88: Escreva métodos readObject defensivamente ................................ 380Item 89: Dê preferência aos tipos enum em vez do readResolvepara controle de instância ................................................................ 385Item 90: Pense em usar proxies de serialização em vez deinstâncias serializadas ..................................................................... 39013 Itens Correspondentes aos Itens da Segunda Edição ....39514 Referências ........................................................................39915 Índice .................................................................................405
Informações técnicas
EditoraAlta Books
TítuloJava efetivo
Subtítuloas melhores práticas para a plataforma Java
Autor
Bloch, Joshua, Ravaglia, Cibelle Roberta Marques
Ficha técnica
Número de páginas432
Edição3
Data de publicação28.05.2019
IdiomaPortuguês
Código do produto
01 - 9788550804620 ISBN-10 - 8550804622 GTIN-13 - 9788550804620 ISBN-13 - 9788550804620
Peso aproximado
Peso do produto656.0 gramas.
Dimensões do produto
Produto(L x A x P): 17.0 x 24.0 x 22.0 cm.
Informações complementares
GêneroPortuguês
ISBN-108550804622
ISBN-139788550804620

Seja o primeiro a avaliar esse produto

Esse produto ainda não tem avaliação

Formas de pagamento

Cartão Luiza
(Produto + Frete)

Numero de parcelas

Total
R$ 83,99

sem juros

02x de R$ 42,00

sem juros

R$ 83,99
03x de R$ 29,24*R$ 87,73
04x de R$ 22,13*R$ 88,51
05x de R$ 17,86*R$ 89,30
06x de R$ 15,01*R$ 90,09
07x de R$ 12,98*R$ 90,88
08x de R$ 11,46*R$ 91,68
09x de R$ 10,28*R$ 92,48
10x de R$ 9,33*R$ 93,31
11x de R$ 8,56*R$ 94,13
12x de R$ 7,91*R$ 94,90

*Juros: Todos os encargos da operação, como juros, custo de parcelamento e outras tarifas estão incluídas neste valor.

Cartão de crédito
(Produto + Frete)

Numero de parcelas

Total
R$ 83,99

sem juros

02x de R$ 42,00

sem juros

R$ 83,99
03x de R$ 29,12

com juros

R$ 87,35
04x de R$ 22,05

com juros

R$ 88,21
05x de R$ 17,81

com juros

R$ 89,07
06x de R$ 14,99

com juros

R$ 89,94
07x de R$ 12,97

com juros

R$ 90,81
08x de R$ 11,46

com juros

R$ 91,68
09x de R$ 10,29

com juros

R$ 92,57
10x de R$ 9,35

com juros

R$ 93,45
11x de R$ 8,19

com juros

R$ 90,11
12x de R$ 7,94

com juros

R$ 95,25
Pix
R$ 83,99

No PIX, com o código que será gerado na finalização da sua compra.

Boleto bancário
R$ 83,99

No boleto bancário, que será gerado na finalização da sua compra.

Livro - Java efetivo

Código ca8ad4b4e8Alta Books
Imagem de Livro - Java efetivo
Imagem de Livro - Java efetivo

a sua compra, do pedido à entrega.

em até 7 dias depois de receber o produto.

Vendido por

Entregue por

Informações da loja parceira

Leitura Kennedy

Leitura Kennedy

Lojista Magalu desde 2024

4.74.7

Ruim

Ótimo

+100

Produtos vendidos

Entrega

No prazo

Atendimento

Responde rápido


Saiba como foi calculada essa nota

A nota de reputação refere-se a vários critérios na experiência de compra oferecida aos clientes. Saiba o que levamos a consideração.

Pedidos entregues no prazo

Pedidos que foram despachados e entregues no prazo previsto.

Cancelamentos

Total de cancelamentos de pedidos solicitados pelos clientes ou por essa loja por diferentes motivos: falta de peças, produto com avarias, produto diferente ou pelo recebimento fora do prazo.

Agilidade no atendimento

Avalia o tempo que a loja leva para responder aos clientes nos canais de atendimento: Protocolo, Chat com o Cliente e Perguntas e Respostas


Este produto é vendido por um lojista parceiro e o Magalu garante a entrega. Nossos parceiros são selecionados e avaliados por critérios de excelência no serviço. Certificamos as vendas com nota fiscal e garantimos produtos originais. Se tem no Magalu, tá garantido!

Ver mais produtos da loja

CNPJ

43.563.363/0001-48

Razão Social

Leitura

Endereço

Avenida Sargento Herminio Sampaio, 3100

Presidente Kennedy - Fortaleza/CE

60355-512

O Magalu garante a sua compra, do pedido à entrega.

Produto vendido por uma loja parceira e entregue pelo Magalu.

Este produto é vendido por um lojista parceiro, e o Magalu garante e faz a entrega até o seu destino!

Todos os nossos parceiros são selecionados e avaliados, de tempos em tempos, por critérios de excelência no serviço e satisfação dos clientes.

Além disso, certificamos as vendas com nota fiscal, e garantimos a procedência de produtos originais. Se tem no Magalu, tá garantido! Pode confiar!

R$ 122,00

R$ 83,99 em 2x de R$ 42,00 sem juros

ou R$ 83,99

no Pix

Livro - Java efetivo

R$ 83,99 no Pix
ou 2x de R$ 42,00 no cartão

Voltar ao topoDescrição CompletaAvaliação dos ClientesFormas de Pagamento

Informações da Loja

Leitura Kennedy

Leitura Kennedy

Lojista Magalu desde 2024

4.74.7

Ruim

Ótimo

+100

Produtos vendidos

Entrega

No prazo

Atendimento

Responde rápido

Ver mais informações da loja

Entrega e compra garantida

Produto vendido por loja parceira e entregue pelo Magalu

O Magalu se responsabiliza pela entrega dos produtos de parceiros até o

destino final.

As vendas são

certificadas

com nota fiscal e garantimos a procedência de produtos originais.

Os parceiros são selecionados e

 avaliados

 regularmente portal

 excelência no serviço

 e reputação com os clientes.

Se tem no Magalu, tá garantido.

Pode confiar!

Política de trocas e devoluções

Devolução gratuita para produtos vendidos por lojas parceiras

É simples devolver seu produto, não importa o motivo.

Devolva seu produto em até 7 dias do recebimento

Para devolver o produto consulte:

Políticas de trocas e devoluções

Se tem no Magalu, tá garantido.

Pode confiar!

Preços e condições de pagamento exclusivos para compras via internet, podendo variar nas lojas físicas. Ofertas válidas na compra de até 5 peças de cada produto por cliente, até o término dos nossos estoques para internet. Caso os produtos apresentem divergências de valores, o preço válido é o da sacola de compras.

Vendas sujeitas a análise e confirmação de dados.

O Magazine Luiza atua como correspondente no País, nos termos da Resolução CMN nº 4.935/2021, e encaminha propostas de cartão de crédito e operações de crédito para a Luizacred S.A Sociedade de Crédito, Financiamento e Investimento inscrita no CNPJ sob o nº 02.206.577/0001-80.

Magazine Luiza S/A - CNPJ: 47.960.950/1088-36

Endereço: Rua Arnulfo de Lima, 2385 - Vila Santa Cruz, Franca/SP - CEP 14.403-471

® Magazine Luiza – Todos os direitos reservados. Endereço eletrônico: https://www.magazineluiza.com.br

Fale conosco: https://www.magazineluiza.com.br/central-de-atendimento/fale-conosco/