SlideShare uma empresa Scribd logo
 
História  Em 1991, na Sun Microsystems, foi iniciado o  Green Project , o berço do  Java , uma linguagem de programação orientada a objetos. Os mentores do projeto eram Patrick Naughton, Mike Sheridan, e James Gosling. O objetivo do projeto não era a criação de uma nova linguagem de programação, mas antecipar e planejar a “próxima onda” do mundo digital. Eles acreditavam que, em algum tempo, haveria uma convergência dos computadores com os equipamentos e eletrodomésticos comumente usados pelas pessoas no seu dia-a-dia. Para provar a viabilidade desta idéia, 13 pessoas trabalharam arduamente durante 18 meses. No verão de 1992 eles emergiram de um escritório de Sand Hill Road no Menlo Park com uma demonstração funcional da idéia inicial. O protótipo se chamava *7 (leia-se “StarSeven”), um controle remoto com uma interface gráfica  touchscreen . Para o *7, foi criado um mascote, hoje amplamente conhecido no mundo Java, o Duke. O trabalho do Duke no *7 era ser um guia virtual ajudando e ensinando o usuário a utilizar o equipamento. O *7 tinha a habilidade de controlar diversos dispositivos e aplicações. James Gosling especificou uma nova linguagem de programação para o *7. Gosling decidiu batizá-la de “Oak”, que quer dizer  carvalho , uma árvore que ele podia observar quando olhava pela sua janela. O próximo passo era encontrar um mercado para o *7. A equipe achava que uma boa idéia seria controlar televisões e vídeo por demanda com o equipamento. Eles construíram um  demo  chamado MovieWood, mas infelizmente era muito cedo para que o vídeo por demanda bem como as empresas de TV a cabo pudessem viabilizar o negócio. A idéia que o *7 tentava vender, hoje já é realidade em programas interativos e também na televisão digital. Permitir ao telespectador interagir com a emissora e com a programação em uma grande rede de cabos, era algo muito visionário e estava muito longe do que as empresas de TV a cabo tinham capacidade de entender e comprar. A idéia certa, na época errada. Entretanto, o estouro da Internet aconteceu e rapidamente uma grande rede interativa estava se estabelecendo. Era este tipo de rede interativa que a equipe do *7 estava tentando vender para as empresas de TV a cabo. E, da noite para o dia, não era mais necessário construir a infra-estrutura para a rede, ela simplesmente estava lá. Gosling foi incumbido de adaptar o Oak para a Internet e em janeiro 1995 foi lançada uma nova versão do Oak que foi rebatizada para Java. A tecnologia Java tinha sido projetada para se mover por meio das redes de dispositivos heterogêneos, redes como a Internet. Agora aplicações poderiam ser executadas dentro dos  browsers  nos Applets Java e tudo seria disponibilizado pela Internet instantaneamente. Foi o estático HTML dos  browsers  que promoveu a rápida disseminação da dinâmica tecnologia Java. A velocidade dos acontecimentos seguintes foi assustadora, o número de usuários cresceu rapidamente, grandes fornecedores de tecnologia, como a IBM anunciaram suporte para a tecnologia Java. Desde seu lançamento, em maio de 1995, a plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de programação na história da computação. Em 2004 Java atingiu a marca de 3 milhões de desenvolvedores em todo mundo[1]. Java continuou crescendo e hoje é uma referência no mercado de desenvolvimento de  software . Java tornou-se popular pelo seu uso na Internet e hoje possui seu ambiente de execução presente em web browsers, mainframes, SOs, celulares, palmtops e cartões inteligentes, entre outros.
Características da linguagem A linguagem Java foi projetada tendo em vista os seguintes objetivos:   Orientação a objeto - Baseado no modelo de Smalltalk e Simula67; Portabilidade - Independência de plataforma -  "write once, run anywhere" ; Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/IP, como HTTP e FTP; Segurança - Pode executar programas via rede com restrições de execução; Sintaxe similar a Linguagem C/C++ e principalmente, a C#. Facilidades de Internacionalização - Suporta nativamente caracteres Unicode; Simplicidade na especificação, tanto da linguagem como do "ambiente" de execução (JVM); É distribuída com um vasto conjunto de bibliotecas (ou APIs); Possui facilidades para criação de programas distribuídos e multitarefa (múltiplas linhas de execução num mesmo programa); Desalocação de memória automática por processo de coletor de lixo ( garbage collector ); Carga Dinâmica de Código - Programas em Java são formados por uma coleção de classes armazenadas independentemente e que podem ser carregadas no momento de utilização.
Ambientes de desenvolvimento É possível desenvolver aplicações em Java através de vários ambientes de desenvolvimento integrado (IDEs). Dentre as opções mais utilizadas pode-se destacar: jEdit (recomendado para programadores iniciantes) JCreator (gratuito/shareware) — um ambiente desenvolvido pela Xinox (recomendado para programadores iniciantes); BlueJ — um ambiente desenvolvido por uma faculdade australiana (considerado muito bom para iniciantes); IDEs completas (recomendado para programadores profissionais): Eclipse (software livre) — um projeto aberto iniciado pela IBM; NetBeans (software livre) — um ambiente criado pela empresa Sun Microsystems; JBuilder — um ambiente desenvolvido pela empresa Borland; JDeveloper (gratuito OTN) — uma IDE desenvolvida pela empresa Oracle; IntelliJ IDEA (comercial) — uma IDE desenvolvida pela JetBrains (considerada por muitos a melhor IDE do mercado). Outras IDEs (menos populares): Gel (gratuito) Greenfoot — bem parecido com o BlueJ; JGRASP — bom para intermediários, feito pela equipe do Projeto GRASP; Java Studio Creator/Enterprise (gratuito SDN) um ambiente criado pela empresa Sun Microsystems; Workshop for WebLogic (comercial/desenvolvedor) um ambiente criado pela empresa Oracle WebSphere Studio Application Developer um ambiente criado pela empresa IBM
Máquina Virtual Java é multiplataforma. Quando um programa Java é compilado um código intermediário é gerado, chamado de bytecode. Este bytecode é interpretado pelas máquinas virtuais java (JVMs) para a maioria dos sistemas operacionais. A máquina virtual é a responsável por criar um ambiente multiplataforma, ou seja, se alguém construir um sistema operacional novo, basta criar uma máquina virtual java que traduza os bytecodes para código nativo e pronto! Todas as aplicações java estarão rodando sem problemas. Entre outras funções, a máquina virtual java também é responsável por carregar de forma segura todas as classes do programa, verificar se os bytecodes aderem a especificação JVM e se eles não violam a integridade e a segurança do sistema. A figura 1.1 mostra como acontece a compilação e a execução de um programa Java. De um código Java, que está em um arquivo. java, o compilador javac gera o bytecode: um arquivo. class. Após isso uma máquina virtual java executa o bytecode e roda o programa.                      Figura 1.1: Compilador e Interpretador Java Como existe um programa traduzindo um código a cada execução do sistema, poderia-se dizer que Java sempre será mais lenta que as linguagens que geram código nativo do sistema operacional como Delphi, VB ou C + +. Isso era fato até 1996 quando a Sun criou o compilador Just-in-time (JIT) que analisa e retira códigos desnecessários aumentando consideravelmente a velocidade da execução. Atualmente o Java é mais rápido que o próprio C em vários aspectos.

