Livro: Java - Como Programar - 8ª Ed. 2010, HARVEY M. DEITEL & PAUL J. DEITEL

Qual o melhor livro de Java
O Java Progressivo vai analisar agora um dos livros mais importantes sobre Java, o livro: Java - Como Programar, 8ª Ed, criado por Paul Deitel e Harvey Deitel.

Este livro é, sem dúvida, é um dos melhores e mais famosos livros de Java para iniciantes.

Estudar esse livro é garantia que você irá aprender Java como poucos. Em nossa opinião, esse é o melhor e mais completo livro sobre Java no mercado.


O livro Java - Como Programar - 8ª Ed. 2010 é bom?

Características:

I.S.B.N.: 9788576055631
Reduzido: 2870760
Altura: 27,5 cm.
Largura: 20,5 cm.
Profundidade: 5 cm.
Edição : 8 / 2010
Idioma : Português
País de Origem : Brasil
Número de Paginas : 1152
Acompanha : CD-ROM

Qualidades:

Esse livro é, na verdade, uma bíblia da programação Java, pois conta com mais de MIL páginas voltadas para o ensino da linguagem de programação Java para desktops, e uma parte introdutória de Applets, Java Web, Banco de dados e Redes, tudo voltado para Java.

O livro pode ser usado tanto por iniciantes em Java, por profissionais, como por quem nunca teve contato algum com programação, pois o livro cobre desde os assuntos mais básicos, permitindo a leitura e compreensão das pessoas leigas.

Na opinião do Java Progressivo, esse é o melhor livro pra Java, pois todos os detalhes são muito bem explicados e detalhados.
O livro explica muito bem assuntos de níveis mais 'baixo', dizendo como o Java se comporta na sua máquina. Ele realmente explica o que ocorre por debaixo dos panos.

Então, para quem quer realmente saber o que é Java, em detalhes.
Se você quer apenas códigos prontos e explicações diretas, não aconselhamos o livro Java - Como programar, dos Deitel, pois eles explicam cada detalhe, e sem medo de se alongar.
Algumas explicações do livro chegam a se estender por várias e várias páginas.

Informação é o que não falta! É uma excelente fonte de consulta, uma verdadeira referência para os programadores mais experientes.

Pra usar esse livro tem que gostar de computação, tem que querer saber tudo sobre Java.
Como o Java Progressivo preza pela informação, esse é o livro mais indicado, pois também gostamos de explicar, dar detalhes e exemplificar.


Pontos negativos:

O primeiro impacto negativo é o preço. Mas isso é uma ilusão, o livro não é caro.
Lembre-se: ele possui MAIS DE MIL páginas! Ele chega a ser 2 ou 3x maior que muitos livros de Java por aí. Então, o investimento vale a pena. Recomendamos ter esse livro em sua cabeceira.

Outro ponto negativo, que em nossa opinião não é ponto negativo, é devido ao fato dele ser extenso.
Explica e fala muito mesmo, as vezes pode ser chato e enfadonho.

Mas se você quer realmente ser um BOM programador, se quiser saber o máximo sobre o que é a linguagem Java, como funciona e não quer apenas ser mais um macaquinho que faz códigos automáticos sem pensar e sem ter noção do que está fazendo, aprenda a gostar de ler, aprenda a buscar informações sobre detalhes, sobre como tudo funciona por debaixo dos panos.

Esse tipo de informação é que vai te fazer diferenciado em relação aos outros programadores.



Não perca tempo! Clique e obtenha já esse livro: 
Java - Como Programar - 8ª Ed. 2010, Deitel - Prentice Hall - Br



Índice de assuntos que você irá encontrar no Java: Como Programar HARVEY M. DEITEL & PAUL J. DEITEL



Prefácio XV
Antes de começar XXXIII

1 Introdução aos computadores, à Internet e à World Wide Web 1 

1.1 Introdução 2
1.2 O que é um computador? 3
1.3 Organização do computador 3
1.4 Primeiros sistemas operacionais 4
1.5 Computação pessoal, distribuída e cliente/servidor 4
1.6 Internet e World Wide Web 5
1.7 Linguagens de máquina, linguagens assembly e linguagens de alto nível 5
1.8 História do C e do C++ 6
1.9 História do Java 6
1.10 Bibliotecas de classe do Java 7
1.11 FORTRAN, COBOL, Pascal e Ada 7
1.12 BASIC, Visual Basic, Visual C++, C# e .NET 8
1.13 Ambiente de desenvolvimento Java típico 8
1.14 Notas sobre o Java e este livro 11
1.15 Test-drive de um aplicativo Java 11
1.16 Estudo de caso de engenharia de software: Introdução à tecnologia de objetos e UML (obrigatório) 14
1.17 Conclusão 17
1.18 Recursos da Web 18


