Jump to content

Uma nova Web Cheats está a caminho!

A WebCheats é a maior e melhor comunidade de cheats do Brasil. Temos mais de 14 anos de existência, isso graças aos membros que nos apoiaram e ajudaram ao longo da nossa história!
Veja mais...
Notícia
  • Junte-se ao clube de Membros VIP e desfrute benefícios
Sign in to follow this  
Dcan

Introdução

Recommended Posts

Java

Java é uma linguagem de programaçãoorientada a objeto desenvolvida na década de 90 por umaequipe de programadores chefiada por James Gosling, na empresaSun Microsystems. Diferentemente das linguagens convencionais,que são compiladas para código nativo, a linguagemJava é compilada para um "bytecode" que éexecutado por uma máquina virtual. A linguagem de programaçãoJava é a linguagem convencional da Plataforma Java, masnão sua única linguagem.

Histórico

Em 1991, na Sun Microsystems, foi iniciado o GreenProject, o berço do Java, uma linguagem de programaçãoorientada a objetos. Os mentores do projeto eram Patrick Naughton,Mike Sheridan, e James Gosling. O objetivo do projeto nãoera a criação de uma nova linguagem de programação,mas antecipar e planejar a “próxima onda” domundo digital. Eles acreditavam que, em algum tempo, haveria umaconvergência dos computadores com os equipamentos e eletrodomésticoscomumente usados pelas pessoas no seu dia-a-dia.

 

Para provar a viabilidade desta idéia, 13pessoas trabalharam arduamente durante 18 meses. No verãode 1992 eles emergiram de um escritório de Sand Hill Roadno Menlo Park com uma demonstração funcional daidéia inicial. O protótipo se chamava *7 (leia-se“StarSeven”), um controle remoto com uma interfacegráfica touchscreen. Para o *7, foi criado um mascote,hoje amplamente conhecido no mundo Java, o Duke. O trabalho doDuke no *7 era ser um guia virtual ajudando e ensinando o usuárioa utilizar o equipamento. O *7 tinha a habilidade de controlardiversos dispositivos e aplicações. James Goslingespecificou uma nova linguagem de programação parao *7. Gosling decidiu batizá-la de “Oak”, quequer dizer carvalho, uma árvore que ele podia observarquando olhava pela sua janela.

 

O próximo passo era encontrar um mercadopara o *7. A equipe achava que uma boa idéia seria controlartelevisões e vídeo por demanda com o equipamento.Eles construíram um demo chamado MovieWood, mas infelizmenteera muito cedo para que o vídeo por demanda bem como asempresas de TV a cabo pudessem viabilizar o negócio. Aidéia que o *7 tentava vender, hoje já érealidade em programas interativos e também na televisãodigital. Permitir ao telespectador interagir com a emissora ecom a programação em uma grande rede cabos, eraalgo muito visionário e estava muito longe do que as empresasde TV a cabo tinham capacidade de entender e comprar. A idéiacerta, na época errada.

 

Entretanto, o estouro da Internet aconteceu e rapidamenteuma grande rede interativa estava se estabelecendo. Era este tipode rede interativa que a equipe do *7 estava tentando vender paraas empresas de TV a cabo. E, da noite para o dia, não eramais necessário construir a infra-estrutura para a rede,ela simplesmente estava lá. Gosling foi incumbido de adaptaro Oak para a Internet e em janeiro 1995 foi lançada umanova versão do Oak que foi rebatizada para Java. A tecnologiaJava tinha sido projetada para se mover por meio das redes dedispositivos heterogêneos, redes como a Internet. Agoraaplicações poderiam ser executadas dentro dos browsersnos Applets Java e tudo seria disponibilizado pela Internet instantaneamente.Foi o estático HTML dos browsers que promoveu a rápidadisseminação da dinâmica tecnologia Java.A velocidade dos acontecimentos seguintes foi assustadora, o númerode usuários cresceu rapidamente, grandes fornecedores detecnologia, como a IBM anunciaram suporte para a tecnologia Java.

 