Mais conteúdo relacionado

PDF
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Tchelinux
 
ODP
Java 01 Java Visao Geral
Regis Magalhães
 
ODP
Java 01 Java Visao Geral Detalhado
Regis Magalhães
 
ODP
Java 01 Java Visao Geral Resumo
Regis Magalhães
 
PDF
Java basico modulo_01
Daniel Alves
 
PPT
Conhecendo Java
Rafael Carneiro
 
DOCX
Introdução a linguagem java
Rosicleia Frasson
 
PDF
Abstinência: O dia seguinte de um ex-usuário
Ubiratan Z. do Nascimento
 
Desenvolvendo Aplicações Livres em Java - João Avelino Bellomo Filho
Tchelinux
 
Java 01 Java Visao Geral
Regis Magalhães
 
Java 01 Java Visao Geral Detalhado
Regis Magalhães
 
Java 01 Java Visao Geral Resumo
Regis Magalhães
 
Java basico modulo_01
Daniel Alves
 
Conhecendo Java
Rafael Carneiro
 
Introdução a linguagem java
Rosicleia Frasson
 
Abstinência: O dia seguinte de um ex-usuário
Ubiratan Z. do Nascimento
 

Destaque (20)

PPS
Cerrar CapíTulos
SimplementeEulalia
 
PPT
06 4 t2012_victoria sobre las fuerzas del mal
David Germán Chacón Arredondo
 
