sábado, 22 de novembro de 2008

Introdução a Linguagem Java - Parte 3

AMBIENTE JAVA


A figura abaixo mostra todos os passos desde a compilação até a interpretação de um código gerado em Java.

  1. O programa é criado no editor e armazenado em disco;
  2. O compilador cria bytecodes e os armazena em disco;
  3. O carregador de classe coloca bytecodes na memória;
  4. O verificador de bytecodes confirma que todos os bytecodes são válidos e não violam restrições de segurança de Java;
  5. O interpretador lê os bytecodes e os traduz para uma linguagem que o computador pode entender, possivelmente armazenando valores dos dados enquanto executa o programa.


JVM - Java Virtual Machine

sexta-feira, 14 de novembro de 2008

Introdução a Linguagem Java - Parte 2

A PLATAFORMA JAVA

A tecnologia Java está organizada em três plataformas com objetivos específicos:
  • Java 2 Standard Edition (J2SE): ferramentas e APIs (Application Program Interface) essenciais para qualquer aplicação Java (inclusive para as outras plataformas). É o suficiente se quisermos desenvolver aplicações desktop com ou sem interface gráfica.
  • Java 2 Enterprise Edition (J2EE): ferramentas e APIs para o desenvolvimento de aplicações distribuídas. Engloba tecnologias tais como RMI, EJB, CORBA, JMS, etc.
  • Java 2 Micro Edition (J2ME): ferramentas e APIs para o desenvolvimento de aplicações para aparelhos portáteis (palms, celulares, eletrodomésticos).

SDK - System Development Kit

O SDK corresponde ao produto disponibilizado pela SUN que implementa a plataforma J2SE, provendo o ambiente básico necessário para o desenvolvimento de aplicações.
  • JDK (Java Development Kit ) é composto basicamente por: um compilador (javac) uma máquina virtual java (java) bibliotecas de desenvolvimento (packages java) um programa de composição de documentação (javadoc) um depurador básico de programas (jdb) versão run-time do ambiente de execução (JRE).
Deve ser observado que o JDK não é um ambiente visual de desenvolvimento, embora mesmo assim seja possível o desenvolvimento de aplicações gráficas complexas apenas com o uso do JDK que é, de fato, o padrão em termos da tecnologia Java.
  • JRE (Java Runtime Environment): ambiente para execução de aplicações. Ferramentas para desenvolvimento: compilador, debugger, gerador de documentação, empacotador JAR, etc.
A MÁQUINA VIRTUAL JAVA

O JRE é um conjunto de programas que possibilita executar aplicações Java. O coração do JRE é a Máquina Virtual Java ou Java Virtual Machine (JVM). É ela que possibilita uma das características mais impressionantes da linguagem Java, a portabilidade do código. Vamos compreender um pouco como isso funciona.
  • No processo de compilação, ao invés do programa ser compilado para código de máquina da plataforma que vai ser executado, o programa é compilado para bytecode;
  • O bytecode é genérico, isto é, não é específico para nenhum sistema operacional em particular;
  • Quando um programa Java é executado, o arquivo bytecode é interpretado pelo interpretador da tecnologia java, que é denominado Java Virtual Machine. Existe uma JVM diferente para cada plataforma onde a tecnologia Java pode ser executada e deverá existir uma instalada no computador no qual será executado um programa Java.
quarta-feira, 5 de novembro de 2008

Introdução a Linguagem Java - Parte 1

INTRODUÇÃO

A linguagem Java foi desenvolvida pela Sun Microsystems em 1995. Hoje é uma das mais poderosas ferramentas da atualidade para o desenvolvimento de vários tipos de aplicações e apesar de relativamente nova, a linguagem obteve uma espetacular aceitação por programadores do mundo inteiro, tendo se difundido como nunca antes ocorreu com uma linguagem de programação.



CARACTERÍSTICAS DA LINGUAGEM

Orientada a Objetos
- Paradigma atual mais utilizado na construção de softwares. Dentre suas vantagens, podemos citar reaproveitamento de código e aumento da manutenibilidade dos sistemas assim desenvolvidos.


Simples e Robusta - Java representa em muitos aspectos um aperfeiçoamento da linguagem C++. Ela possui certas características que permitem a criação de programas de forma mais rápida, pois tiram do programador a possibilidade de cometer erros que são comuns de ocorrer em C++.

Gerenciamento Automático de Memória - Em Java não existe ponteiros, isto é, não é permitido ao programador acessar explicitamente uma posição de memória. Java automaticamente gerencia o processo de alocação e liberação de memória, ficando o programador livre desta atividade.

Independência de Plataforma - Um dos elementos chave da linguagem Java é a independência de plataforma, ou seja, um programa Java escrito em uma plataforma pode ser utilizado em uma outra distinta da original. Isto é conseguido através da utilização da JVM - Java Virtual Machine.

Multi-threading - Um programa Java pode conter múltiplas threads para realizar várias tarefas em paralelo.

Compiladores Just-in-Time (JIT)

  • Melhoram a performance
  • São úteis se os mesmos bytecodes forem executados repetidas vezes
  • Traduz bytecodes para instruções nativas
  • Otimizam código repetitivo, tais como ciclos.



ORIENTAÇÃO A OBJETOS E SUAS CARACTERÍSTICAS

Programação Orientada a Objetos é um método de programação baseado no relacionamento entre vários unidades de software chamadas de objetos. Nela, implementa-se um conjunto de classes que determinam as habilidades (métodos) dos objetos presente no software.

Classe representa um conjunto de objetos com características afins. Uma classe define o comportamento dos objetos, através de métodos, e quais estados ele é capaz de manter, através de atributos.

Objeto é uma instância de uma classe. Ele é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.

Métodos definem as habilidades dos objetos, mas as habilidades só entram em ação quando o método é invocado através do objeto.

Atributos (variáveis) são campos destinados ao armazenamento de alguma informação que esteja associada a uma classe ou a um método.

Herança é o mecanismo pelo qual uma classe (subclasse) pode extender a outra classe (superclasse), aproveitando seus comportamentos (métodos) e estados possíveis (atributos). Um exemplo de herança: Mamífero é superclasse de Humano. Ou seja, um Humano é um Mamífero.

Encapsulamento consiste na separação de aspectos internos e externos de um objeto. Este mecanismo é utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos). Exemplo de qualificadores: public, private, protected. Mensagem é uma chamada de um objeto para invocar um de seus métodos, ativando uma habilidade descrita na sua classe.

Polimorfismo em POO quer dizer que existem várias formas de realizar uma mesma operação. Em Java é possível escrever um método dentro de uma classe de tal maneira que ele execute funções diferentes, dependendo do tipo de parâmetro que for informado.

 
;