Desde seu lançamento, em maio de 1995, aplataforma Java foi adotada mais rapidamente do que qualquer outralinguagem de programação na história da computação.Em 2003 Java atingiu a marca de 4 milhões de desenvolvedoresem todo mundo. Java continuou crescendo e hoje é uma referênciano mercado de desenvolvimento de software. Java tornou-se popularpelo seu uso na Internet e hoje possui seu ambiente de execuçãopresente em web browsers, mainframes, SOs, celulares, palmtopse cartões inteligentes, entre outros.

Padronização

Em 1997 a Sun Microsystems tentou submeter a linguagema padronização pelos orgãos ISO/IEC e ECMA,mas acabou desistindo. Java ainda é um standard de fato,que é controlada através da JCP Java Community Process.Em 13 de Novembro de 2006, a Sun lançou a maior parte doJava como Software Livre sob os termos da GNU General Public License(GPL). Em 8 de Maio de 2007 a Sun finalizou o processo, tornandopraticamente todo o código Java como software de códigoaberto, menos uma pequena porção que a Sun nãopossui copyright.

Principais Características da Linguagem Java

A linguagem Java foi projetada tendo em vista osseguintes 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;

Além disso, podem-se destacar outras vantagensapresentadas pela linguagem:

  • Sintaxe similar a Linguagem C/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.

Máquina Virtual Java

Programas Java não são traduzidospara a linguagem de máquina,como outras linguagens estaticamentecompiladas e sim para uma representação intermediária,chamada de bytecodes.

 

Os bytecodes são interpretados pela máquinavirtual Java (JVM - Java Virtual Machine). Muitas pessoas acreditamque por causa desse processo, o código interpretado Javatem baixo desempenho. Durante muito tempo esta foi uma afirmaçãoverdadeira. Porém novos avanços têm tornadoo compilador dinâmico (a JVM), em muitos casos, mais eficienteque o compilador estático.

 

Java hoje já possui um desempenho próximodo C++. Isto é possível graças a otimizaçõescomo a compilação especulativa, que aproveita otempo ocioso do processador para pré-compilar bytecodepara código nativo. Outros mecanismos ainda mais elaboradoscomo o HotSpot da Sun, que guarda informações disponíveissomente em tempo de execução (ex.: númerode usuários, processamento usado, memória disponível),para otimizar o funcionamento da JVM, possibilitando que a JVMvá "aprendendo" e melhorando seu desempenho.Isto é uma realidade tão presente que hoje éfácil encontrar programas corporativos e de missãocrítica usando tecnologia Java. No Brasil, por exemplo,a maioria dos Bancos utiliza a tecnologia Java para construirseus home banks, que são acessados por milhares de usuáriosdiariamente. Grandes sítios como o eBay utilizam Java paragarantir alto desempenho. E a cada ano Java tem se tornado maisrápido, na medida que se evolui o compilador dinâmico.

 

Essa implementação no entanto temalgumas intrínsecas. A pré-compilaçãoexige tempo, o que faz com que programas Java demorem um temposignificativamente maior para começarem a funcionar. Soma-sea isso o tempo de carregamento da máquina virtual. Issonão é um grande problema para programas que rodamem servidores e que deveriam ser inicializados apenas uma vez.No entanto isso pode ser bastante indesejável para computadorespessoais onde o usuário deseja que o programa rode logodepois de abri-lo. A próxima versão da máquinavirtual produzida pela Sun promete novos recursos que irãominimizar este fato.1

 

O Java ainda possui uma outra desvantagem considerávelem programas que usam bastante processamento numérico.O padrão Java tem uma especificação rígidade como devem funcionar os tipos numéricos. Essa especificaçãonão condiz com a implementação de pontosflutuantes na maioria dos processadores o que faz com que o Javaseja significativamente mais lento para estas aplicaçõesquando comparado a outras linguagens.

 

Os bytecodes produzidos pelos compiladores Javapodem ser usados num processo de engenharia reversa para a recuperaçãodo programa-fonte original. Esta é uma característicaque atinge em menor grau todas as linguagens compiladas. No entantojá existem hoje tecnologias que "embaralham"e até mesmo criptografam os bytecodes praticamente impedindoa engenharia reversa.

Extensões

