Escolar Documentos
Profissional Documentos
Cultura Documentos
org/wiki/Java_(linguagem_de_programao)
ndice
1 Histria
1.1 Padronizao
1.2 Aquisio pela Oracle Duke, o mascote do Java
2 Caractersticas
Paradigma Orientao a objetos (baseada
2.1 Licena em classes), estruturada,
3 Exemplos de cdigo imperativa, genrica,
3.1 Mtodo main funcional, reflectiva,
concorrente
3.2 Classes
3.3 Interfaces Surgido em 1995
3.4 Objetos annimos ltima verso 8.0.77 (23 de maro de 2016)
3.5 Programao funcional Criado por James Gosling e Sun
4 Ferramentas Microsystems
4.1 Frameworks Estilo de esttica, forte
4.2 Ambientes de desenvolvimento tipagem:
4.3 Extenses Compiladores GCJ, Javac
5 Certificaes Influenciada Ada 83, C++, C,[1] Eiffel,
6 Comunidade por Generic Java, Mesa, Modula-3,
7 Referncias Object Pascal, Objective-C,
8 Ver tambm UCSD Pascal, Smalltalk
9 Bibliografia Influenciou Ada 2005, BeanShell, C,[2]
10 Ligaes externas Clojure, D, ECMAScript,
Fantom, Groovy, J#,
JavaScript, PHP, Python, Scala
Licena: GNU General Public
Histria License/Java Community
Process
Em 1991, na Sun Microsystems, foi iniciado o Green Project, Pgina oficial https://www.java.com
o bero do Java, uma linguagem de programao orientada a
objetos. Os mentores do projeto eram Patrick Naughton, Mike Sheridan, e James Gosling. Eles acreditavam
que, eventualmente, haveria uma convergncia dos computadores com os equipamentos e eletrodomsticos
frequentemente usados pelas pessoas no seu dia-a-dia.
1 de 8 25/08/2017 18:58
Java (linguagem de programao) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Java_(linguagem_de_programao)
Para provar a viabilidade desta ideia, 13 pessoas trabalharam arduamente durante 18 meses. No vero de
1992 eles emergiram de um escritrio de Sand Hill Road, no Menlo Park, com uma demonstrao funcional
da ideia inicial. O prottipo se chamava *7 (l-se Star Seven), um controle remoto com uma interface
grfica 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 usurio a utilizar o equipamento.
O *7 tinha a habilidade de controlar diversos dispositivos e aplicaes. James Gosling especificou uma nova
linguagem de programao para o *7. Gosling decidiu batiz-la de Oak, que quer dizer carvalho, uma
rvore que ele podia observar quando olhava atravs da sua janela.
O prximo passo era encontrar um mercado para o starseven. A equipe achava que uma boa ideia seria
controlar televises e vdeo por demanda com o equipamento. Eles construram uma demonstrao chamada
de MovieWood, mas infelizmente era muito cedo para que o vdeo por demanda bem como as empresas de
TV a cabo pudessem viabilizar o negcio. A ideia que o *7 tentava vender, hoje j realidade em programas
interativos e tambm na televiso digital. Permitir ao telespectador interagir com a emissora e com a
programao em uma grande rede de cabos, era algo muito visionrio e estava muito longe do que as
empresas de TV a cabo tinham capacidade de entender e comprar. A ideia 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, no era mais necessrio construir a infraestrutura para a rede, ela
simplesmente estava l. Gosling foi incumbido de adaptar o Oak para a internet e em janeiro 1995 foi
lanada uma nova verso do Oak que foi rebatizada para Java. A tecnologia Java tinha sido projetada para
se mover por meio das redes de dispositivos heterogneos, redes como a internet. Agora aplicaes
poderiam ser executadas dentro dos navegadores nos Applets Java e tudo seria disponibilizado pela internet
instantaneamente. Foi o esttico HTML dos navegadores que promoveu a rpida disseminao da dinmica
tecnologia Java. A velocidade dos acontecimentos seguintes foi assustadora, o nmero de usurios cresceu
rapidamente, grandes fornecedores de tecnologia, como a IBM anunciaram suporte para a tecnologia Java.
Desde seu lanamento, em maio de 1995, a plataforma Java foi adotada mais rapidamente do que qualquer
outra linguagem de programao na histria da computao. Em 2004 Java atingiu a marca de 3 milhes de
desenvolvedores em todo mundo. Java continuou crescendo e hoje uma referncia no mercado de
desenvolvimento de software. Java tornou-se popular pelo seu uso na internet e hoje possui seu ambiente de
execuo presente em navegadores, mainframes, sistemas operacionais, celulares, palmtops, cartes
inteligentes etc.
Padronizao
Em 1997 a Sun Microsystems tentou submeter a linguagem a padronizao pelos rgos ISO/IEC e ECMA,
mas acabou desistindo.[3][4][5] Java ainda um padro de fato, que controlada atravs da JCP Java
Community Process.[6] Em 13 de novembro de 2006, a Sun lanou a maior parte do Java como Software
Livre sob os termos da GNU General Public License (GPL). Em 8 de maio de 2007 a Sun finalizou o
processo, tornando praticamente todo o cdigo Java como software de cdigo aberto, menos uma pequena
poro da qual a Sun no possui copyright.[7]
Em 2009 a Oracle Corporation adquire a empresa responsvel pela linguagem Java, a Sun Microsystems,
por US$ 7,4 bilhes, com o objetivo de levar o Java e outros produtos da Sun ao dispor dos consumidores.
Caractersticas
A linguagem Java foi projetada tendo em vista os seguintes objetivos:
2 de 8 25/08/2017 18:58
Java (linguagem de programao) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Java_(linguagem_de_programao)
Licena
A Sun disponibiliza a maioria das distribuies Java gratuitamente e obtm receita com programas mais
especializados como o Java Enterprise System. Em 13 de novembro de 2006, a Sun liberou partes do Java
como software livre, sob a licena GNU General Public License.[8] A liberao completa do cdigo fonte
sob a GPL ocorreu em maio de 2007.[9]
Exemplos de cdigo
Mtodo main
O mtodo main onde o programa inicia. Pode estar presente em qualquer classe. Os parmetros de linha de
comando so enviados para o array de Strings chamado args.
Classes
Exemplo:
3 de 8 25/08/2017 18:58
Java (linguagem de programao) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Java_(linguagem_de_programao)
O exemplo acima cria a classe Animal e duas classes derivadas de Animal. importante observar que nas
classes derivadas temos a redefinio do mtodo fazerBarulho(). Esta redefinio classificada como uma
sobreposio (override) de mtodos. O conceito de sobreposio somente pode ser identificado e utilizado
quando temos classes dispostas em um relacionamento de herana.
Java no suporta herana mltipla, devido a possibilidade de uma classe pai ter um mtodo com o mesmo
nome de outra classe pai, e gerar possveis falhas ao chamar o mtodo, e todas as classes em Java derivam
da classe Object. A nica possibilidade de se ver herana mltipla em Java no uso de interfaces, pois uma
classe pode implementar vrias interfaces.
Interfaces
Uma interface modela um comportamento esperado. Pode-se entend-la como uma classe que contenha
apenas mtodos abstratos. Embora uma classe no possa conter mais de uma super classe, a classe pode
implementar mais de uma interface. Exemplo:
Objetos annimos
Podemos ter tambm objetos annimos, onde no necessrio instanciar o objeto em uma varivel para
utiliz-lo. Exemplo:
4 de 8 25/08/2017 18:58
Java (linguagem de programao) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Java_(linguagem_de_programao)
Programao funcional
A partir da verso 8, o Java adiciona aspectos de linguagem funcional, permitindo utilizar tcnicas
funcionas, como mapeamento, reduo, bem como tratar funes como variveis. Para tanto, a linguagem
utiliza de interfaces para esse tipo de manipulao.
Exemplo:
// Adiciona paradigmas
paradigmas.add("Genrico (1.5)");
paradigmas.add("Funcional (8)");
Ferramentas
Frameworks
possvel utilizar frameworks para facilitar o desenvolvimento de aplicaes, dos quais os mais utilizados
podem-se destacar:
Ambientes de desenvolvimento
BlueJ um ambiente desenvolvido por uma faculdade australiana (considerado muito bom para
iniciantes)
JCreator (gratuito/shareware) um ambiente desenvolvido pela Xinox (recomendado para
5 de 8 25/08/2017 18:58
Java (linguagem de programao) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Java_(linguagem_de_programao)
programadores iniciantes)
jEdit (recomendado para programadores iniciantes)
Eclipse (recomendado para programadores fluentes)
Extenses
Extenses em Java:
Certificaes
6 de 8 25/08/2017 18:58
Java (linguagem de programao) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Java_(linguagem_de_programao)
Cada certificao testa algum tipo de habilidade dentro da plataforma e linguagem Java. Todos os testes so
realizados pela empresa Person VUE[11] e so reconhecidos internacionalmente.
Comunidade
A comunidade de desenvolvedores Java rene-se em grupo denominados JUGs (Java User Groups). No
Brasil o movimento de grupos de usurios expandiu-se bastante e tem formado alguns dos maiores grupos
de usurios Java do mundo[12], como por exemplo o PortalJava, GUJ e o JavaFree.
Referncias
7. open.itworld.com - JAVAONE: Sun - The bulk of
1. Java 5 catches up with C# Java is open sourced (http://open.itworld.com
(http://www.barrycornelius.com/papers/java5 /4915/070508opsjava/page_1.html)
/onefile/) (em ingls). Universidade de Oxford. 8. Sun begins releasing Java under the GPL
Consultado em 10 de janeiro de 2010 (http://www.fsf.org/news/fsf-welcomes-
2. Why Microsoft's C# isn't (http://news.cnet.com gpl-java.html) (em ingls). Consultado em 6 de
/2008-1082-817522.html) (em ingls). CNET. julho de 2010
Consultado em 10 de janeiro de 2010 9. JavaOne opening keynote notes and comments
3. Java Study Group (http://www.open-std.org (http://rollerweblogger.org/roller/entry
/JTC1/SC22/JSG/) /javaone_opening_keynote_notes) (em ingls).
4. Why Java Was - Not - Standardized Twice Consultado em 6 de julho de 2010
(http://csdl2.computer.org/comp/proceedings/hicss 10. Java Certification (http://www.sun.com/training
/2001/0981/05/09815015.pdf) /certification/java/index.xml)
5. What is ECMA--and why Microsoft cares 11. Person VUE (http://www.pearsonvue.com)
(http://techupdate.zdnet.com/techupdate/stories 12. Profissao Java - Pgina 13- Java no Brasil
/main/0,14179,2832719,00.html) (http://www.profissaojava.com.br/arquivos
6. Java Community Process website /ProfissaoJava-Abertura.pdf)
(http://www.jcp.org/en/home/index)
Ver tambm
C
Microsoft .NET
Plataforma Java
Bibliografia
Harvey M. Deitel (2005). Java: Como Programar 6 ed. So Paulo: Pearson education do Brasil.
1097 pginas
Apostila Java e Orientao a Objetos (http://www.caelum.com.br/apostila-java-orientacao-objetos/),
7 de 8 25/08/2017 18:58
Java (linguagem de programao) Wikipdia, a enciclopdia livre https://pt.wikipedia.org/wiki/Java_(linguagem_de_programao)
Ligaes externas
Website oficial (http://www.oracle.com/technetwork/java/index.html) (em ingls)
Website oficial (http://www.oracle.com/br/technologies/java/index.html) (em portugus)
Tutoriais oficiais (http://download.oracle.com/javase/tutorial/) (em ingls)
Java (https://dmoztools.net/Computers/Programming/Languages/Java) no DMOZ
Obtida de "https://pt.wikipedia.org/w/index.php?title=Java_(linguagem_de_programao)&
oldid=49537706"
Esta pgina foi editada pela ltima vez (s) 12h03min de 9 de agosto de 2017.
Este texto disponibilizado nos termos da licena Creative Commons - Atribuio - Compartilha
Igual 3.0 No Adaptada (CC BY-SA 3.0); pode estar sujeito a condies adicionais. Para mais
detalhes, consulte as condies de uso.
8 de 8 25/08/2017 18:58