Pro Yearly is on sale from $80 to $50! »

Encapsulamento e imutabilidade para garantir código limpo e de alto desempenho com Java 7+

Encapsulamento e imutabilidade para garantir código limpo e de alto desempenho com Java 7+

Encapsulamento adequado e imutabilidade de objetos são dois fatores que influenciam em muito a qualidade do código desenvolvido. Nesta palestra demonstraremos como obter estas duas propriedades com diferentes técnicas de construção de objetos. Além disso executaremos alguns testes de desempenho utilizando código sequencial e o Fork/Join Framework do Java 7 nas classes criadas.

14493d3489b1441918bfddfe298415d9?s=128

Edson Yanaga

July 12, 2013
Tweet

Transcript

  1. Encapsulamento e imutabilidade para garantir código limpo e de alto

    desempenho com Java 7+ Edson Yanaga @edsonyanaga Produtec Informática
  2. Edson Yanaga • Bacharel em Ciência da Computação/UEM • Mestre

    em Engenharia Elétrica/UTFPR • Desenvolvedor Java desde 1997 • Administrador Unix desde 1999 • Líder Técnico na Produtec desde 2012 • Instrutor Líder da GlobalCode desde 2012
  3. Certificações • Oracle Certified Professional, Java Platform, Enterprise Edition 6

    Enterprise JavaBeans Developer • Sun Certified Enterprise Architect for the Java Platform,Enterprise Edition 5 (i) • Certified ScrumMaster • Sun Certified Developer for Java Web Services 5 • Sun Certified Specialist for NetBeans IDE • Sun Certified Web Component Developer for J2EE 1.4 • Sun Certified Programmer for Java 2 Platform 1.4
  4. Software é artesanal

  5. Ou não?

  6. Software Craftsmanship

  7. Deus?

  8. None
  9. Nós não precisamos de mais programadores!

  10. O que você sabe/ aprendeu sobre OO?

  11. Herança Polimorfismo Encapsulamento

  12. Herança Polimorfismo Encapsulamento

  13. Invariante: Restrições sobre o estado de um objeto

  14. Como obter invariância? Com encapsulamento e/ou imutabilidade

  15. Imutabilidade é o modo mais simples de garantir invariantes

  16. Lei de Moore N.o de transistores 2x a cada 2

    anos --------------- Capacidade 2x a cada 18 meses
  17. Programação concorrente Intel Xeon Phi 61 cores 244 threads 1.2

    teraFLOPs
  18. Imutabilidade é o modo mais simples de usar concorrência

  19. Objetos imutáveis sempre são thread- safe, simples e seguros

  20. Objetos imutáveis podem ser mais rápidos e consumir menos memória

  21. Fork/Join Framework

  22. if (isForkNeeded()) { return doWithForkJoin(); } else { return doInSameThread();

    }
  23. None
  24. Cuide do seu código.

  25. Software melhor, mundo melhor

  26. Edson Yanaga edson@yanaga.com.br @edsonyanaga www.yanaga.com.br