Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Apresentação xix
Prefácio xxi
Antes de começar xxxi
12.11 e uso de uma classe interna anônima para tratamento de eventos 398
12.12 401
12.13 Listas de seleção múltipla 403
12.14 Tratamento de evento de mouse 405
12.15 Classes de adaptadores 408
12.16 Subclasse para desenhar com o mouse 411
12.17 Tratamento de eventos de teclado 414
12.18 Introdução a gerenciadores de layout 416
12.18.1 417
12.18.2 420
12.18.3 422
12.19 Utilizando painéis para gerenciar layouts mais complexos 424
12.20 425
12.21 Conclusão 428
18 Recursão 607
18.1 Introdução 608
18.2 Conceitos de recursão 609
18.3 Exemplo que utiliza recursão: fatoriais 609
18.4 Reimplementando a classe usando a classe 611
18.5 Exemplo que utiliza recursão: série de Fibonacci 612
18.6 Recursão e a pilha de chamadas de método 614
18.7 Recursão versus iteração 616
18.8 Torres de Hanói 617
18.9 Fractais 619
18.9.1 Fractal da Curva de Koch 619
18.9.2 (Opcional) Estudo de caso: fractal de Lo Feather 620
18.10 Retorno recursivo 626
18.11 Conclusão 627
23 Concorrência 747
23.1 Introdução 748
23.2 Ciclo de vida e estados de thread 749
23.2.1 Estados novo e executável 750
23.2.2 Estado de espera 750
23.2.3 Estado de espera sincronizada 750
23.2.4 Estado bloqueado 750
23.2.5 Estado terminado 750
23.2.6 Visão do sistema operacional do estado executável 751
23.2.7 Prioridades de thread e agendamento de thread 751
23.2.8 Bloqueio e adiamento indefinidos 752
23.3 Criando e executando threads com o framework 752
23.4 Sincronização de thread 755
23.4.1 Dados imutáveis 755
23.4.2 Monitores 756
23.4.3 Compartilhamento de dados mutáveis não sincronizados 756
23.4.4 Compartilhamento de dados mutáveis sincronizados — tornando operações atômicas 760
23.5 Relacionamento entre produtor e consumidor sem sincronização 762
23.6 Relacionamento produtor/consumidor: 767
23.7 (Avançado) Relacionamento entre produtor e consumidor com , , e 770
23.8 (Avançado) Relacionamento produtor/consumidor: buffers limitados 775
23.9 (Avançado) Relacionamento produtor/consumidor: interfaces e 781
23.10 Coleções concorrentes 786
23.11 Multithreading com GUI: 787
23.11.1 Realizando cálculos em uma thread Worker: números de Fibonacci 788
23.11.2 Processando resultados intermediários: crivo de Eratóstenes 792
23.12 Tempos de / com a API Date/Time do Java SE 8 798
23.13 Java SE 8: fluxos paralelos versus sequenciais 799
23.14 (Avançado) Interfaces e 801
23.15 (Avançado) Estrutura de fork/join 805
23.16 Conclusão 805
Apêndices
A Tabela de precedência de operador 889
B Conjunto de caracteres ASCII 891
C Palavras-chave e palavras reservadas 892
D Tipos primitivos 893
E Utilizando o depurador 894
E.1 Introdução 895
E.2 Pontos de interrupção e os comandos , , e 895
E.3 Os comandos e 898
E.4 Controlando a execução utilizando os comandos , e 900
E.5 O comando 901
E.6 O comando 903
E.7 Conclusão 905
Índice 906