PPS
Aburrido
Doramas1
 
PDF
Aristóteles (384-322 a. C.)
nieveslopez
 
PPS
Fauna 4
Doramas1
 
PDF
10889
uploadpdfbooks
 
PDF
11264
uploadpdfbooks
 
PPT
Ativid21apresprojetosiracemaenelci
marizaliealvares
 
PPT
Estadística y tics. amanda
Amanda A.c
 
PPTX
Melissa
isabel preto
 
PDF
DablioTi - Apresentação Corporativa
Curso Tutor
 
PPT
Ob.Aprendizagem Sem7 Magali G5
CEMC
 
PPSX
02 08-2010 - mkt-design
Fernando
 
DOC
5. planificación fisica matematica yala 2011
GUILLERMO
 
PDF
12116
uploadpdfbooks
 
PPT
Cada miembro, un ministro
David Germán Chacón Arredondo
 
DOC
Ativ21tereza
marizaliealvares
 
PDF
Tabela dos Jogos
Jaian Tales
 
PDF
11488
uploadpdfbooks
 
PPT
Classes de Palavras!
isabel preto
 
Cerrar CapíTulos
SimplementeEulalia
 
06 4 t2012_victoria sobre las fuerzas del mal
David Germán Chacón Arredondo
 
Aburrido
Doramas1
 
Aristóteles (384-322 a. C.)
nieveslopez
 
Fauna 4
Doramas1
 
Ativid21apresprojetosiracemaenelci
marizaliealvares
 
Estadística y tics. amanda
Amanda A.c
 
Melissa
isabel preto
 
DablioTi - Apresentação Corporativa
Curso Tutor
 
Ob.Aprendizagem Sem7 Magali G5
CEMC
 
02 08-2010 - mkt-design
Fernando
 
5. planificación fisica matematica yala 2011
GUILLERMO
 
Cada miembro, un ministro
David Germán Chacón Arredondo
 
Ativ21tereza
marizaliealvares
 
Tabela dos Jogos
Jaian Tales
 
Classes de Palavras!
isabel preto
 
Anúncio

Semelhante a Java (20)

PPT
27072010221224.introdução a java aula 1
bibliotecadobarao
 
PPT
Java modulo 01 - Introdução
Professor Samuel Ribeiro
 
PDF
Conhecendo Java
TI Infnet
 
PPT
Apostila Java
deilton
 
PPT
Apostila Java
deilton
 
ODP
Java e Software Livre
Glaucio Scheibel
 
PPTX
Curso Android - Dia 1 - Apresentação java
Alex Braz
 
PDF
Mini aula-java
Wanderlei Silva do Carmo
 
PDF
Mini aula-java
Wanderlei Silva do Carmo
 
PPTX
Poo1 aula 1 - java - história e introdução
Denis Sobrenome
 
PPTX
Poo1 aula 1 - java - história e introdução
Denis Sobrenome
 
PDF
Mc1 JAVA
Campus Party Brasil
 
PPTX
Curso Básico de Java - Aula 1
PeslPinguim
 
PPT
Resumo Desenvolvimento Mobile
Cícero Moura
 
PDF
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Paulo César M Jeveaux
 
PPTX
Programação Orientada a Objetos com Java
Álvaro Farias Pinheiro
 
PDF
Android: Conheça o Futuro Inevitável
Campus Party Brasil
 
PDF
Phonegap
Lucas Aquiles
 
ODP
Introdução a Tecnologia Java
Thiago Gonzaga
 
PPTX
Java -aula_01
Helio da Silva
 
27072010221224.introdução a java aula 1
bibliotecadobarao
 
Java modulo 01 - Introdução
Professor Samuel Ribeiro
 
Conhecendo Java
TI Infnet
 
Apostila Java
deilton
 
Apostila Java
deilton
 
Java e Software Livre
Glaucio Scheibel
 
Curso Android - Dia 1 - Apresentação java
Alex Braz
 
Mini aula-java
Wanderlei Silva do Carmo
 
Mini aula-java
Wanderlei Silva do Carmo
 
Poo1 aula 1 - java - história e introdução
Denis Sobrenome
 
Poo1 aula 1 - java - história e introdução
Denis Sobrenome
 
Curso Básico de Java - Aula 1
PeslPinguim
 
Resumo Desenvolvimento Mobile
Cícero Moura
 