2 Introdução aos aplicativos Java 24 

2.1 Introdução 25
2.2 Primeiro programa Java: imprimindo uma linha de texto 25
2.3 Modificando nosso primeiro programa Java 30
2.4 Exibindo texto com printf 31
2.5 Outros aplicativos Java: adicionando inteiros 32
2.6 Conceitos de memória 36
2.7 Aritmética 36
2.8 Tomada de decisão: operadores de igualdade e operadores relacionais 39
2.9 (Opcional) Estudo de caso de engenharia de software: Examinando o documento de requisitos 42
2.10 Conclusão 48


3 Introdução a classes e objetos 57 

3.1 Introdução 58
3.2 Classes, objetos, métodos e variáveis de instância 58
3.3 Declarando uma classe com um método e instanciando um objeto de uma classe 59
3.4 Declarando um método com um parâmetro 62
3.5 Variáveis de instância, métodos set e get 64
3.6 Tipos primitivos versus tipos por referência 68
3.7 Inicializando objetos com construtores 68
3.8 Números de ponto flutuante e tipo double 70
3.9 (Opcional) Estudo de caso de GUIs e imagens gráficas: Utilizando caixas de diálogo 74
3.10 (Opcional) Estudo de caso de engenharia de software: Identificando classes em um documento de requisitos 76
3.11 Conclusão 81


4 Instruções de controle: parte 1 86 

4.1 Introdução 87
4.2 Algoritmos 87
4.3 Pseudocódigo 87
4.4 Estruturas de controle 88
4.5 A instrução de uma única seleção if 89
4.6 A instrução de seleção dupla if…else 90
4.7 A instrução de repetição while 93
4.8 Formulando algoritmos: repetição controlada por contador 94
4.9 Formulando algoritmos: repetição controlada por sentinela 98
4.10 Formulando algoritmos: instruções de controle aninhadas 104
4.11 Operadores de atribuição compostos 108
4.12 Operadores de incremento e decremento 108
4.13 Tipos primitivos 110
4.14 (Opcional) Estudo de caso de GUIs e imagens gráficas: Criando desenhos simples 111
4.15 (Opcional) Estudo de caso de engenharia de software: Identificando atributos de classe 114
4.16 Conclusão 117


5 Instruções de controle: parte 2 126 

5.1 Introdução 127
5.2 Princípios básicos de repetição controlada por contador 127
5.3 A instrução de repetição for 128
5.4 Exemplos com a estrutura for 131
5.5 A estrutura de repetição do…while 135
5.6 A estrutura de seleção múltipla switch 136
5.7 Instruções break e continue 142
5.8 Operadores lógicos 143
5.9 Resumo de programação estruturada 147
5.10 (Opcional) Estudo de caso de GUIs e imagens gráficas: Desenhando retângulos e ovais 151
5.11 (Opcional) Estudo de caso de engenharia de software: Identificando estados e atividades dos objetos 153
5.12 Conclusão 157


6 Métodos: um exame mais profundo 164 

6.1 Introdução 165
6.2 Módulos de programa em Java 165
6.3 Métodos static, campos static e classe Math 166
6.4 Declarando métodos com múltiplos parâmetros 168
6.5 Notas sobre a declaração e utilização de métodos 171
6.6 Pilha de chamadas de método e registros de ativação 172
6.7 Promoção e coerção de argumentos 172
6.8 Pacotes da API do Java 173
6.9 Estudo de caso: Geração de números aleatórios 174
6.10 Estudo de caso: Um jogo de azar (introdução a enumerações) 178
6.11 Escopo das declarações 181
6.12 Sobrecarga de método 184
6.13 (Opcional) Estudo de caso de GUIs e imagens gráficas: Cores e formas preenchidas 186
6.14 (Opcional) Estudo de caso de engenharia de software: Identificando operações de classe 188
6.15 Conclusão 193


7 Arrays 203 

