Introdução ao Java Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico FATEC-PB  Centro de Informática, UFPE.

Slides:



Advertisements
Apresentações semelhantes
Capítulo 1 Introdução.
Advertisements

Histórico do Java 1990 James Gosling (Sun Microsystems)
Linguagens de programação
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Introdução à Linguagem Java
TRABALHO SOBRE LINGUAGUEM DE PROGRAMAÇAO CARACTERISTICAS DO JAVA
Introdução a Programação Orientada a Objetos
Linguagem de Programação C#
Conceitos de J2EE para a WEB
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009.
Paradigmas de Linguagens de Programação Aula 2
SISTEMAS OPERACIONAIS I
MINI CURSO J2ME Vinícius Maran SEMINÁRIO REGIONAL DE INFORMÁTICA 2008.
Java Básico Instrutor: Davi Pires
Introdução JAVA Faculdade Mauricio de Nassau
Análise de Artigo – TL2 Techniques for Obtaining High Performance in Java Programs IFFAT H. KAZI, HOWARD H. CHEN, BERDENIA STANLEY, AND DAVID J. LILJA.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Linguagem de Programação JAVA
Introdução a Programação Orientada a Objetos
Java Disciplina: Programação II Professora: Mai-Ly Vanessa.
Programação em Java Prof. Edvan Chaves.
Prof. Dr. Norian Marranghello Grupo 10 Hugo Brandão Uchôa Renato Moreno Peixoto de Mello Acessos não uniforme à memória.
Larva/Virtuos í Antonio Kantek T ó picos Avan ç ados de Programa ç ão Orientada a Objetos - MAC 413/5715 Segundo Semestre de 2003 Prof. Fabio Kon.
GERÊNCIA DE REQUISITOS Engenharia de Requisitos Departamento de Informática Pontifícia universidade Católica do Rio de Janeiro (PUC-Rio) Joanna.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Prof. Cristian Rodrigo Dalcico. Linguagem de Programação Java Aula 1.
Introdução POO Thiago Medeiros Sistemas de Informação Definição: Sistemas de Informação é uma combinação de pessoas, dados, processos, redes de.
Paradigmas de Programação. Paradigma de Programação Um paradigma de programação fornece e determina a visão que o programador possui sobre a estruturação.
Aula 01 Conhecendo o Computador Prof. Filipe Mutz.
1 Applied Stats ™ Versão 4.4 Software para Controle Estatístico de Processos (CEP) em Tempo Real.
Método para Estudo e Intervenção nas Organizações Forma de intervenção nas organizações.
Java é uma linguagem de programação e uma plataforma de computação lançada pela primeira vez pela Sun Microsystems em É a tecnologia que capacita.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais Prof.: Gustavo Wagner
Administração de operações
O Sistema e a Contingência Luciano Thomé e Castro.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Prof: Gustavo Wagner
IFRN Técnico em Informática para Internet Desenvolvimento de Algoritmos Prof. Gilbert Azevedo.
O que é o Engeman®?  O Engeman® é um software de gerenciamento, planejamento e controle da Manutenção e Serviços. Seu nome Engeman® provém da sua principal.
Universidade do Estado de Santa Catarina DEPS – Departamento de Engenharia de Produção e Sistemas Estudo de Tempos e Métodos Estudo de Tempos e Métodos.
Solução de Software Livre para Transmissão de Boletim de Urna via Internet Apresentação: Félix Valois – TRE-TO
Noções de projeto orientado a objetos - camadas Prof. Gustavo Wagner (alterações) Prof. Tiago Massoni (Slides originais) Desenvolvimento de Sistemas FATEC-PB.
Programação para Internet Aula 06 Linguagem Java (Orientação a Objetos – Atributos e Métodos)
Polimorfismo com Interfaces Pacotes em Java Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB.
Introdução à plataforma Java. 2 A tecnologia Java Java: linguagem de programação e plataforma de desenvolvimento Criada pela Sun Microsystems Apoiada.
Faculdade de Tecnologia SENAC Pelotas/RS Curso Superior de Tecnologia em Redes de Computadores Projeto Integrador I Seminário Final Funcionalidades da.
3. SELEÇÃO DE PRESTADOR DE SERVIÇOS LOGÍSTICOS 3
Capítulo 1 Introdução aos Sistemas Operacionais Curso Técnico de Redes de Computadores Professor Emerson Felipe Administração de Sistemas Operacionais.
Alessandro D. R. Fazenda
Jean Carlo Mendes
ANÁLISE ERGONÔMICA DOS POSTOS DE TRABALHO (Material Adaptado do Programa de Pós-Graduação da Engenharia de Produção e Sistemas da Universidade Federal.
GESTÃO DE PROJETOS. 1. Introdução ao Gerenciamento de Projetos 1.1. Definições de Projeto, Programa e Portfólio. Relações entre Gerenciamento de Projetos,
Introdução ao Eclipse 3.2 Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico  Centro de Informática, UFPE.
DINÂMICA POPULACIONAL DO NECROMYS LASIURUS EM UMA PAISAGEM ALTAMENTE MODIFICADA M ICHELLE A NDRADE F URTADO Instituto Nacional de Pesquisas Espaciais –
AULA Mais Herança Curso: Informática (Subseqüente) Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
Herança e Polimorfismo Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
Tecnologia como ferramenta para redução de custos no cartório Luiz Werner
INE5408 Estruturas de Dados Estruturas de Dados básicas utilizando Vetores - Listas.
B.I. Business Inteligence PROFESSOR MARCELO CAMPINHOS.
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.
Implementação Orientada a Objetos – Aula 02 Introdução ao Java Prof. Danielle Martin Universidade de Mogi das Cruzes.
Revisão de Conceitos Thiago Medeiros Barros. Algoritmos Qualquer problema de computação pode ser resolvido executando uma série de ações em uma ordem.
Sistema de cadastramento de associados em dispositivos móveis Luthiano Rodrigues Venecian Prof. orientador: Augusto Caringi.
SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC PELOTAS Rafael N. Folha Projeto Integrador II 17/09/12.
SOFTWARE Software Aplicativo – Executa Tarefas de Processamento de informações para usuários finais. Software de Sistemas – Gerencia e Apóia operações.
VARIÁVEIS EM JAVA Dilvan Moreira (baseado no livro Big Java)
Conhecendo o Ambiente de Programação Java Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico  Centro de Informática,
Reconhecimento de Padrões Mineração de Dados para Detecção de Padrões de Mudança de Cobertura da Terra Padrões e processos em Dinâmica de uso e Cobertura.
Introdução Gerência de Redes PROFESSOR – RENATO WILLIAM, MSC – IFCE – CAMPUS CEDRO BACHARELADO EM SISTEMAS DE INFORMAÇÃO – S3.
Transcrição da apresentação:

Introdução ao Java Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico FATEC-PB  Centro de Informática, UFPE

2 Java Criada pela Sun Microsystems Especificação de uma linguagem –programação orientada a objetos –propósito geral –Hoje padronização no Java Community Process (JCP) Normalmente associada à explosão da Web como ambiente de trabalho e lazer (applets)

3 Java Ao mesmo tempo uma linguagem e uma plataforma (máquina virtual e bibliotecas) Surgiu do questionamento eficiência vs. Portabilidade (simplicidade) Idéias inovadoras que influenciaram a indústria de forma significativa –Visual J++, C#

4 Histórico 1990: início dos trabalhos na Sun com portabilidade James Gosling: Pai de Java –Não ao software proprietário C++ (menos menos) –Mais simples –Independente de arquitetura

5 Histórico 1994: Explosão do WWW –Tecnologia de navegadores incentivou aquelas idéias –Passou de apenas HTML (estático) para aplicações dinâmicas com Applets HotJava –Mostrou Java pela 1a. Vez (1995) –Netscape, IBM, Symantec, Microsoft 1996: Primeira versão (1.0) 1998: Java 2 (1.2) 2003: Java 2 (1.4) 2005: Java 2 (1.5) – JDK 5.0

6 As palavras chave de Java Java é –Simples –Orientada a objetos –Robusta –Segura –Portável

7 Java é Simples Sintaxe familiar a vários programadores (baseada em C e C++) Elimina conceitos complexos de C++, tais como: aritmética de ponteiros e gerência de memória; Simples, pelo poder oferecido Tamanho reduzido

8 Java é Orientada a Objetos Objetos e Classes Encapsulamento de dados e operações Subtipos e Herança Eliminou complexidades de objetos do C++

9 Java é Robusta Ausência de ponteiros: mentira! –Prova: NullPointerException! :) Fortemente tipada –Compilador “chato” –Java 1.5 inclusive checa tipo de objetos em tempo de compilação das estruturas de dados Coleta de lixo automática: Garbage Collector Acesso a arrays é verificado Variáveis são iniciadas automaticamente –com exceção de variáveis locais