Tutorial: Desenvolvimento de aplicacoes moveis com Java
Paulo César M Jeveaux
 
Programação Orientada a Objetos com Java
Álvaro Farias Pinheiro
 
Android: Conheça o Futuro Inevitável
Campus Party Brasil
 
Phonegap
Lucas Aquiles
 
Introdução a Tecnologia Java
Thiago Gonzaga
 
Java -aula_01
Helio da Silva
 
Anúncio

Último (7)

PDF
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
PPTX
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
PPTX
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
PPTX
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
PPTX
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
PPTX
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
PDF
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 
Explorando o Futuro do Corpo: Implantes Neurais e o Biohacking dos Sentidos
cooperliora
 
Gestão de Mudanças - Os maiores desafios da Gestão de Mudanças e Gestão de Pr...
Gateware Group
 
aplicativopenseira.pptx Aplicativo que organiza Pensamentos - Peça Publicitária
StelaNorie1
 
Gestão de Mudanças - Fases do processo de mudança organizacional
Gateware Group
 
Desenvolvimento-de-Produtos-Inovadores.pptx
ssuser1d7565
 
Computacao-e-Tecnologias-Digitais-Por-Que-Aprender.pptx
RobertaOliveiradaFon1
 
Certificado em Redes Neurais Artificiais em Python
CaioSilva506151
 