7.1 Introdução 204
7.2 Arrays 204
7.3 Declarando e criando arrays 205
7.4 Exemplos que utilizam arrays 206
7.5 Estudo de caso: Simulação de embaralhamento e distribuição de cartas 213
7.6 A estrutura for aprimorada 216
VIII Sumário
7.7 Passando arrays para métodos 217
7.8 Estudo de caso: Classe GradeBook utilizando um array para armazenar notas 219
7.9 Arrays multidimensionais 223
7.10 Estudo de caso: Classe GradeBook utilizando um array bidimensional 227
7.11 Listas de argumentos de comprimento variável 232
7.12 Utilizando argumentos de linha de comando 233
7.13 (Opcional) Estudo de caso de GUIs e imagens gráficas: Desenhando arcos 235
7.14 (Opcional) Estudo de caso de engenharia de software: Colaboração entre objetos 237
7.15 Conclusão 242


8 Classes e objetos: um exame mais profundo 256 

8.1 Introdução 257
8.2 Estudo de caso da classe Time 257
8.3 Escopo de classe 260
8.4 Referenciando membros do objeto atual com a referência this 261
8.5 Estudo de caso da classe Time: Construtores sobrecarregados 263
8.6 Construtores-padrão e sem argumentos 267
8.7 Notas sobre os métodos Set e Get 268
8.8 Composição 269
8.9 Enumerações 271
8.10 Coleta de lixo e o método finalize 273
8.11 Membros da classe static 274
8.12 Import static 278
8.13 Variáveis de instância final 278
8.14 Capacidade de reutilização de software 280
8.15 Abstração de dados e encapsulamento 281
8.16 Estudo de caso da classe Time: Controlando o acesso a membros 282
8.17 Acesso de pacote 286
8.18 (Opcional) Estudo de caso de GUIs e imagens gráficas: Utilizando objetos com imagens gráficas 286
8.19 (Opcional) Estudo de caso de engenharia de software: Começando a programar as classes do sistema ATM 290
8.20 Conclusão 294


9 Programação orientada a objetos: herança 300 

9.1 Introdução 301
9.2 Superclasses e subclasses 302
9.3 Membros protected 303
9.4 Relacionamento entre superclasses e subclasses 303
9.5 Construtores em subclasses 323
9.6 Engenharia de software com herança 328
9.7 Classe Object 329
9.8 (Opcional) Estudo de caso de GUIs e imagens gráficas: Exibindo texto e imagens utilizando rótulos 330
9.9 Conclusão 332


10 Programação orientada a objetos: polimorfismo 335 

10.1 Introdução 336
10.2 Exemplos de polimorfismo 337
10.3 Demonstrando um comportamento polimórfico 338
10.4 Classes e métodos abstratos 340
10.5 Estudo de caso: Sistema de folha de pagamento utilizando polimorfismo 341
10.6 Métodos e classes final 353
10.7 Estudo de caso: Criando e utilizando interfaces 353
10.8 (Opcional) Estudo de caso de GUIs e imagens gráficas: Desenhando com polimorfismo 363
10.9 (Opcional) Estudo de caso de engenharia de software: Incorporando herança ao sistema ATM 364
10.10 Conclusão 369


11 Componentes GUI: parte 1 372 

11.1 Introdução 373
11.2 Entrada/saída baseada em GUI simples com JOptionPane 374
11.3 Visão geral de componentes Swing 376
11.4 Exibição de texto e imagens em uma janela 378
11.5 Campos de texto e uma introdução ao tratamento de eventos com classes aninhadas 381
11.6 Tipos comuns de eventos GUI e interfaces ouvintes 386
11.7 Como o tratamento de evento funciona 388
11.8 Jbutton 389
11.9 Botões que mantêm o estado 392
11.10 JComboBox e utilização de uma classe interna anônima para tratamento de evento 397
11.11 Jlist 399
11.12 Listas de seleção múltipla 401
11.13 Tratamento de evento de mouse 404
11.14 Classes adaptadoras 407
11.15 Subclasse JPanel para desenhar com o mouse 410
11.16 Tratamento de eventos de teclado 413
11.17 Gerenciadores de layout 415
11.18 Utilizando painéis para gerenciar layouts mais complexos 423
11.19 JTextArea 424
11.20 Conclusão 427


12 Imagens gráficas e Java 2D™ 437 

12.1 Introdução 438
12.2 Contextos gráficos e objetos gráficos 438
12.3 Controle de cor 440
12.4 Controle de fonte 445
12.5 Desenhando linhas, retângulos e ovais 449
12.6 Desenhando arcos 452
12.7 Desenhando polígonos e polilinhas 454
12.8 API do Java 2D 457
12.9 Conclusão 462


13 Tratamento de exceção 469 

