Tecnologia JAVA!
Aqui serão apresentadas algumas informações sobre a tecnologia JAVA, referente á apresentação do trabalho do professor Mirair Antônio da Costa, disciplina Introdução á Computação.
O que é Java?
Java é uma tecnologia. Basicamente constitui-se de uma linguagem de programação e um programa para execução chamado de máquina virtual ou virtual machine. Quando programa-se em Java usa-se a linguagem de programação e um ambiente de desenvolvimento para gerar um software que será executado em um ambiente de distribuição. Tudo isso é Java.
O que pode ser feito em Java?
Java é uma linguagem que não se prende a nenhuma arquitetura e a nenhuma empresa, é rápida e estável. Pode construir sistemas críticos, sistemas que precisam de velocidade e até sistemas que vão para fora do planeta, como a sonda Spirit enviada pela Nasa para Marte. Java tem um mar de projetos open source, que estão lá, esperando por usuários e desenvolvedores.
Java tem o apoio, a participação e o patrocínio das maiores organizações e empresas de tecnologia do Mundo: Oracle, Sun Microsystems, IBM, Nokia Corporation, Hewlett-Packard, Borland Software Corporation, Apache Software Foundation, SAP AG, SavaJe Tenologies, Apple Computer Inc, Cisco Systems, Fujitsu Limited, Macromedia Inc, Rational Software, Unisys, America Online, Hitachi LTDA, Mitsubishi Eletric Corp, NEC, Sony Internacional, Sharp, Ericsson Inc, Matsushita Eletric, Motorola, Samsung Eletronics, Siemens AG, Symbian, Novell, PalmSource Inc, BEA Systems, Object People e muitas outras.
Um pouco de história
A tecnologia Java começou a ser criada em 1991 com o nome de Green Project. O projeto era esperado como a próxima geração de software embarcado. Nele trabalhavam James Grosling, Mike Sheridan e Patrik Naughton. Em 1992 surge a linguagem Oak. A primeira máquina virtual implementada. Várias tentativas de negócio foram feitas para vender o Oak mas nenhuma com sucesso.
Em 1994 explode a internet, e a Sun vê uma nova possibilidade para o Green Project e cria uma linguagem para construir aplicativos Web baseada na linguagem Oak. Em 23 de maio de 1995 a linguagem Java é oficialmente lançada na SunWorld Expo 95 com a versão JDK 1.0 alpha. A Netscape aposta na idéia e inicia a implementação de interpretadores Java em seu navegador, possibilitando a criação de Java applets. A partir desta etapa o Java começa a crescer muito.
De 1998 até hoje a tecnologia evoluiu muito possuindo um dos maiores repositórios de projetos livres do mundo, o java.net. Em 1999 surgiu a plataforma para desenvolvimento e distribuição corporativa batizado de Java 2 Enterprise Edition (J2EE) e a plataforma Java 2 Mobile Edition (J2ME) para dispositivos móveis, celulares, PDAs e outros aparelhos limitados.
Atualmente Java é uma das linguagens mais usadas e serve para qualquer tipo de aplicação, entre elas: web, desktop, servidores, mainframes, jogos, aplicações móveis, chips de identificação, etc.
Hoje até mesmo seu cartão de crédito pode ter tecnologia Java!
Principais Características da Linguagem Java
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;
- 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 vantagens apresentadas pela linguagem:
- 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;
- 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.
A 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 imagem 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. hoje o Java é mais rápido que o próprio C em muitos aspectos.
As três grandes edições
Java se divide em três grandes edições.
- Java 2 Standard Edition (J2SE): É a tecnologia Java para computadores pessoais, notebooks e arquiteturas com poder de processamento e memória consideráveis. É com elas que a maioria das aplicações são construídas e executadas. O J2SE possui duas divisões:
- Java Development Kit (JDK) ou Standard Development Kit (SDK): um conjunto para desenvolvimento em Java e deveria ser instalado apenas pelos desenvolvedores por possuir ferramentas para tal tarefa.
- Java Runtime Edition JRE: uma versão mais leve da JDK pois é preparada para o ambiente de execução, ou seja, é esta versão que executará os sistemas construídos com a SDK.
- Java 2 Mobile Edition (J2ME): É a tecnologia Java para dispositivos móveis com limitações de memória ou processamento. Possui APIs bem simples e leves para economizar espaço, memória e processamento. São utilizadas para sistemas em celulares, palm tops, pocket pcs, smartphones, javacards e demais dispositivos. O J2ME se divide em dois grupos de bibliotecas. É dividida em dois grupos:
- Connected Limited Device Configuration (CLDC): Para celulares e smartphones, que são mais limitados
- Connected Device Configuration (CDC): Para Palmtops e Pocket pcs e alguns dispositívos mais poderosos.
- Java 2 Enterprise Edition (J2EE): É a tecnologia Java para aplicações corporativas que podem estar na internet ou não. Possui um grande número de APIs onde a segurança é a principal preocupação. É ideal para a construção de servidores de aplicação, integração de sistemas ou distribuição de serviços para terceiros.
Exemplo da plataforma Java 2 Standard Edition
Podemos analisar toda a complexidade da arquitetura J2SE. Esta imagem mostra todos os recursos que estão disponíveis, incluindo a separação entre JRE e JDK.
Figura 1.2 : Plataforma J2SE
Umas da maiores e, talvez, mais usadas APIs da J2SE é a Swing. Swing é uma biblioteca de classes para a construção de interfaces gráficas em ambiente desktop. Entre as classes existentes estão: Telas, botões, diálogos, mensagens, editores, entre outros.
Conceitos Erraos sobre Java
1-Trata-se de uma extensão do html
Falso! Na realidade o Java é uma linguagem completa, derivada do Smalltalk e do C++.
2- É apenas uma linguagem como outra qualquer.
Falso! O Java possui uma linguagem única que permite componentes para todos os ambientes
3- Todos os programas Java rodam em páginas Web.
Falso! Existem 3 ambientes distintos(JSE,JEE,JME) de execução para programas Java
4- O Javascript é uma versão light do Java.
Falso! A Netscape aproveitou a onde marketing e batizou sua tecnologia, LiveScript como javascript.
5- A linguagem Java é interpretada sendo muito lenta para aplicações sérias.
Falso! A linguagem Java realmente exige a interpretação, mas inclui tamém compilação. A forma como a dupla compilador/interpretador trata os programas, garante um desempenho muitas vezes equivalete ao do C++.
6- É difícil programas em Java.
Falso! A programação Java em si é relativamente simples. A única possível dificuldade inicial é a assimilação dos conceitos da Orientação á Objetos
Ambientes de desenvolvimento
É possível desenvolver aplicações em Java através de vários ambientes de desenvolvimento integrado (IDE’s). Dentre as opções mais utilizadas pode-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 (considerado 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).
Links
http://br.sun.com/
http://java.sun.com/
http://today.java.net/jag/
http://www.javawiki.com.br/
http://java.sun.com/docs/books/tutorial/
http://www.javafree.org/wiki/Java



Ótimo post, me ajudou muito. Obrigada!