10 Java é Segura Ambientes distribuídos demandam esta característica Série de restrições de segurança Mecanismo de segurança de applets Processo de melhora constante –Problemas existem

11 Java é Portável Independência de plataforma... Em tese, redução de custos com migração, treinamento... Exemplo: Tamanho de tipos de dados Bibliotecas funcionam com relativa independência –Contra-exemplo: AWT

12 Java é Independente de Plataforma Característica chave de Java Principal fator de inovação da plataforma Java –Quase todas as decisões dos projetistas de Java priorizam esta característica Merece mais detalhes...

13 Compilação x Interpretação Compilação –Código dependente de máquina é gerado a partir de um código-fonte Interpretação –Código-fonte é executado diretamente sem a geração de código dependente de máquina

14 Plataformas Plataforma = Sistema Computacional + Sistema Operacional Normalmente nomeada pelo sistema operacional –Ex: Windows, Linux (Unix), Mac Diferem no conjunto de instruções

15 Programas e Plataformas Programas são compilados (traduzidos) para linguagem de máquina –Uso de bibliotecas (API) específicas da plataforma –Programas não-portáveis Plataforma Programa Compilador int a=2; xwin(a); int a=2; xwin(a); DECL A1... CREATEWIN 2 DECL A1... CREATEWIN 2 Código C Código Máquina

