1 / 39

O que é Java?

O que é Java?. Prof. M.Sc . Ronnison Reges Vidal. Roteiro. Introdução Java Máquina Virtual Versões JVM, JRE, JDK Onde usar e Objetivos. Compilando Executando Exercícios. Introdução. Introdução. Objetivos O que é Java? Vantagens e desvantagens

curran-tate
Download Presentation

O que é Java?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. O que é Java? Prof. M.Sc. Ronnison Reges Vidal

  2. Roteiro • Introdução • Java • Máquina Virtual • Versões • JVM, JRE, JDK • Onde usar e Objetivos • Compilando • Executando • Exercícios

  3. Introdução

  4. Introdução • Objetivos • O que é Java? • Vantagens e desvantagens • Entender o conceito de Máquina Virtual • Compilar e Executar

  5. JAva

  6. Java • Quais eram os seus maiores problemas quando programava na década de 1990? • Ponteiros? • Gerenciamento de memória? • Organização? • Falta de bibliotecas? • Ter de reescrever parte do código ao mudar de sistema operacional? • Custo financeiro de usar a tecnologia?

  7. Java • Java resolve bem esses problemas • Aparecimento com frequência em outras linguagens • Motivação da criação da plataforma Java • Utilizada em pequenos dispositivos, como tvs, video-cassetes, aspiradores, liquidificadores e outros • Foco inicial • Clientes Web (Browser) - Applets

  8. Java • Desenvolvido e Mantido pela Sun (http://www.sun.com) • Site principal: http://java.sun.com

  9. Java • Histórico • A Sun criou um time (conhecido como Green Team) para desenvolver inovações tecnológicas em 1992 • Esse time foi liderado por James Gosling, considerado o pai do Java • Ideia de criar um interpretador (máquina virtual) • Para pequenos dispositivos • Facilidade na reescrita de software para aparelhos eletrônicos, como vídeo-cassete, televisão e aparelhos de TV a cabo.

  10. Java • Histórico • A ideia não deu certo • Não houve êxito devido ao conflito de interesses e custos • Hoje Java domina o mercado de aplicações para celulares com mais de 2.5 bilhões de dispositivos compatíveis, porém em 1994 ainda era muito cedo para isso

  11. Java • Histórico • Com o advento da web • Sun percebeu que poderia utilizar a ideia criada em 1992 para rodar pequenas aplicações dentro do browser • Seria de grande vantagem programa na web numa única linguagem – independente de plataforma • Grande quantidade de linguagens de programação e sistemas operacionais

  12. Java É curioso notar que a tecnologia Java nasceu com um objetivo em mente, foi lançado com outro, mas, no final, decolou mesmo no desenvolvimento de aplicações do lado do servidor. Sorte? • Histórico • Java 1.0 • Foco: Transformar o browser em um cliente fino (thinclient) • Realizando operações não somente renderizandohtml

  13. Java • Java no Brasil • Diversos grupos de usuários se formaram para tentar disseminar o conhecimento da linguagem • GUJ (http://www.guj.com.br) • Uma comunidade virtual com artigos, tutoriais e fórum para tirar dúvidas, o maior em língua portuguesa com mais de cem mil usuários e 1 milhão de mensagens

  14. Java

  15. Máquina Virtual

  16. Máquina Virtual Compilador Código Binário para um determinado SO Código fonte em C • Linguagens de programação convencional • C e Pascal • O código fonte é compilado para código de máquina específico de uma plataforma e sistema operacional. • Muitas vezes o próprio código fonte é desenvolvido visando uma única plataforma!

  17. Máquina Virtual • O código executável (binário) resultante será executado pelo sistema operacional • Este deve saber conversar com o sistema operacional em questão

  18. Máquina Virtual • Como criar então uma aplicação que rode de forma parecida nos dois sistemas operacionais? • Na maioria das vezes, uma aplicação se utiliza das bibliotecas do sistema operacional • A de interface gráfica para desenhar as “telas” • A biblioteca de interface gráfica do Windows é bem diferente das do Linux

  19. Máquina Virtual • Máquina Virtual • Camada, entre o sistema operacional e a aplicação, responsável por “traduzir” • O que sua aplicação deseja fazer para as respectivas chamadas do sistema operacional onde ela está rodando no momento

  20. Máquina • Independência do sistema operacional • Independência de plataforma • Sistema operacional sua aplicação está rodando, nem em que tipo de máquina, configurações, etc • Isolamento • Tal característica é interessante • Tudo passa pela JVM, ela pode tirar métricas, decidir onde é melhor alocar a memória, entre outros

  21. Máquina Virtual • JVM (Java Virtual Machine) • Entende um código de máquina específico • Gerado por um compilador Java – JAVAC • Bytecode

  22. Versões

  23. Versões • A confusão do Java2 • Java 1.0 e 1.1 são as versões muito antigas do Java, mas já traziam bibliotecas importantes como o JDBC e o java.io • Com o Java 1.2 houve um aumento grande no tamanho da API, e foi nesse momento em que trocaram a nomenclatura de Java para Java2, com o objetivo de diminuir a confusão que havia entre Java e Javascript

  24. Versões Mas lembre-se, não há versão “Java 2.0”, o 2 foi incorporado ao nome, tornando-se Java2 1.2 • A confusão do Java2 • Depois vieram o Java2 1.3 e 1.4, e o Java 1.5 passou a se chamar Java 5, tanto por uma questão de marketing e porque mudanças significativas na linguagem foram incluídas • Até a versão 1.4, existia um terceiro número (1.3.1, 1.4.1, 1.4.2, etc), indicando bug fixes e melhorias

  25. Versões • A confusão do Java2 • Hoje a última versão disponível do Java é a 6.0, lançada em 2006. Da versão 1.4 para a 5.0, a linguagem sofreu muitas modificações, o que de certa forma fomentou a mudança no versionamento do Java • Já o Java 6.0 não trouxe nenhuma mudança na linguagem, mas trouxe mais recursos na API e muitas melhorias de performance na VM

  26. Versões Existe compatibilidade para trás em todas as versões do Java

  27. JVM, JRE, JDK

  28. JVM, JRE, JDK • O que gostaríamos de baixar no site da Oracle/Sun? • JVM = apenas a virtual machine, esse download não existe, ela sempre vem acompanhada • JRE = Java RuntimeEnvironment, ambiente de execução Java, formado pela JVM e bibliotecas, tudo que você precisa para executar uma aplicação Java • JDK = Java Development Kit: Desenvolvedores devem fazer o download do JDK do Java SE (Standard Edition). Ele é formado pela JRE somado a ferramentas, como o compilador

  29. JVM, JRE, JDK Tanto o JRE e o JDK podem ser baixados do site http://java.sun.com, hoje gerenciado pela Oracle

  30. Onde usar e objetivos

  31. Onde usar e Objetivos • O foco da plataforma é outro: aplicações de médio a grande porte, onde o time de desenvolvedores tem várias pessoas e sempre pode vir a mudar e crescer • Não tenha dúvidas que criar a primeira versão de uma aplicação usando Java, mesmo utilizando IDEs e ferramentas poderosas, será mais trabalhoso que muitas linguagens script ou de alta produtividade • Porém, com uma linguagem orientada a objetos e madura como o Java, será extremamente mais fácil e rápido fazer alterações no sistema, desde que você siga as boas práticas e recomendações sobre design orientado a objetos

  32. Onde usar e Objetivos • Criar uma aplicação sofisticada, usando diversos recursos, sem precisar comprar componentes específicos • Relatórios, gráficos, sistemas de busca, geração de código de barra, manipulação de XML, tocadores de vídeo, manipuladores de texto, persistência transparente, impressão, etc

  33. Onde usar e Objetivos • O uso do Java é interessante em aplicações que virão a crescer • Quando a legibilidade do código é importante, onde temos muita conectividade e se há muitas plataformas (ambientes e sistemas operacionais) heterogêneas (Linux, Unix, OSX e Windows misturados)

  34. Compilação

  35. Compilação System.out.println(“Hello World Java!"); 1 classMeuPrograma { 2 publicstaticvoidmain(String[] args) { 3 System.out.println("Hello World Java!"); 4 } 5 } HelloWorld Burocracia Java

  36. Compilação • Salvar com: • MeuPrograma.java • Chamar o compilador JAVAC e gerar o bytecode

  37. Execução

  38. Execução Após compilado, invoque a máquina virtual

  39. Exercícios 1) Altere seu programa para imprimir uma mensagem diferente 2) Altere seu programa para imprimir duas linhas de texto usando duas linhas de código System.out 3) Sabendo que os caracteres \n representam uma quebra de linhas, imprima duas linhas de texto usando uma única linha de código System.out

More Related