Java - Visão Geral Regis Pires Magalhães [email_address]
Roteiro Histórico Principais características Componentes da plataforma Java
Histórico 1991 – O projeto Green Projeto conduzido por: Mike Sheridan (negócio), Patrick Naughton (sistema gráfico) and James Gosling (linguagem de programação). O objetivo do projeto descobrir a “nova onda” da computação. Eles chegaram a conclusão de que uma das ondas seria a convergência entre dispositivos eletrônicos “inteligentes” e computadores. O projeto vislumbrou a criação de um ambiente de execução flexível Capaz de rodar nos mais diversos tipos de dispositivos Primariamente em pequenos dispositivos (móveis ou não) A implementação inicial do runtime era em C++ James Gosling viu que C++ não era adequada para o projeto e suas extensões e modificações ao C++ foram os primeiros passos para o desenvolvimento de uma linguagem independente apropriada ao projeto. A linguagem foi inicialmente chamada Oak, mas o nome foi mudado devido à existência de uma patente já registrada para outra linguagem de programação. Para dispositivos com pouca memória era necessária uma linguagem pequena com código bastante otimizado para poupar espaço. Como os fabricantes de dispositivos poderiam usar diferentes CPUs era importante não ficar preso a nenhuma arquitetura em particular.
Histórico 1991 – O projeto Green Os requisitos de código pequeno e independente de plataforma fez a equipe ressuscitar o modelo de algumas implementações do Pascal dos primeiros dias do PC, baseadas em um código intermediário para uma máquina virtual. A inspiração do nome Java surgiu em uma cafeteria local, cujo conteúdo do café vinha de uma ilha da Indonésia chamada Java. O projeto Green ainda criou o personagem Duke, que seria o ajudante usado na interface gráfica. O projeto estava à beira do cancelamento. Não conseguiu vender nada em 93 e até metade de 94. O mercado de dispositivos “inteligentes” não estava se desenvolvendo como a Sun previa. O rápido crescimento da Internet por volta de 1994 deu um novo impulso ao projeto. A Sun voltou seus esforços para acelerar a conclusão da sua linguagem. O objetivo era aproveitar a flexibilidade da linguagem para prover maior dinamismo na Web. Não havia nenhum concorrente no horizonte na nova era digital que se abria com a Web.
Histórico 1994 – Browser Na metade de 94 a equipe percebeu que um browser independente de arquitetura, confiável e seguro seria importante e, então, construiu um browser. O browser HotJava foi feito para mostrar o poder do Java, mas os idealizadores também tinham em mente o poder do que chamamos applets. Assim, fizeram um browser capaz de executar código Java em páginas web. 1995 – Lançamento da tecnologia Java Em 23 de maio de 95 o browser com suporte a applets foi apresentado na SunWorld. Jan/1996 – Netscape decide dar suporte a Java ao seu browser Navigator 1996 – Disponibilização da primeira release Java Development Kit (JDK) 1.0 1997 – JDK 1.1
Histórico 1998 – Java Community Process (JCP) Especificação da tecnologia Java passa a ser conduzida através de processo aberto formado pela Sun e usuários Java 1999 Fevereiro Java 1.2, renomeado para Java 2. Junho Ramificação da plataforma: J2SE, J2ME e J2EE Dezembro Primeira release J2EE Primeira release J2SE para Linux 2000 – J2SE 1.3 2002 – J2SE 1.4 2004 – J2SE 1.5 – Java 5 Dez/2006 – Java 6 – Mustang  2008 – Java 7 - Dolphin
Principais Características Orientada a Objetos Simples Robusta Independente de arquitetura Portável Multi-threaded Segura Rápida
Principais Características Com coleta de lixo automática Distribuída Rica Livre / Open Source Multi-Uso -> Abrange os mais diversos tipos de aplicação. Fartíssima documentação Inclusive em português Várias ferramentas de apoio à aprendizagem da linguagem. Muito usada no meio acadêmico, inclusive como linguagem introdutória.
Plataformas Java Plataforma Ambiente de hardware e/ou software no qual um programa é executado A plataforma Java é somente de software Esta plataforma de execução funciona sobre outras plataformas de hardware e software Plataformas Java JME – Java Platform, Micro Edition Plataforma de desenvolvimento para dispositivos com suporte à Java como Palms, celulares, pagers, etc. JSE – Java Platform, Standard Edition Contém serviços padrão para aplicações e applets. JEE – Java Platform, Enterprise Edition Plataforma de desenvolvimento completa para aplicações empresariais robustas e escaláveis.
Plataformas Java *  Connected Limited Device Configuration ** Mobile Information Device * **
Componentes da plataforma Java Java Virtual Machine (Java VM ou JVM) Provê suporte para independência de plataforma Máquina virtual que interpreta código Java compilado Java é uma linguagem compilada e interpretada!!! Java Application Programming Interface (Java API) Provê suporte para programação de aplicações em geral Vasta gama de componentes de software prontos para uso para as mais diversas funcionalidades
Plataforma J2SE JRE – Java Runtime Environment SDK – Software Development Kit
Resumo Plataforma Java Principais Características Orientada a Objeto Simples Dinâmica Robusta Independente de Plataforma Portável Multi-threaded Segura Rápida Distribuída Rica Arquitetura JVM + Java API
Referências e Recursos Web The Source for Java Technology (Sun) http://java.sun.com http://java.sun.com/j2se http://java.sun.com/j2ee http://java.sun.com/j2me http://java.sun.com/features Tutorials & Short Courses by Sun http://developer.java.sun.com/developer/onlineTraining Documentation, Tutorials & Courses http://java.web.cern.ch/java/tutorials.html Jguru: Your view of the Java universe http://www.jguru.com argonavis.com.br http://www.argonavis.com.br Java Myths http://cdsmith.twu.net/professional/java/myths.html http://www.javacoffeebreak.com/articles/inside_java/insidejava-may00.html
Referências e Recursos Livros Core Java 2 – Volume I – Cay S. Horstmann e Gary Cornell. Thinking in Java (3rd Edition) http://www.bruceeckel.com Java in a Nutshell (4th Edition) – David Flanagan Java – Como Programar (4ª Edição) – Deitel & Deitel

