Saltar para o conteúdo

Java (linguagem de programação): diferenças entre revisões

Origem: Wikipédia, a enciclopédia livre.
Conteúdo apagado Conteúdo adicionado
(Sem diferenças)

Revisão das 17h23min de 24 de junho de 2003

Linguagem de programação orientada a objetos criada pela empresa Sun Microsystem em 1991 . No inicio tinha a finalidade se ser utilizada em eletrodomésticos, foi projetada e implementada por um pequeno grupo de pessoas, coordenado por James Gosling na Sun. www.javasoft.com/people/jag/index.html . Tornou-se famosa após o seu uso na internet, pela suas facilidades (Prós) Programas dinâmicos e extensíveis, Código Java organizado em unidades modulares orientadas por objeto chamadas classes. Cada classe é armazenada em um arquivo separado e somente descarregadas para o interpretador Java quando necessárias. O código torna-se uma coleção interativa de componentes independentes de software. Internacionalização, única linguagem de programação que suporta Unicode. Eficiência do programador e tempo de comercialização , conjunto de APIs (Application Programming Interface) poderoso e bem projetado. Por que Java? Torna as páginas da Web mais interessantes Som, vídeo, animações, relógios, contadores Nova plataforma, pode-se criar uma grande variedade de aplicações,planilhas eletrônicas, processadores de texto, jogos, salas de bate-papo, programas financeiros, gerência de recursos humanos, etc. Portabilidade (Independente de plataforma), familiaridade (Similar ao C, C++), simplicidade (especificação simples – LP e JVM), distribuição (biblioteca poderosa – recursos p/ programação distribuída e concorrente), segurança (programas via rede com restrições de execução), orientada a objetos (baseada no modelo de Smalltalk e Simula67) Contras: Desempenho, eficiência (código interpretado: bytecode), necessidade de uma máquina virtual, por ser interpretada, torna-se mais lenta. Engenharia Reversa, bytecodes traduzidos facilmente p/ fonte java, bytecodes (programa-fonte praticamente completo - sem comentários), instabilidade, algumas APIs (bibliotecas) ainda instáveis, (In)segurança restrições pesadas ou ainda bem passíveis de serem violadas. Conceitos Gerais: Carga Dinâmica de Código, programas não monolíticos: cada classe é armazenada independentemente e pode ser carregada somente qdo for utilizada. Concorrência,permite múltiplas linhas de execução (threads) num mesmo programa e oferece primitivas para sincronizá-las. Pilha de Execução, idêntica a outras OOPLs (cada thread numa pilha própria), coleta automática de lixo, desalocação de memória (objetos) automática. Tratamento de Exceções , modelo de Objetos, incorpora todos os principais conceitos Recursos de Rede, extensa biblioteca de rotinas que facilitam a cooperação com protocolos TCP/IP, como HTTP e FTP. Maior facilidade de criação de conexões de rede do que C ou C++. Aplicações Java podem abrir e acessar objetos na rede através das URLs.