Java Learn Once Use Anywhere Serge Rehem [email_address] JavaBahia JUG Leader javabahia.org
Esta obra está licenciada sob uma  Licença Creative Commons http://creativecommons.org/licenses/by-nc-sa/2.0/br/
Como tudo começou...
3 - 13p / 18m dez 90 a próxima onda  do mundo digital ? computadores + eletrodomésticos Sun microsystems
*7 demo set 92 Oak -> Java
1.0a2 mar 95 10.000  downloads Netscape ← Java
The Green Team James Gosling
=   Linguagem Programação + Plataforma ≠ JavaScript
O_o ≈   SmallTalk / Simula67 C/C++ familiar  Portabilidade Segurança Rede/distribuição API++++ Carga dinâmica Garbage Coll...
Interpretação – Nx Compilação - 1x Linguagem Java
Java Virtual Machine (JVM) Application Programming Interface (API) Plataforma Java
Programa  JVM   SO HW
W rite  O nce  R un  A nywhere bytecode Prog.java Prog.class
JDK Java Development Kit
javac  HelloWorld.java
JRE Java Runtime Environment
java  HelloWorld
 
 
Hello World Festival App Swing Servlet Applet JSP MIDlet JSF WebService REST
App
App
App
Applet
Applet
Applet
Applet
App/Swing
App/Swing
App/Swing
Servlet
Servlet
JSP
JSP
hello.xhtml JSF
JSF
WebService
WebService
REST
http://www.roseindia.net/j2me/hello-world.shtml MIDLet
IDE X
Java/Web...
GlassFish Tomcat AppServer
JDBC JDO JPA Persistência
JSF Java Web Framework
Hudson Testes / Build / Integração Contínua
Segurança Relatórios e-Mail Agendamento Validação Logging Utilitários Workflow ? ? ? +Componentes
Demoiselle Framework www.frameworkdemoiselle.gov.br
Java Editions
Java
jcp.org
Quero aprender +
Java User Groups
Grupos de Usuários
javabahia.org
Java Education and Development Initiative http://www.dfjug.org/DFJUG/jedi JEDI
Iniciativa JEDI
 
Por que Java?
https://meapplicationdevelopers.dev.java.net/fragmentation.html
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Java não roda só Java... groovy.codehaus.org www.jython.org jruby.codehaus.org sun.com/javafx www.beanshell.org Rhino: Jav...
javafx.com
 
Java FX
JavaFX Mobile
L earn  O nce R euse  A nywhere
Serge Rehem [email_address] twitter.com/serge_rehem slideshare.net/serge_rehem javabahia.org javabahia.blogspot.com twitte...
Upcoming SlideShare
Loading in...5
×

Java - Learn Once Use Anywhere

1,027

Published on