13.1 Introdução 470
13.2 Visão geral do tratamento de exceções 471
13.3 Exemplo: Divisão por zero sem tratamento de exceções 471
13.4 Exemplo: Tratando ArithmeticExceptions e InputMismatchExceptions 473
13.5 Quando utilizar o tratamento de exceções 476
13.6 Hierarquia de exceções em Java 477
13.7 Bloco finally 479
13.8 Desempilhamento de pilha 482
13.9 printStackTrace, getStackTrace e getMessage 483
13.10 Exceções encadeadas 486
13.11 Declarando novos tipos de exceção 487
13.12 Precondições e pós-condições 488
13.13 Assertivas 488
13.14 Conclusão 489


14 Arquivos e fluxos 494 

14.1 Introdução 495
14.2 Hierarquia de dados 496
14.3 Arquivos e fluxos 497
14.4 Classe File 498
14.5 Arquivos de texto de acesso seqüencial 501
14.6 Serialização de objeto 514
X Sumário
14.7 Arquivos de acesso aleatório 522
14.8 Classes java.io adicionais 539
14.9 Abrindo arquivos com JFileChooser 540
14.10 Conclusão 543


15 Recursão 551 

15.1 Introdução 552
15.2 Conceitos de recursão 553
15.3 Exemplo que utiliza recursão: Fatoriais 553
15.4 Exemplo que utiliza recursão: Série de Fibonacci 555
15.5 Recursão e a pilha de chamadas do método 557
15.6 Recursão versus iteração 558
15.7 Permutações de string 560
15.8 Torres de Hanói 563
15.9 Fractais 565
15.10 Retorno recursivo 574
15.11 Conclusão 574
15.12 Internet e recursos Web 575


16 Pesquisa e classificação 582 

16.1 Introdução 583
16.2 Algoritmos de pesquisa 583
16.3 Algoritmos de classificação 591
16.4 Invariantes 602
16.5 Conclusão 603


17 Estruturas de dados 607 

17.1 Introdução 608
17.2 Classes empacotadoras de tipo para tipos primitivos 608
17.3 Autoboxing e auto-unboxing 609
17.4 Classes auto-referenciais 609
17.5 Alocação dinâmica de memória 610
17.6 Listas vinculadas 610
17.7 Pilhas 618
17.8 Filas 622
17.9 Árvores 624
17.10 Conclusão 629


18 Genéricos 645 

18.1 Introdução 646
18.2 Motivação para métodos genéricos 646
18.3 Métodos genéricos: implementação e tradução em tempo de compilação 648
18.4 Questões adicionais da tradução em tempo de compilação: métodos que utilizam um parâmetro de tipo como o tipo
de retorno 650
18.5 Sobrecarregando métodos genéricos 653
18.6 Classes genéricas 653
18.7 Tipos brutos 661
18.8 Curingas em métodos que aceitam parâmetros de tipo 662
18.9 Genéricos e herança: notas 668
18.10 Conclusão 668
18.11 Internet e recursos da Web 668


19 Coleções 672 

19.1 Introdução 673
19.2 Visão geral das coleções 673
19.3 Classe Arrays 674
Sumário XI
19.4 Interface Collection e classe Collections 676
19.5 Listas 677
19.6 Algoritmos de coleções 686
19.7 Classe Stack do pacote java.util 697
19.8 Classe PriorityQueue e Interface Queue 699
19.9 Conjuntos 700
19.10 Mapas 703
19.11 Classe Properties 706
19.12 Coleções sincronizadas 709
19.13 Coleções não-modificáveis 709
19.14 Implementações abstratas 709
19.15 Conclusão 710


20 Introdução aos applets Java 715 

20.1 Introdução 716
20.2 Applets de exemplo fornecidas com o JDK 716
20.3 Applet Java simples: desenhando uma string 719
20.4 Métodos de ciclo de vida de applet 722
20.5 Inicializando uma variável de instância com o método init 723
20.6 Modelo de segurança da caixa de areia 724
20.7 Conclusão 725
20.8 Internet e recursos da Web 725


21 Multimídia: applets e aplicativos 728 

21.1 Introdução 729
21.2 Carregando, exibindo e dimensionando imagens 730
21.3 Animação de uma série de imagens 732
21.4 Mapas de imagem 735
21.5 Carregando e reproduzindo clipes de áudio 736
21.6 Reproduzindo vídeo e outros tipos de mídia com o Java Media Framework 740
21.7 Conclusão 744
21.8 Internet e recursos da Web 744