Extensões em Java:

  • J2SE (Standard Edition)
  • J2EE (Enterprise Edition)
  • J2ME (Micro-Edition for PDAs and cellular phones)
  • JCE (Java Cryptography Extension)
  • JMF (Java Media Framework)
  • JNDI (Java Naming and Directory Interface)
  • JSML (Java Speech API Markup Language)
  • JDBC (Java Database Connectivity)
  • JMS (Java Message Service)
  • JAAS (Java Authentication and Authorization Service)
  • JDO (Java Data Objects)
  • JAIN (Java API for Integrated Networks)
  • JDMK (Java Dynamic Management Kit)
  • Jini (a network architecture for the construction of distributed systems)
  • Jiro
  • JXTA (open source-based peer-to-peer infrastructure)
  • Java Card
  • JavaSpaces
  • JMI (Java Metadata Interface)
  • JMX (Java Management Extensions)
  • JSP (JavaServer Pages)
  • JSF (JavaServer Faces)
  • JNI (Java Native Interface)
  • J3D (A high level API for 3D graphics programming)
  • JOGL (A low level API for 3D graphics programming, using OpenGL)
  • OSGi (Dynamic Service Management and Remote Maintenance)
  • SuperWaba (JavaVMs for handhelds)
  • MARF (Modular Audio Recognition Framework)
  • JavaFX

Frameworks

É possível utilizar frameworks parafacilitar o desenvolvimento de aplicações. Dentreos mais utilizados pode-se destacar:

  • Hibernate ferramenta para ORM;
  • Spring ferramenta que auxilia principalmente implementação de injeção de dependências e inversão de controle;
  • Log4j ferramenta para facilitar a criação de logs na aplicação;
  • Junit ferramenta para auxiliar na criação de testes unitários;
  • Struts controlador MVC (Model 2) web.

Ambientes de desenvolvimento

É possível desenvolver aplicaçõesem Java através de vários ambientes de desenvolvimentointegrado (IDE's). Dentre as opções mais utilizadaspode-se destacar:

  • Eclipse — um projeto aberto iniciado pela IBM;
  • NetBeans — um ambiente criado pela empresa Sun Microsystems;
  • JBuilder — um ambiente desenvolvido pela empresa Borland;
  • JDeveloper — uma IDE desenvolvida pela empresa Oracle;
  • JCreator — um ambiente desenvolvido pela Xinox.
  • BlueJ — um ambiente desenvolvido por uma faculdade australiana(muito bom para iniciantes).
  • Greenfoot — bem parecido com o BlueJ
  • JGRASP — bom para intermediários, feito pela equipe do projeto GRASP.
  • IntelliJ IDEA — uma IDE desenvolvida pela JetBrains (considerada por muitos a melhor IDE do mercado).

Certificações

Existem 8 tipos de certificaçõesda Sun Microsystems para Java:

  • Sun Certified Enterprise Architect (SCEA)
  • Sun Certified Mobile Application Developer (SCMAD)
  • Sun Certified Developer For Java Web Services (SCDJWS)
  • Sun Certified Business Component Developer (SCBCD)
  • Sun Certified Web Component Developer (SCWCD)
  • Sun Certified Java Developer (SCJD)
  • Sun Certified Java Programmer (SCJP)
  • Sun Certified Java Associate (SCJA)
  • Cada certificação testa algum tipo de habilidade dentro da plataforma e linguagem Java. Todos os testes são realizados pela empresa Prometric e são reconhecidos internacionalmente.

Comunidade

A comunidade de desenvolvedores Java reúne-seem grupo denominados JUGs (Java User Groups). No Brasil o movimentode grupos de usuários expandiu-se bastante e tem formadoalguns dos maiores grupos de usuários Java do mundo, comopor exemplo o PortalJava e o GUJ.

Licença

A Sun disponibiliza a maioriadas distribuições Java gratuitamente e obtémreceita com programas mais especializados como o Java EnterpriseSystem. Em 13 de novembro de 2006, Sun liberou partes de Javacomo software livre, sob a licença GNU General Public License(GPL). A liberação completa dos programas fontesob a GPL é esperada para o primeiro trimestre de 2007.

  • Like 1

A vida lhe dar desafios, entre esses uns longos mas nada que tome todo o seu tempo. - Klaus

giphy.gif

 

tgtceqV.png v3hpfp6.png yKSRniq.png f3uQKY9.png behVjSE.png zekazca.png f3uQKY9.png AHFoSmc.png BRzGtem.png behVjSE.png  tkeNAmv.png behVjSE.png

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...