Java

  • 1.  
  • 2. História Em 1991, na Sun Microsystems, foi iniciado o Green Project , o berço do Java , uma linguagem de programação orientada a objetos. Os mentores do projeto eram Patrick Naughton, Mike Sheridan, e James Gosling. O objetivo do projeto não era a criação de uma nova linguagem de programação, mas antecipar e planejar a “próxima onda” do mundo digital. Eles acreditavam que, em algum tempo, haveria uma convergência dos computadores com os equipamentos e eletrodomésticos comumente usados pelas pessoas no seu dia-a-dia. Para provar a viabilidade desta idéia, 13 pessoas trabalharam arduamente durante 18 meses. No verão de 1992 eles emergiram de um escritório de Sand Hill Road no Menlo Park com uma demonstração funcional da idéia inicial. O protótipo se chamava *7 (leia-se “StarSeven”), um controle remoto com uma interface gráfica touchscreen . Para o *7, foi criado um mascote, hoje amplamente conhecido no mundo Java, o Duke. O trabalho do Duke no *7 era ser um guia virtual ajudando e ensinando o usuário a utilizar o equipamento. O *7 tinha a habilidade de controlar diversos dispositivos e aplicações. James Gosling especificou uma nova linguagem de programação para o *7. Gosling decidiu batizá-la de “Oak”, que quer dizer carvalho , uma árvore que ele podia observar quando olhava pela sua janela. O próximo passo era encontrar um mercado para o *7. A equipe achava que uma boa idéia seria controlar televisões e vídeo por demanda com o equipamento. Eles construíram um demo chamado MovieWood, mas infelizmente era muito cedo para que o vídeo por demanda bem como as empresas de TV a cabo pudessem viabilizar o negócio. A idéia que o *7 tentava vender, hoje já é realidade em programas interativos e também na televisão digital. Permitir ao telespectador interagir com a emissora e com a programação em uma grande rede de cabos, era algo muito visionário e estava muito longe do que as empresas de TV a cabo tinham capacidade de entender e comprar. A idéia certa, na época errada. Entretanto, o estouro da Internet aconteceu e rapidamente uma grande rede interativa estava se estabelecendo. Era este tipo de rede interativa que a equipe do *7 estava tentando vender para as empresas de TV a cabo. E, da noite para o dia, não era mais necessário construir a infra-estrutura para a rede, ela simplesmente estava lá. Gosling foi incumbido de adaptar o Oak para a Internet e em janeiro 1995 foi lançada uma nova versão do Oak que foi rebatizada para Java. A tecnologia Java tinha sido projetada para se mover por meio das redes de dispositivos heterogêneos, redes como a Internet. Agora aplicações poderiam ser executadas dentro dos browsers nos Applets Java e tudo seria disponibilizado pela Internet instantaneamente. Foi o estático HTML dos browsers que promoveu a rápida disseminação da dinâmica tecnologia Java. A velocidade dos acontecimentos seguintes foi assustadora, o número de usuários cresceu rapidamente, grandes fornecedores de tecnologia, como a IBM anunciaram suporte para a tecnologia Java. Desde seu lançamento, em maio de 1995, a plataforma Java foi adotada mais rapidamente do que qualquer outra linguagem de programação na história da computação. Em 2004 Java atingiu a marca de 3 milhões de desenvolvedores em todo mundo[1]. Java continuou crescendo e hoje é uma referência no mercado de desenvolvimento de software . Java tornou-se popular pelo seu uso na Internet e hoje possui seu ambiente de execução presente em web browsers, mainframes, SOs, celulares, palmtops e cartões inteligentes, entre outros.
  • 3. Características da linguagem A linguagem Java foi projetada tendo em vista os seguintes objetivos:   Orientação a objeto - Baseado no modelo de Smalltalk e Simula67; Portabilidade - Independência de plataforma - "write once, run anywhere" ; Recursos de Rede - Possui extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/IP, como HTTP e FTP; Segurança - Pode executar programas via rede com restrições de execução; Sintaxe similar a Linguagem C/C++ e principalmente, a C#. Facilidades de Internacionalização - Suporta nativamente caracteres Unicode; Simplicidade na especificação, tanto da linguagem como do "ambiente" de execução (JVM); É distribuída com um vasto conjunto de bibliotecas (ou APIs); Possui facilidades para criação de programas distribuídos e multitarefa (múltiplas linhas de execução num mesmo programa); Desalocação de memória automática por processo de coletor de lixo ( garbage collector ); Carga Dinâmica de Código - Programas em Java são formados por uma coleção de classes armazenadas independentemente e que podem ser carregadas no momento de utilização.
  • 4. Ambientes de desenvolvimento É possível desenvolver aplicações em Java através de vários ambientes de desenvolvimento integrado (IDEs). Dentre as opções mais utilizadas pode-se destacar: jEdit (recomendado para programadores iniciantes) JCreator (gratuito/shareware) — um ambiente desenvolvido pela Xinox (recomendado para programadores iniciantes); BlueJ — um ambiente desenvolvido por uma faculdade australiana (considerado muito bom para iniciantes); IDEs completas (recomendado para programadores profissionais): Eclipse (software livre) — um projeto aberto iniciado pela IBM; NetBeans (software livre) — um ambiente criado pela empresa Sun Microsystems; JBuilder — um ambiente desenvolvido pela empresa Borland; JDeveloper (gratuito OTN) — uma IDE desenvolvida pela empresa Oracle; IntelliJ IDEA (comercial) — uma IDE desenvolvida pela JetBrains (considerada por muitos a melhor IDE do mercado). Outras IDEs (menos populares): Gel (gratuito) Greenfoot — bem parecido com o BlueJ; JGRASP — bom para intermediários, feito pela equipe do Projeto GRASP; Java Studio Creator/Enterprise (gratuito SDN) um ambiente criado pela empresa Sun Microsystems; Workshop for WebLogic (comercial/desenvolvedor) um ambiente criado pela empresa Oracle WebSphere Studio Application Developer um ambiente criado pela empresa IBM
  • 5. Máquina Virtual Java é multiplataforma. Quando um programa Java é compilado um código intermediário é gerado, chamado de bytecode. Este bytecode é interpretado pelas máquinas virtuais java (JVMs) para a maioria dos sistemas operacionais. A máquina virtual é a responsável por criar um ambiente multiplataforma, ou seja, se alguém construir um sistema operacional novo, basta criar uma máquina virtual java que traduza os bytecodes para código nativo e pronto! Todas as aplicações java estarão rodando sem problemas. Entre outras funções, a máquina virtual java também é responsável por carregar de forma segura todas as classes do programa, verificar se os bytecodes aderem a especificação JVM e se eles não violam a integridade e a segurança do sistema. A figura 1.1 mostra como acontece a compilação e a execução de um programa Java. De um código Java, que está em um arquivo. java, o compilador javac gera o bytecode: um arquivo. class. Após isso uma máquina virtual java executa o bytecode e roda o programa.                     Figura 1.1: Compilador e Interpretador Java Como existe um programa traduzindo um código a cada execução do sistema, poderia-se dizer que Java sempre será mais lenta que as linguagens que geram código nativo do sistema operacional como Delphi, VB ou C + +. Isso era fato até 1996 quando a Sun criou o compilador Just-in-time (JIT) que analisa e retira códigos desnecessários aumentando consideravelmente a velocidade da execução. Atualmente o Java é mais rápido que o próprio C em vários aspectos.