22 Componentes GUI: parte 2 749 

22.1 Introdução 750
22.2 JSlider 750
22.3 Windows: notas adicionais 753
22.4 Utilizando menus com frames 754
22.5 JPopupMenu 760
22.6 Aparência e comportamento plugáveis 763
22.7 JDesktopPane e JInternalFrame 767
22.8 JTabbedPane 770
22.9 Gerenciadores de layout: BoxLayout e GridBagLayout 771
22.10 Conclusão 782


23 Multithreading 786 

23.1 Introdução 787
23.2 Estados de thread: Classe Thread 788
23.3 Prioridades de thread e agendamento de thread 789
23.4 Criando e executando threads 791
23.5 Sincronização de thread 793
23.6 Relacionamento entre produtor e consumidor sem sincronização 795
23.7 Relacionamento entre produtor e consumidor com sincronização 800
23.8 Relacionamento de produtor/consumidor: Buffer circular 805
23.9 Relacionamento de produtor/consumidor: ArrayBlockingQueue 811
23.10 Multithreading com GUI 813
23.11 Outras classes e interfaces em java.util.concurrent 818
23.12 Monitores e bloqueios de monitor 818
23.13 Conclusão 823


24 Redes 827 

24.1 Introdução 828
24.2 Manipulando URLs 829
24.3 Lendo um arquivo em um servidor Web 833
24.4 Estabelecendo um servidor simples utilizando sockets de fluxo 836
24.5 Estabelecendo um cliente simples utilizando sockets de fluxo 837
24.6 Interação cliente/servidor com conexões de socket de fluxo 837
24.7 Interação cliente/servidor sem conexão com datagramas 848
24.8 Jogo-da-velha cliente/servidor que utiliza um servidor com multithread 854
24.9 Segurança e redes 867
24.10 Estudo de caso: Servidor e cliente DeitelMessenger 867
24.11 Conclusão 888


25 Acesso a bancos de dados com o JDBC 894 

25.1 Introdução 895
25.2 Bancos de dados relacionais 896
25.3 Visão geral de banco de dados relacional: o banco de dados books 896
25.4 SQL 899
25.5 Instruções para instalar o MySQL e o MySQL Conector/J 905
25.6 Instruções para a configuração da conta de usuário do MySQL 905
25.7 Criando banco de dados books no MySQL 906
25.8 Manipulando bancos de dados com o JDBC 906
25.9 Procedures armazenadas 919
25.10 Interface RowSet 919
25.11 Conclusão 922
25.12 Internet e recursos da Web 922


26 Servlets 928 

26.1 Introdução 929
26.2 Visão geral e arquitetura de servlets 930
26.3 Configurando o servidor Apache Tomcat 933
26.4 Tratando solicitações get de HTTP 935
26.5 Tratando solicitações get de HTTP contendo dados 941
26.6 Tratando solicitações post de HTTP 943
26.7 Redirecionando solicitações para outros recursos 946
26.8 Aplicativos de múltiplas camadas: utilizando JDBC a partir de um servlet 949
26.9 Arquivos welcome 952
26.10 Conclusão 955
26.11 Internet e recursos Web 955


27 JavaServer Pages (JSP) 959 

27.1 Introdução 960
27.2 Visão geral das JavaServer Pages 960
27.3 Primeiro exemplo de JSP 961
27.4 Objetos implícitos 963
27.5 Script 964
27.6 Ações-padrão 967
27.7 Diretivas 977
27.8 Estudo de caso: Livro de visitas 980
27.9 Conclusão 989
27.10 Internet e recursos da Web 989


28 Saída formatada 993 

28.1 Introdução 994
28.2 Fluxos 994
28.3 Formatando a saída com printf 994
28.4 Imprimindo inteiros 995
28.5 Imprimindo números de ponto flutuante 996
28.6 Imprimindo strings e caracteres 997
28.7 Imprimindo datas e horas 997
28.8 Outros caracteres de conversão 999
28.9 Imprimindo com larguras e precisões de campos 1000
28.10 Utilizando flags na string de formato printf 1001
28.11 Imprimindo com índices de argumento 1005
28.12 Imprimindo literais e seqüências de escape 1005
28.13 Formatar a saída com a classe Formatter 1005
28.14 Conclusão 1007


29 Strings, caracteres e expressões regulares 1011 