Java 01 Java Visao Geral Resumo

  • 1.
    Java - VisãoGeral Regis Pires Magalhães [email_address]
  • 2.
    Roteiro Histórico Principaiscaracterísticas Componentes da plataforma Java
  • 3.
    Histórico 1991 –O projeto Green Projeto conduzido por: Mike Sheridan (negócio), Patrick Naughton (sistema gráfico) and James Gosling (linguagem de programação). O objetivo do projeto descobrir a “nova onda” da computação. Eles chegaram a conclusão de que uma das ondas seria a convergência entre dispositivos eletrônicos “inteligentes” e computadores. O projeto vislumbrou a criação de um ambiente de execução flexível Capaz de rodar nos mais diversos tipos de dispositivos Primariamente em pequenos dispositivos (móveis ou não) A implementação inicial do runtime era em C++ James Gosling viu que C++ não era adequada para o projeto e suas extensões e modificações ao C++ foram os primeiros passos para o desenvolvimento de uma linguagem independente apropriada ao projeto. A linguagem foi inicialmente chamada Oak, mas o nome foi mudado devido à existência de uma patente já registrada para outra linguagem de programação. Para dispositivos com pouca memória era necessária uma linguagem pequena com código bastante otimizado para poupar espaço. Como os fabricantes de dispositivos poderiam usar diferentes CPUs era importante não ficar preso a nenhuma arquitetura em particular.
  • 4.
    Histórico 1991 –O projeto Green Os requisitos de código pequeno e independente de plataforma fez a equipe ressuscitar o modelo de algumas implementações do Pascal dos primeiros dias do PC, baseadas em um código intermediário para uma máquina virtual. A inspiração do nome Java surgiu em uma cafeteria local, cujo conteúdo do café vinha de uma ilha da Indonésia chamada Java. O projeto Green ainda criou o personagem Duke, que seria o ajudante usado na interface gráfica. O projeto estava à beira do cancelamento. Não conseguiu vender nada em 93 e até metade de 94. O mercado de dispositivos “inteligentes” não estava se desenvolvendo como a Sun previa. O rápido crescimento da Internet por volta de 1994 deu um novo impulso ao projeto. A Sun voltou seus esforços para acelerar a conclusão da sua linguagem. O objetivo era aproveitar a flexibilidade da linguagem para prover maior dinamismo na Web. Não havia nenhum concorrente no horizonte na nova era digital que se abria com a Web.
  • 5.
    Histórico 1994 –Browser Na metade de 94 a equipe percebeu que um browser independente de arquitetura, confiável e seguro seria importante e, então, construiu um browser. O browser HotJava foi feito para mostrar o poder do Java, mas os idealizadores também tinham em mente o poder do que chamamos applets. Assim, fizeram um browser capaz de executar código Java em páginas web. 1995 – Lançamento da tecnologia Java Em 23 de maio de 95 o browser com suporte a applets foi apresentado na SunWorld. Jan/1996 – Netscape decide dar suporte a Java ao seu browser Navigator 1996 – Disponibilização da primeira release Java Development Kit (JDK) 1.0 1997 – JDK 1.1
  • 6.
    Histórico 1998 –Java Community Process (JCP) Especificação da tecnologia Java passa a ser conduzida através de processo aberto formado pela Sun e usuários Java 1999 Fevereiro Java 1.2, renomeado para Java 2. Junho Ramificação da plataforma: J2SE, J2ME e J2EE Dezembro Primeira release J2EE Primeira release J2SE para Linux 2000 – J2SE 1.3 2002 – J2SE 1.4 2004 – J2SE 1.5 – Java 5 Dez/2006 – Java 6 – Mustang 2008 – Java 7 - Dolphin
  • 7.
    Principais Características Orientadaa Objetos Simples Robusta Independente de arquitetura Portável Multi-threaded Segura Rápida
  • 8.
    Principais Características Comcoleta de lixo automática Distribuída Rica Livre / Open Source Multi-Uso -> Abrange os mais diversos tipos de aplicação. Fartíssima documentação Inclusive em português Várias ferramentas de apoio à aprendizagem da linguagem. Muito usada no meio acadêmico, inclusive como linguagem introdutória.
  • 9.
    Plataformas Java PlataformaAmbiente de hardware e/ou software no qual um programa é executado A plataforma Java é somente de software Esta plataforma de execução funciona sobre outras plataformas de hardware e software Plataformas Java JME – Java Platform, Micro Edition Plataforma de desenvolvimento para dispositivos com suporte à Java como Palms, celulares, pagers, etc. JSE – Java Platform, Standard Edition Contém serviços padrão para aplicações e applets. JEE – Java Platform, Enterprise Edition Plataforma de desenvolvimento completa para aplicações empresariais robustas e escaláveis.
  • 10.
    Plataformas Java * Connected Limited Device Configuration ** Mobile Information Device * **
  • 11.
    Componentes da plataformaJava Java Virtual Machine (Java VM ou JVM) Provê suporte para independência de plataforma Máquina virtual que interpreta código Java compilado Java é uma linguagem compilada e interpretada!!! Java Application Programming Interface (Java API) Provê suporte para programação de aplicações em geral Vasta gama de componentes de software prontos para uso para as mais diversas funcionalidades
  • 12.
    Plataforma J2SE JRE– Java Runtime Environment SDK – Software Development Kit
  • 13.
    Resumo Plataforma JavaPrincipais Características Orientada a Objeto Simples Dinâmica Robusta Independente de Plataforma Portável Multi-threaded Segura Rápida Distribuída Rica Arquitetura JVM + Java API
  • 14.
    Referências e RecursosWeb The Source for Java Technology (Sun) http://java.sun.com http://java.sun.com/j2se http://java.sun.com/j2ee http://java.sun.com/j2me http://java.sun.com/features Tutorials & Short Courses by Sun http://developer.java.sun.com/developer/onlineTraining Documentation, Tutorials & Courses http://java.web.cern.ch/java/tutorials.html Jguru: Your view of the Java universe http://www.jguru.com argonavis.com.br http://www.argonavis.com.br Java Myths http://cdsmith.twu.net/professional/java/myths.html http://www.javacoffeebreak.com/articles/inside_java/insidejava-may00.html
  • 15.
    Referências e RecursosLivros Core Java 2 – Volume I – Cay S. Horstmann e Gary Cornell. Thinking in Java (3rd Edition) http://www.bruceeckel.com Java in a Nutshell (4th Edition) – David Flanagan Java – Como Programar (4ª Edição) – Deitel & Deitel