16 Sistemas Multiplataforma Portabilidade –Write Once, Run Anywhere –Importante em aplicações distribuídas (Internet) Um único programa executa uniformemente em “qualquer” plataforma JAVA!!

17 Java é Multiplataforma Combinação compilação + interpretação Máquina virtual Java: ponte entre programas e plataforma real –“plataforma” Java Compilador Java traduz programas para bytecodes que são interpretados para a plataforma real

18 Java é Multiplataforma Plataforma Programa Compilador int a; new applet(a); int a; new applet(a); Código Java Bytecode Máquina virtual Java Interpretado Pela Máquina virtual

19 Engenharia Reversa O bytecode, por ser interpretado, pode ser “descompilado”; Código fonte pode ser recuperado, mesmo depois da compilação; Solução: Obfuscator;

20 Vantagens de Sistemas Multiplataformas Não há necessidade de mudanças em programas para funcionamento em diferentes plataformas Apenas uma versão do programa é suficiente para distribuição multiplataforma –Software para Internet

21 Desvantagens de Sistemas Multiplataformas Perde-se poder pela renúncia a algumas instruções particulares –Denominador comum Interpretação pode ter desempenho pior do que compilação –Em particular, a plataforma Java evoluiu bastante –Just-in-time (JIT)

22 Evolução do Compilador Java Aprendizado com o status da máquina: HotSpot;