Palestra realizada na XIII Semana de Informática da Unime, em 20/05/2010, em Lauro de Freitas - BA. Learn Once Use/Reuse Anywhere - L.O.U.A / L.O.R.A.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,027
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
19
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Sun. Dezembro, 1990 - Green Project Patrick Naughton, Mike Sheridan e James Gosling A “próxima onda” do mundo digital Idéia Convergência dos computadores com os equipamentos e eletrodomésticos comumente usados pelas pessoas no seu dia-a-dia 13 pessoas durante 18 meses
  • StarSeven (*7) - set/1992 Demonstração funcional da idéia Controle remoto com GUI touchscreen para diversos dispositivos e aplicações Duke: guia virtual Oak (Carvalho) nova LP para o *7
  • * StarSeven (*7) - set/1992 Mercado: Controlar TV e vídeo por demanda Necessidade de uma grande rede de cabos Idéia certa na época errada! BOOM da Internet Infra-estrutura de rede Java - Oak adaptado para a Internet (Gosling) Março, 1995 - versão 1.0a2 (alpha) na Internet 10.000 downloads, atenção de toda a mídia Netscape anuncia browsers com Java embutido
  • Java é uma linguagem de programação Java é uma plataforma Java NÃO É JavaScript
  • Principais Características Orientação a objeto - Baseado no modelo de Smalltalk e Simula67 Portabilidade - Independência de plataforma Recursos de Rede - Extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/IP, como HTTP e FTP Segurança – Execução de programas via rede com restrições de execução
  • You can think of Java bytecodes as the machine code instructions for the Java Virtual Machine (Java VM). Every Java interpreter, whether it's a development tool or a Web browser that can run applets, is an implementation of the Java VM. Java bytecodes help make "write once, run anywhere" possible Programas Java não são traduzidos para a linguagem de máquina como outras linguagens estaticamente compiladas e sim para uma representação intermediária, chamada de bytecodes . Os bytecodes são interpretados pela máquina virtual Java (JVM - Java Virtual Machine ). Muitas pessoas acreditam que por causa desse processo, o código interpretado Java tem baixo desempenho. Durante muito tempo esta foi uma afirmação verdadeira. Porém novos avanços tem tornado o compilador dinâmico (a JVM), em muitos casos, mais eficiente que o compilador estático. Java hoje já possuiu uma performace próxima do C++. Isto é possível graças a otimizações como a compilação especulativa, que aproveita o tempo ocioso do processador para pré-compilar bytecode para código nativo. Outros mecanismos ainda mais elaborados como o HotSpot da Sun, que guarda informações disponíveis somente em tempo de execução (ex.: número de usuários, processamento usado, memória disponível), para otimzar o funcionamento da JVM, possibilitando que a JVM vá "aprendendo" e melhorando seu desempenho. Isto é uma realidade tão presente que hoje é fácil encontrar programas corporativos e de missão crítica usando tecnologia Java. No Brasil, por exemplo, a maioria dos Bancos utiliza a tecnologia Java para construir seus home banks , que são acessados por milhares de usuários diariamente. Grandes sites como o eBay utilizam Java para garantir alta performace. E a cada ano Java tem se tornado mais rápido, na medida que se evolui o compilador dinâmico. Os bytecodes produzidos pelos compiladores Java podem ser usados num processo de engenharia reversa para a recuperação do programa-fonte original. Esta é uma característica que atinge em menor grau todas as linguagens compiladas. No entanto já existem hoje tecnologias que "embaralham" e até mesmo criptografam os bytecodes praticamente impedindo a engenharia reversa .
  • Java - Learn Once Use Anywhere

    1. 1. Java Learn Once Use Anywhere Serge Rehem [email_address] JavaBahia JUG Leader javabahia.org
    2. 2. Esta obra está licenciada sob uma Licença Creative Commons http://creativecommons.org/licenses/by-nc-sa/2.0/br/
    3. 3. Como tudo começou...
    4. 4. 3 - 13p / 18m dez 90 a próxima onda do mundo digital ? computadores + eletrodomésticos Sun microsystems
    5. 5. *7 demo set 92 Oak -> Java
    6. 6. 1.0a2 mar 95 10.000 downloads Netscape ← Java
    7. 7. The Green Team James Gosling
    8. 8. = Linguagem Programação + Plataforma ≠ JavaScript
    9. 9. O_o ≈ SmallTalk / Simula67 C/C++ familiar Portabilidade Segurança Rede/distribuição API++++ Carga dinâmica Garbage Collector Linguagem Java
    10. 10. Interpretação – Nx Compilação - 1x Linguagem Java
    11. 11. Java Virtual Machine (JVM) Application Programming Interface (API) Plataforma Java
    12. 12. Programa JVM SO HW
    13. 13. W rite O nce R un A nywhere bytecode Prog.java Prog.class
    14. 14. JDK Java Development Kit
    15. 15. javac HelloWorld.java
    16. 16. JRE Java Runtime Environment
    17. 17. java HelloWorld
    18. 20. Hello World Festival App Swing Servlet Applet JSP MIDlet JSF WebService REST
    19. 21. App
    20. 22. App
    21. 23. App
    22. 24. Applet
    23. 25. Applet
    24. 26. Applet
    25. 27. Applet
    26. 28. App/Swing
    27. 29. App/Swing
    28. 30. App/Swing
    29. 31. Servlet
    30. 32. Servlet
    31. 33. JSP
    32. 34. JSP
    33. 35. hello.xhtml JSF
    34. 36. JSF
    35. 37. WebService
    36. 38. WebService
    37. 39. REST
    38. 40. http://www.roseindia.net/j2me/hello-world.shtml MIDLet
    39. 41. IDE X
    40. 42. Java/Web...
    41. 43. GlassFish Tomcat AppServer
    42. 44. JDBC JDO JPA Persistência
    43. 45. JSF Java Web Framework
    44. 46. Hudson Testes / Build / Integração Contínua
    45. 47. Segurança Relatórios e-Mail Agendamento Validação Logging Utilitários Workflow ? ? ? +Componentes
    46. 48. Demoiselle Framework www.frameworkdemoiselle.gov.br
    47. 49. Java Editions
    48. 50. Java
    49. 51. jcp.org
    50. 52. Quero aprender +
    51. 53. Java User Groups
    52. 54. Grupos de Usuários
    53. 55. javabahia.org
    54. 56. Java Education and Development Initiative http://www.dfjug.org/DFJUG/jedi JEDI
    55. 57. Iniciativa JEDI
    56. 59. Por que Java?
    57. 60. https://meapplicationdevelopers.dev.java.net/fragmentation.html
    58. 61. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
    59. 62. Java não roda só Java... groovy.codehaus.org www.jython.org jruby.codehaus.org sun.com/javafx www.beanshell.org Rhino: JavaScript for Java www.mozilla.org/rhino
    60. 63. javafx.com
    61. 65. Java FX
    62. 66. JavaFX Mobile
    63. 67. L earn O nce R euse A nywhere
    64. 68. Serge Rehem [email_address] twitter.com/serge_rehem slideshare.net/serge_rehem javabahia.org javabahia.blogspot.com twitter.com/javabahia Obrigado!
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×