29.1 Introdução 1012
29.2 Fundamentos de caracteres e strings 1012
29.3 Classe String 1013
29.4 Classe StringBuffer 1022
29.5 Classe Character 1029
29.6 Classe StringTokenizer 1032
29.7 Expressões regulares, classe Pattern e classe Matcher 1034
29.8 Conclusão 1040

A Tabela de precedência de operadores 1048
A.1 Precedência de operadores 1048
B Conjunto de caracteres ASCII 1050
C Palavras-chave e palavras reservadas 1051
D Tipos primitivos 1052
E (No CD) Sistemas de numeração 1053
F (No CD) Unicode® 1054
G Utilizando a documentação da API do Java 1055
G.1 Introdução 1055
G.2 Navegando pela API do Java 1055
H (No CD) Criando documentação com o javadoc 1062
I (No CD) Manipulação de bit 1063
J (No CD) Código para o estudo de caso do ATM 1064
K (No CD) Instruções break e continue rotuladas 1065
L (No CD) UML 2: Tipos de diagramas adicionais 1066
M (No CD) Padrões de projeto 1067
N (No CD) Utilizando o depurador 1068



Adquirir pelo melhor preço: 
Java - Como Programar - 8ª Ed. 2010, Deitel - Prentice Hall - Br

10 comentários:

Leonardo Barros disse...

Realmente o livro é bom. É bem didático.
É colorido e mostra muita tela das aplicações em Java.

O que vejo de ponto negativo é o peso do livro e é desconfortável para ficar levando para faculdade, trabalho e casa.

Curso Java Progressivo disse...

Verdade, Leonardo, tem esse detalhe.

Eu deixo a minha versão em casa, tá mais pra Bíblia, é uma verdadeira referência, completíssimo.

Todo programador Java deve ter esse livro na cabeceira.

Obrigado pela sua opinião.

Matheus Renil disse...

Esse livro é minha indicação para um bom livro de Java

Anônimo disse...

Olá amigo, antes de mais nada, parabéns pelo trabalho que vêm fazendo. Eu tenho este livro e garanto: ele é realmente muito bom mesmo, inclusive era bibliografia da faculdade. Um aspecto que pode ser negativo para uns mas positivo para outro é sem duvidas o detalhamento. Além de não se prender em uma IDE ele detalha passo-a-passo de modo a ter um total entendimento do que está sendo feito. Se quiser ser um bom programador, entender realmente o que está acontecendo para que assim desenvolva códigos mais simples, menores e mais eficientes este é o livro. Pode ser cansativo para aqueles que já "têm" algum conhecimento da linguagem, mas sem duvida uma ótima leitura!

Tafarel Carvalho disse...

Muito bom, esse é o tipo de livro que eu gosto. Abraçs

everton_alpe disse...

alguem sera que consegue uma copia do cd que vem junto do livro?
o meu acaboupegando umidade, e nao roda mais...
se for possivel ajudar
meu e-mail é everton_seib@hotmail.com

desde ja agradeço

Samir disse...

Olá, Boa tarde! Eu não tenho tbm o conteúdo do CD mas tem neste link ai.

Muito bom o livro, um pouco cansativo mas eu me atentei bem ao prefacio e vi que ele é bom sim... dei uma folheada e recomendo.

forte abr.

http://wps.prenhall.com/br_deitel_java_comoprogramar_8/147/37687/9648059.cw/index.html

Gabriel disse...

será que a 4ª edição está muito desatualizada em relação a essa ou posso usá-la sem problemas?

Apostila Java Progressivo disse...

Gabriel,

Vai depender do ano de lançamento dele.

Olha aí e vê se foi antes do lançamento da versão 1,6 do Java.
Se for, está um pouco desatualizado, algumas coisas mudaram, novas funcionalidades foram adicionadas, etc.

Thiago disse...

Não sei bem, mas o livro da Coleção Use a Cabeça me parece muito infantil, com aquelas gravuras "sinistras" (risos). O fato é que também é um bom livro, e pretendo lê-lo também, mas minha preferência continuará sendo do Deitel, sem falar com eles também têm edições de diversas linguagens...

Dicas e Novidades de Java por e-mail

Sabe quanto custa um bom livro de java?
Entre R$ 100,00 e R$300,00

Sabe quanto custa um bom curso presencial de Java?
Entre R$ 1.500,00 até R$ 4.000,00

Sabe quanto custa estudar pelo Java Progressivo?
Absolutamente nada.

Porém, também precisamos de sua ajuda e apoio.
Para isso, basta curtir nossa Fan Page e clicar no botão G+ do Google.