12 novos tutoriais sobre Java Standard Edition (julho a dezembro, 2005)
Os códigos das palestras que os possuem serão colocados no ar posteriormente (estou revisando).
Principais novidades do Java 5.0. Esta apresentação apresenta os recursos: for-in, boxing e unboxing, varargs, static import, enums, annotations, printf e outros recursos essenciais que qualquer programador Java deve conhecer. Genéricos são tema de outra apresentaçao.
Slides (PDF 130kB)
Código (em breve>
Esta apresentação apresenta a sintaxe de tipos genéricos da linguagem Java introduzida a partir da versão 5.0. Tipos genéricos são usados em tempo de compilação aumentam a segurança em relação à conversão de tipos, evitando a ocorrência de exceções de conversão que antes ocorriam em tempo de execução. Estão difundidos por toda a API da linguagem Java e é um tema obrigatório para qualquer um que pretenda utilizar Java 5.0.
Slides (PDF 129kB)
Código (em breve)
O que é um modelo de consistência de memória? Por que o Java tem um modelo de memória? Por que é importante conhecer o modelo de memória do Java e quais as conseqüências de utilizá-lo incorretamente? Como realmente funciona um bloco synchronized, uma variável volatile e o modificador final? O que acontece quando programas não sincronizados corretamente executam em computadores multiprocessados? Como garantir objetos imutáveis? Estas são algumas das questões respondidas nesta apresentação.
Slides (PDF 266kB)
Esta apresentação explora as classes e interfaces do pacote java.util.concurrent e seus sub-pacotes, que contém um framework de execução e agendamento de threads, diversas implementações de filas, listas, conjuntos e mapas concorrentes altamente escaláveis, classes para encapsular inteiros, longos, arrays e objetos para manipulação atômica, implementações de alto-nível de diversos padrões de design da programação concorrente, como travas (locks), condições, semáforos, barreiras e permutadores.
Slides (PDF 1,80 Mb)
Código (em breve)
Esta palestra explora os detalhes do funcionamento da máquina virtual em relação à execução e à gerência de memória, os tipos de algoritmos usados para coleta de lixo, as diferentes regiões da memória onde eles atuam. São detalhados aspectos da arquitetura da máquina virtual de acordo com a especificação, diferentes tipos de coletores de lixo e diversas estratégias de coleta de lixo utilizada em máquinas virtuais modernas e que podem vir a ser usadas em máquinas virtuais no futuro.
Slides (PDF 436 kB)
Veja também a apostila de Gerência de Memória em Java, 96 páginas, PDF, 8,5MB.
Esta apresentação aborda a arquitetura ede memória das máquinas virtuais HotSpot, as estratégias de alocação e coleta de lixo disponíveis, e os efeitos da alteração de parâmetros e como configurá-los para obter os melhores resultados, ajustando as regiões e algoritmos de coleta de lixo (inclusive ergonomics). São apresentadas também ferramentas de monitoração e mineração de dados, como o JConsole (JMX), Jstat, GCViewer e outras.
Slides (PDF 602 kB)
Esta apresentação entra em detalhes sobre a criação e destruição de objetos em Java. Como funciona a criação, finalização e remoção de objetos? O que são memory leaks? Como identificá-los e consertá-los. Como controlar eficientemente o coletor de lixo usando objetos de referência? Aprenda neste tutorial como construir aplicações robustas que lidam eficientemente com a memória alocada pela JVM.
Slides (PDF 606 kB)
Código (em breve)