JAVA VIRTUAL MACHINE (JVM)

Tamanho: px
Começar a partir da página:

Download "JAVA VIRTUAL MACHINE (JVM)"

Transcrição

1 JAVA VIRTUAL MACHINE (JVM) Por Leandro Baptista, Marlon Palangani e Tiago Deoldoto, 11 de Abril de 2009 A linguagem de programação Java proporciona o desenvolvimento aplicações que podem ser executadas em diversos tipos de plataformas e Sistemas Operacionais. Tudo isso tornou-se possível graças a Máquina Virtual Java. Nesse artigo você encontrará informações a respeito do funcionamento, arquitetura e diversas vantagens que essa ferramenta proporciona, tanto para usuários simples como para desenvolvedores de sistemas. O QUE É JAVA VIRTUAL MACHINE? A JVM (do inglês Java Virtual Machine) é um programa que carrega e executa os aplicativos Java, convertendo os bytecodes em código executável de máquina, é apenas um aspecto do software Java envolvido na interação com a Web. A JVM é reponsável pelo gerenciamento dos aplicativos, à medida que são executados. Graças à maquina virtual Java, os programas escritos em Java podem funcionar em qualquer plataforma de hardware e software que possua uma versão da JVM, tornando assim essas aplicações independentes da plataforma onde funcionam. A arquitetura de JVM permite um controle muito fino sobre as liberadas para o código que esta rodando na VM. Isso permite a execução de código confiável de fontes remotas, um modelo usado pelos applets. Os applets rodam dentro de uma VM incorporada ao browser do usuário, exectando código baixado de um servidor HTTP remoto. O código remoto roda em uma sandbox, que protege o usuário de códigos maliciosos. O autor do applet pode aplicarum certificado para assinar digitalmente o applet como seguro, dando a ele permissão de sair do sandbox e acessar livremente a máquina onde esta rodando. Podemos dizer também que a maquina virtual Java é uma máquina de computação abstrata. Como uma máquina de computação real, tem um jogo de instrução e manipula várias áreas de memória no tempo de execução. É razoavelmente comum executar uma linguagem de programação usando máquina virtual. A máquina virtual mais conhecida, pode ser a máquina do P-Código de UCSD Pascal. A primeira execução do protótipo da máquina virtual de Java, emulou o jogo de instruções em um software hospedado por um dispositivo handheld que se assemelhasse a um assistente de Digitas pessoais contemporâneo (PDA). As execuções atuais da máquina virtual de Java, emulam em anfitriões de Win32 e de solaris em umas maneiras muito mais sofisticadas. Com a linguagem de programação Java, podemos, por exemplo, criar um aplicativo que rode tanto no Linux quanto no Windows, como foi dito acima. Mas não se limita a esses sistemas operacionais, sendo possivel desenvolver para uma infinidade de plataformas, para isso basta que elas tenham uma JVM. Você ja deve ter usado Java antes e não sabe. Por exemplo, em uma fila de banco, onde você fica jogando em seu telefone celular enquanto aguarda sua vez. Os aplicativos feitos em Java estão presentes em uma infinidade de dispositivos, desde relógios até mainframes, relembrando novamente que, tudo isso graças a Máquina Virtual Machine. ENTENDENDO MELHOR O FUNCIONAMENTO DA JVM Vamos tentar entender melhor como a JVM funciona. Quando se faz um programa em Java e o compila, se tudo estiver certo, o compilador gera bytecodes desse programa. Bytecode é uma espécie de codificação que traduz tudo o que foi escrito no programa para um formato que a JVM entenda e seja capaz de executar,

2 assim sendo capaz de rodar em qualquer sistema operacional que tenha a JVM. Isso ocorre porque não existe bytecodes diferentes, isto é, os bytecodes dos programas em Java compilados no Windows são constituiídos da mesma forma que bytecodes gerados se a compilação fosse feita em Mac OS. De certo que, podem haver algumas diferenças, que dependem da implementação da JVM e claro, do compilador. Quando um código em Java é compilado, um arquivo com a extensão.class é gerado. Esse tipo de arquivo é o bytecode, então quando o programa Hello.java for compilado, um arquivo chamado Hello.class deverá ser executado. A imagem a seguir ilustra esse processo. Construir uma JVM não é fácil, ela envolve uma série de conceitos complexos, como instruções equivalentes a de processadores, controle de acesso à memória, registradores, etc. Isso pode até parecer estranho, mas é necessário entender que as JVMs atuam, de fato, como uma máquina. Muitos usuários relutam em instalar a máquina virtual Java, dizem que gastam memória, que ocupa muito espaço desnecessário, mas a verdade é que bem configurado, ela se torna leve como uma pluma. Uma curiosidade que podemos citar, é que, um ponto que merece destaque na arquitetura desenvolvida pela Sun para a plataforma Java é o uso da máquina virtual em troca de um código compilado especifico para um computador. Diversos outros modelos necessitam que um determinado programa seja compilado para cada tipo de computador em que será utilizado, o que pode ser proibitivo para alcançar uma larga escala. ARQUITETURA DA MAQUINA VIRTUAL JAVA Principais subsistemas da máquina virtual Java (JVM): - Carregador de classe (class loader), carregar classes e interfaces a partir de nomes completamente qualificados. - Máquina de execução (execution engine), executa instruções das classes carregadas. - Áreas de dados de execução (runtime data areas), organizada em área de métodos (method area), área de memória dinâmica (help), pilhas (stacks), contadores de programas (program counters ou pc) e pilhas dos métodos nativos (native methods stacks). A especificação destas áreas varia de implementação para implementação para permitir que características especificas de uma dada arquitetura possam ser exploradas. Cada instância da máquina virtual tem uma área de métodos e uma heap que são compartilhadas por todas as threads sendo executadas na máquina virtual. Cada thread cria um registro de ativação (frame) na pilha

3 da thread contendo o estado do método, o que inclui parâmetros, variáveis locais, valor de retorno e cálculos intermediários. - Interface de métodos nativos (native method interface). A JVM é uma maquina de pilha. As instruções da JVM utilizam a pilha para armazenar resultados intermediários, ao invés de utilizar registradores como é feito em arquiteturas concretas. Isto permite a definição de um conjunto simples de instruções que é facilmente implementado em diferentes arquiteturas. Na JVM existem tipos primitivos, como byte, short, int, long, float e Double e referencias a objetos. O tamanho de uma palavra ( Word ) na JVM varia de implementação para implementação da JVM e deve ser grande o suficiente para armazenar um byte, int, float, uma referencia a um objeto ou um return address, este ultimo utilizado para implementar cláusulas finally em Java. Duas palavras devem ser capazes de armazenar os tipos long e Double. OTIMIZANDO O USO DA MEMÓRIA EM APLICAÇÕES JAVA Em Java, diferente de outras linguagens como C e C++, o programador não precisa desalocar memória, usando funções como free e delete. Java possui um coletor de lixo, uma thread de baixa prioridade que executa junto com a Java Virtual Machine. Sua função é gerenciar a utilização de memória, procuranado áreas de memória que não estejam mais em uso para realizar a liberação das mesmas. A execução do coletor de lixo é transparente para o programador, porém, podemos em algumas situações desejar usar artifícios para otimizar o uso da memória pela JVM. FUNCIONAMENTO DO COLETOR DE LIXO O coletor de lixo libera a memória mantida por um objeto se não houver mais nenhuma referência para ele. Dependendo do algoritmo da coleta de lixo usado pela máquina virtual Java no qual o código está sendo executado, nem todo objeto não referenciado será desalocado pelo coletor de lixo. Um objeto mais antigo, de longa duração, é menos provável de estar não referenciado do que um objeto novo, de modo que um algoritmo comum para coleta de lixo é analisar os objetos mais antigos com menos freqüência do que os objetos mais novos. Podemos ter uma métrica da eficiência da implementação do coletor de lixo utilizado pela sua JVM com o código abaixo: Runtime rt = Runtime.getRuntime(); long mem = rt.freememory(); System.out.println("Memória Livre: " + mem); //... algum código System.gc(); //... mem = rt.freememory(); System.out.println("Memória Livre: " + mem); O código acima obtém o ambiente de execução com o método estático getruntime() da classe Runtime. O método freememory() retorna a memória disponível no ambiente runtime. A linha System.gc() faz a chamada explícita do coletor de lixo. Em algumas implementações da JVM, o coletor de lixo pode ser ativado através da chamada ao método System.gc(), embora a especificação não garanta isso. De todo modo, a

4 maior parte das JVMs fazem a chamada do coletor implicitamente quando a memória está baixa ou quando a CPU está inativa por um certo período de tempo. Problemas com a utilização de memória podem surgir quando os objetos contém variáveis de instância que são iniciadas no construtor, ocupam um grande quantidade de memória e não são mais utilizadas no restante da aplicação. Isso pode degradar o desempenho de um código. LIBERANDO UM OBJETO Uma maneira de tornar um objeto candidato a ser retirado da memória pelo coletor de lixo é atribuindo o valor null à sua referência. Com isso, o objeto torna-se não referenciado e pode ser retirado da memória pelo coletor de lixo. O programa abaixo ilustra essa técnica: import java.util.*; class GarbageExample { private static Vector vetor; public static void main(string args) { vetor = new Vector(); for (int a=0; a < 500; a++) vetor.addelement(new StringBuffer("teste")); Runtime rt = Runtime.getRuntime(); vetor = null; System.gc(); O código acima aloca 500 objetos StringBuffer e os coloca dentro de um Vector. O objeto da classe Vector é referenciado pela variável vetor. Quando se atribui o valor null para a variável vetor o conteúdo do objeto Vector (500 objetos StringBuffer) não possui mais referência na aplicação. A chamada explícita ao coletor de lixo faz a limpeza desse objeto. O programa exibe a quantidade de memória livre antes e depois da execução do coletor de lixo. Essa técnica pode solucionar o problema de manter grandes quantidades de memória desnecessárias. Para usar o mínimo de memória possível, os objetos que precisem existir durante um tempo maior devem ser os menores possíveis. Do outro lado, os grandes objetos deverão existir pelo menor tempo possível. Essa técnica pode ajudar, em alguns casos, somente o desempenho das aplicações Java que executam na mesma JVM e não necessariamente de outros processos rodando no sistema. Isso porque muitos algoritmos de gerenciamento de heap alocam antecipadamente uma parte da memória para ser usada pelo seu código.

5 Ou seja, você libera a memória da máquina virtual Java, o que não afetará outras aplicações não-java, pelo fato da JVM pre-alocar o heap que ela precisa. A qualquer momento pode-se solicitar a execução do coletor de lixo (sem garantias de execução), chamando o método System.gc(). Porém, é necessário analisar o impacto de desempenho na sua aplicação. Muitos algoritmos de coleta de lixo suspendem todas as outros threads antes de entrar em execução. Isso garante que, quando o coletor de lixo for executado, ele terá acesso completo à memória no heap e poderá realizar suas tarefas com segurança, sem que seja interrompido por outra thread. Quando o coletor de lixo termina seu trabalho, todas as threads que ele suspendeu são retomados. O coletor de lixo de Java é executado com uma grande freqüência, sua chamada explícita dificilmente é necessária. Porém, em alguns casos pode tornar-se conveniente. É recomendado evitar a chamada ao método System.gc() pelo bloqueio que provoca. É recomendado também nunca fazer essa chamada explícita dentro de loops. O MÉTODO FINALIZE() O programador pode definir o método finalize() que será chamado sempre antes do objeto ser retirado da memória pelo coletor de lixo. A aplicação abaixo ilustra isso: import java.util.*; class GarbageExample { private static MeuVetor vetor; public static void main(string args) { vetor = new MeuVetor(); for (int a=0; a <500; a++) vetor.addelement(new StringBuffer("teste")); Runtime rt = Runtime.getRuntime(); vetor = null; // deixa os 500 StringBuffers sem //referência System.gc(); class MeuVetor extends Vector { public void finalize() { System.out.println("Vou ser coletado!!");

6 O método finalize da classe MeuVetor é executado antes do objeto ser coletado da memória, a saída deste programa é: Memória Livre: Vou ser coletado!! Memória Livre: JVM E QUESTÃO DA SEGURANÇA Desde sua criação, sempre considerou com seriedade a questão da segurança. Por isso, é praticamente impossível criar programas em Java para fins maliciosos. Quando um programa em Java é executado, seu bytecode precisa passar pelos requisitos de segurança presentes na JVM, que impede a execução se o código tiver alguma irregularidade. Assim, se no programa houver instruções para acessar áreas restritas da memória ou acessar recursos de hardware, a JVM não aprovará o código. Outras linguagens, como C, são executadas diretamente pelo sistema operacional. Com isso, é possível criar programas que acessem recursos críticos do sistema. No caso da linguagem Java, a JVM atua como uma espécie de intermediária entre o programa e o sistema. Sendo assim, até mesmo o acesso a recursos de entrada e saída só é feito por meio da JVM. UM EXEMPLO ATUAL DA UTILIZAÇÃO DO JVM ST lança Máquina Virtual Java para TV Interativa. A STMicroelectronic anunciou a disponibilidade do STJ Engine, uma arquitetura de software projetada para funcionar com a Máquina Virtual Java (JVM). O STJ Engine oferece uma Java Virtual Machine (JVM) otimizada com compilador HotSpot Just-In-Time (JIT) e implementa a interfaces padrões como Java debugger (JVMDI) e Java profiling (JVMPI), permitindo debugging e profiling de aplicações Java. Ao utilizar essas capacidades, os clientes poderão aprimorar as capacidades gráficas de seus sistemas, permitindo uma interface de usuários muito melhor e recursos interativos como jogos de perguntas e respostas, compra virtual, e outros.

7 REFERÊNCIA BIBLIOGRÁFICA VENNERS, Bill. Inside the Virtual Machine.

a Baseado no Capítulo 5 de Inside the Virtual Machine, por Bill Vernners.

a Baseado no Capítulo 5 de Inside the Virtual Machine, por Bill Vernners. Arquitetura da Máquina Virtual Java a 1. Principais subsistemas máquina virtual Java (JVM): Carregador de classes ( class loader ): carrega classes e interfaces a partir de nomes completamente qualificados.

Leia mais

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto Java Conceitos e Definições Parte 02 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 2 O que é Java i. Java ii. Máquina Virtual iii. Java lento? Hotspot e JIT iv. Versões do Java e a confusão do Java2

Leia mais

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo

Leia mais

Programação de Computadores II: Java. / NT Editora. -- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm.

Programação de Computadores II: Java. / NT Editora. -- Brasília: 2014. 82p. : il. ; 21,0 X 29,7 cm. Autor José Jesse Gonçalves Graduado em Licenciatura em Matemática pela Universidade Estadual de São Paulo - UNESP, de Presidente Prudente (1995), com especialização em Análise de Sistemas (1999) e mestrado

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

4 Avaliação do Código Gerado

4 Avaliação do Código Gerado Referencial Teórico 4 Avaliação do Código Gerado Nós fizemos alguns exemplos para avaliar a eficiência da especificação proposta, tanto em termos de velocidade de execução quanto de diminuição do tamanho

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Introdução à Linguagem Java

Introdução à Linguagem Java Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar

Leia mais

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema

Sistemas Operacionais I Parte III Estrutura dos SOs. Prof. Gregorio Perez gregorio@uninove.br 2007. Roteiro. Componentes do Sistema Sistemas Operacionais I Parte III Estrutura dos SOs Prof. Gregorio Perez gregorio@uninove.br 2007 Roteiro Serviços Estrutura dos Sistemas Operacionais Funções do Sistema Operacional Chamadas do Sistema

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 2 Java como ferramenta de experimentação Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas

Leia mais

Introdução a Linguagem

Introdução a Linguagem Introdução a Linguagem Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 03 Introdução a Linguagem Java 1 Conteúdo Máquina Virtual (JVM) Histórico de Java Case Sensitive Tipos Primitivos Tipo String

Leia mais

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br Java - Introdução Professor: Vilson Heck Junior vilson.junior@ifsc.edu.br Agenda O que é Java? Sun / Oracle. IDE - NetBeans. Linguagem Java; Maquina Virtual; Atividade Prática. Identificando Elementos

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA* Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 *Adaptado de PACHECO, R C S & RIEKE, R N INE UFSC Disponível em: http://wwwstelaufscbr/~pacheco/dsoo/htm/downloadshtm

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de:

Capítulo 1. Introdução. 1.1 Linguagens. OBJETIVOS DO CAPÍTULO Ao final deste capítulo você deverá ser capaz de: i Sumário 1 Introdução 1 1.1 Linguagens....................................... 1 1.2 O que é um Compilador?................................ 2 1.3 Processadores de Programas: Compiladores, Interpretadores

Leia mais

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da Java Laboratório Aula 1 Programação orientada a objetos Profa. Renata e Cristiane Introdução a Plataforma Java O que é Java? Tecnologia Linguagem de Programação Ambiente de Execução (JVM) Tudo isso é a

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso

Leia mais

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva Introdução à Linguagem Java Departamento de Informática Prof. Anselmo C. de Paiva Breve Histórico Sun Microsystems, 90/91: projeto de uma linguagem de programação pequena que pudesse ser usada em dispositivos

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução ao Paradigma OO

Leia mais

Memory Leak em Java?

Memory Leak em Java? 1 Memory Leak em Java? Saiba como memory leaks se manifestam em Java e como evitá-los Sobre o Autor Carlos Eduardo G. Tosin (carlos@tosin.com.br) é formado em Ciência da Computação pela PUC-PR, pós-graduado

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010 Primeira Dica Afirmação O que é Java? Características do Java Como Java Funciona Plataforma Java Edições Java Java SE Java EE Java ME

Leia mais

Capítulo 8. Software de Sistema

Capítulo 8. Software de Sistema Capítulo 8 Software de Sistema Adaptado dos transparentes das autoras do livro The Essentials of Computer Organization and Architecture Objectivos Conhecer o ciclo de desenvolvimento da linguagem Java

Leia mais

(Aula 15) Threads e Threads em Java

(Aula 15) Threads e Threads em Java (Aula 15) Threads e Threads em Java Um fluxo computacional. A programa maioria de execução, dos seqüencial programas o qual simples consiste realiza tem uma de essa um certa único tarefa Grande característica:

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

FAT32 ou NTFS, qual o melhor?

FAT32 ou NTFS, qual o melhor? FAT32 ou NTFS, qual o melhor? Entenda quais as principais diferenças entre eles e qual a melhor escolha O que é um sistema de arquivos? O conceito mais importante sobre este assunto, sem sombra de dúvidas,

Leia mais

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Aula 09 Introdução à Java Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Java: Sintaxe; Tipos de Dados; Variáveis; Impressão de Dados.

Leia mais

Sobre o Professor Dr. Sylvio Barbon Junior

Sobre o Professor Dr. Sylvio Barbon Junior 5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005

Leia mais

Programação Concorrente Processos e Threads

Programação Concorrente Processos e Threads Programação Concorrente Processos e Threads Prof. Eduardo Alchieri Processos O conceito mais central em qualquer sistema operacional é o processo Uma abstração de um programa em execução Um programa por

Leia mais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

Leia mais

Linguagem de Programação JAVA

Linguagem de Programação JAVA Linguagem de Programação JAVA Curso Técnico em Informática Modalida Integrado Instituto Federal do Sul de Minas, Câmpus Pouso Alegre Professora: Michelle Nery Agenda JAVA Histórico Aplicações Pós e Contras

Leia mais

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Conceitos básicos e serviços do Sistema Operacional Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Tipos de serviço do S.O. O S.O.

Leia mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

Principais características

Principais características .Net Framework O que é.net? Proprietário da Microsoft Versão simplificada para Linux Versão compacta para dispositivos móveis Plataforma de desenvolvimento e execução Interface com usuário, conectividade

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula extra A Máquina Virtual Java Prof. Márcio Delamaro delamaro@icmc.usp.br Como

Leia mais

Em uma linguagem de programação como C e Pascal, temos a seguinte situação quando vamos compor um programa:

Em uma linguagem de programação como C e Pascal, temos a seguinte situação quando vamos compor um programa: 1 1. Introdução Este manual se propõe a dar uma visão inicial do Java e apresentar os primeiros passos para sua instalação, configuração e usabilidade pelo prompt de comando do Windows. O ideal é que este

Leia mais

Java. Guia do Programador. Peter Jandl Junior. Novatec

Java. Guia do Programador. Peter Jandl Junior. Novatec Java Guia do Programador Peter Jandl Junior Novatec Capítulo 1 Introdução Este capítulo apresenta a plataforma Java, seu histórico resumido, suas principais características e aplicações. Também são indicados

Leia mais

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação Cursos de Computação Sistemas Operacionais Prof. M.Sc. Sérgio Teixeira Aula 05 Estrutura e arquitetura do SO Parte 2 Referência: MACHADO, F.B. ; MAIA, L.P. Arquitetura de Sistemas Operacionais. 4.ed. LTC,

Leia mais

Programação de Computadores II TCC-00.309 Turma A-1

Programação de Computadores II TCC-00.309 Turma A-1 Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente

Leia mais

Faculdade Latino Americana Programação Orientada a Objetos II - 4º Período Ciências da Computação. REVISÃO POO Parte 01

Faculdade Latino Americana Programação Orientada a Objetos II - 4º Período Ciências da Computação. REVISÃO POO Parte 01 Faculdade Latino Americana Programação Orientada a Objetos II - 4º Período Ciências da Computação REVISÃO POO Parte 01 Professora: Cíntia Simões 2º Semestre 2008 Revisão POO Parte 01 Tecnologia JAVA O

Leia mais

Análises Geração RI (representação intermediária) Código Intermediário

Análises Geração RI (representação intermediária) Código Intermediário Front-end Análises Geração RI (representação intermediária) Código Intermediário Back-End Geração de código de máquina Sistema Operacional? Conjunto de Instruções do processador? Ambiente de Execução O

Leia mais

Sistemas Operacionais

Sistemas Operacionais UNIVERSIDADE BANDEIRANTE DE SÃO PAULO INSTITUTO POLITÉCNICO CURSO DE SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Notas de Aulas: Tópicos 7 e 8 Estrutura do Sistema Operacional São Paulo 2009 1 Sumário

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos

Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Sistemas Distribuídos: Conceitos e Projeto Threads e Migração de Processos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 1: Introdução MEEC@IST Java 1/27 História versões (1) [1995] Versão 1.0, denominada Java Development Kit (JDK) 212 classes em 8 pacotes Lento, muitos bugs, mas com Applets

Leia mais

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN

SISTEMAS OPERACIONAIS. Apostila 03 Estrutura do Sistema Operacional UNIBAN SISTEMAS OPERACIONAIS Apostila 03 Estrutura do Sistema Operacional UNIBAN 1.0 O Sistema Operacional como uma Máquina Virtual A arquitetura (conjunto de instruções, organização de memória, E/S e estrutura

Leia mais

Java de missão crítica. Um artigo técnico da Oracle

Java de missão crítica. Um artigo técnico da Oracle Java de missão crítica Um artigo técnico da Oracle Java de missão crítica A família de produtos Oracle JRockit é um portfólio abrangente de soluções de tempo de execução de Java que aproveita a JVM básica

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico Fundamentos de Java Prof. Marcelo Cohen 1. Histórico 1990 linguagem Oak; desenvolvimento de software embutido para eletrodomésticos S.O. para o controle de uma rede de eletrodomésticos o surgimento da

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado

Leia mais

Linguagem de Programação Introdução a Linguagem Java

Linguagem de Programação Introdução a Linguagem Java Linguagem de Programação Introdução a Linguagem Java Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição A linguagem Java foi desenvolvida pela Sun Microsystems,

Leia mais

Chamadas de Sistema e Processo

Chamadas de Sistema e Processo Andrique Amorim www.andrix.com.br professor@andrix.com.br Chamadas de Sistema e Processo Estrutura do Computador Sistemas Operacionais Estrutura do Computador Sistemas Operacionais Modos de Acesso ao S.O.

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Aula 01: Começando com Java Objetivos: Compreender o que é Java, OO e suas vantagens; Entender os procedimentos para criação

Leia mais

Processos e Threads (partes I e II)

Processos e Threads (partes I e II) Processos e Threads (partes I e II) 1) O que é um processo? É qualquer aplicação executada no processador. Exe: Bloco de notas, ler um dado de um disco, mostrar um texto na tela. Um processo é um programa

Leia mais

Threads e Sockets em Java. Threads em Java. Programas e Processos

Threads e Sockets em Java. Threads em Java. Programas e Processos Threads em Java Programas e Processos Um programa é um conceito estático, isto é, um programa é um arquivo em disco que contém um código executável por uma CPU. Quando este programa é executado dizemos

Leia mais

(Aula 17) Threads em Java

(Aula 17) Threads em Java (Aula 17) Threads em Java Difícil As Threads thread threads de emjava classificar sãogerenciadaspelajvm. podemser com user criadasdas thread ou kernel Profa. Patrícia A seguintesmaneiras: Fazendo extend

Leia mais

Programação Orientada a Objetos em java. Polimorfismo

Programação Orientada a Objetos em java. Polimorfismo Programação Orientada a Objetos em java Polimorfismo Polimorfismo Uma característica muito importante em sistemas orientados a objetos Termo proveniente do grego, e significa muitas formas Em POO, significa

Leia mais

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32

Leia mais

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

A Linguagem Java. Apresentação. Java. A Linguagem da Internet

A Linguagem Java. Apresentação. Java. A Linguagem da Internet Apresentação Java A Linguagem da Apresentação (continuação) Histórico da Linguagem Objetivos Características Diferenças do C++ Java versus Java Script Principais Ferramentas Perspectivas da Linguagem 2

Leia mais

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40

JAVA. Introdução. Marcio de Carvalho Victorino. Page 1 1/40 2/40 JAVA Marcio de Carvalho Victorino 1/40 Introdução 2/40 Page 1 Programação OO Elementos do modelo OO: Abstração: é o processo de abstrair as características essenciais de um objeto real. O conjunto de características

Leia mais

Introdução ao C# . Visão geral do.net Framework

Introdução ao C# . Visão geral do.net Framework Introdução ao C# Microsoft.NET (comumente conhecido por.net Framework - em inglês: dotnet) é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas

Leia mais

Chamadas de Sistema e Processo

Chamadas de Sistema e Processo Andrique Amorim www.andrix.com.br professor@andrix.com.br Chamadas de Sistema e Processo Estrutura do Computador Sistemas Operacionais Estrutura do Computador Sistemas Operacionais Modos de Acesso ao S.O.

Leia mais

Prof. Esp. Adriano Carvalho

Prof. Esp. Adriano Carvalho Prof. Esp. Adriano Carvalho Um arquivo contendo uma sequência de comandos em uma linguagem de programação especifica Esses comandosrespeitam regras de como serem escritos e quais são as palavras que podem

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel A linguagem JAVA A linguagem Java O inicio: A Sun Microsystems, em 1991, deu inicio ao Green Project chefiado por James Gosling. Projeto que apostava

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Tópico 4 Estrutura do Sistema Operacional Prof. Rafael Gross prof.rafaelgross@fatec.sp.gov.br FUNÇÕES DO NUCLEO As principais funções do núcleo encontradas na maioria dos sistemas

Leia mais

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java Linguagem Java Objetivos Compreender como desenvolver algoritmos básicos em JAVA Aprender como escrever programas na Linguagem JAVA baseando-se na Linguagem Portugol aprender as sintaxes equivalentes entre

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia O Sistema Operacional que você usa é multitasking? Por multitasking, entende-se a capacidade do SO de ter mais de um processos em execução ao mesmo tempo. É claro que, num dado instante, o número de processos

Leia mais

Antonio Gomes de Araujo Laboratório de Eletrônica Industrial, Escola SENAI Anchieta São Paulo

Antonio Gomes de Araujo Laboratório de Eletrônica Industrial, Escola SENAI Anchieta São Paulo Antonio Gomes de Araujo Laboratório de Eletrônica Industrial, Escola SENAI Anchieta São Paulo Toshi-ichi Tachibana Departamento de Engenharia Naval e Oceânica, Escola Politécnica da Universidade São Paulo

Leia mais

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Orientação a Objetos em Java Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução; Orientação a Objetos; Orientação a Objetos em Java; Leonardo Murta Orientação a Objetos em Java 2 Agosto/2007

Leia mais

Estrutura de S.O. Roteiro. BC1518 - Sistemas Operacionais. Prof. Marcelo Z. do Nascimento. Aula 02 2 Quadrimestre. de 2010

Estrutura de S.O. Roteiro. BC1518 - Sistemas Operacionais. Prof. Marcelo Z. do Nascimento. Aula 02 2 Quadrimestre. de 2010 BC1518 - Sistemas Operacionais Estrutura de S.O. Aula 02 2 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento Email: marcelo.nascimento@ufabc.edu.br Roteiro Serviço do sistema operacional Interface Chamadas

Leia mais

Orientação a Objetos e a Linguagem Java

Orientação a Objetos e a Linguagem Java Orientação a Objetos e a Linguagem Java Afrânio Assis afranio@gmail.com Novembro/2006 1 Objetivos do Curso Apresentar o paradigma orientado a objetos como técnica para elaboração de projetos e implementação

Leia mais

Módulo 06 Desenho de Classes

Módulo 06 Desenho de Classes Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.

Leia mais

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

PADI 2015/16. Aula 1 Introdução à Plataforma.NET PADI 2015/16 Aula 1 Introdução à Plataforma.NET 1 Sumário 1. Framework.NET Arquitectura 2. Linguagem C# 2.0 Sintaxe C# vs. Java vs. C++ 3. IDE: MS Visual Studio 2005 ou superior Ferramentas Console/Win

Leia mais

AULA 02. 1. Uma linguagem de programação orientada a objetos

AULA 02. 1. Uma linguagem de programação orientada a objetos AULA 02 TECNOLOGIA JAVA O nome "Java" é usado para referir-se a 1. Uma linguagem de programação orientada a objetos 2. Uma coleção de APIs (classes, componentes, frameworks) para o desenvolvimento de aplicações

Leia mais

Processos. Adão de Melo Neto

Processos. Adão de Melo Neto Processos Adão de Melo Neto 1 EXECUTE O SEGUINTE Baixa a aula dos dias 20 MAR 15 e 08 MAI 15 e salve no computador. Feche o browser Inicialize o vmware player e inicialize a máquina virtual ubuntu Inicialize

Leia mais

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres Linguagem de Programação Orientada a Objeto Introdução a Orientação a Objetos Professora Sheila Cáceres Introdução a Orientação a Objetos No mundo real, tudo é objeto!; Os objetos se relacionam entre si

Leia mais

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com

Sistemas Operacionais Aula 03: Estruturas dos SOs. Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Sistemas Operacionais Aula 03: Estruturas dos SOs Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com OBJETIVOS Descrever os serviços que um sistema operacional oferece aos usuários e outros sistemas

Leia mais

Conceitos Básicos da Linguagem Java. Prof. Leonardo Barreto Campos 1

Conceitos Básicos da Linguagem Java. Prof. Leonardo Barreto Campos 1 Conceitos Básicos da Linguagem Java Prof. Leonardo Barreto Campos 1 Sumário Introdução; Histórico do Java; Características do Java; Compilação de um Programa em Java; Modificando o Primeiro Programa em

Leia mais

Laboratório I Aula 2

Laboratório I Aula 2 Laboratório I Aula 2 Prof. Msc. Anderson da Cruz Fases da Programação Implementação de Linguagens de Programação Compilação geração de código executável dependente da plataforma de execução tradução lenta

Leia mais

Java Linguagem de programação

Java Linguagem de programação NASA INFORMÁTICA Pág. 1 O ambiente Java Como foi comentado anteriormente, o Java é uma linguagem independente de plataforma. Tal característica torna-se possível com o uso de um formato intermediário,

Leia mais

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java 1 Objetivo: O aluno deverá adquirir capacidades e habilidades

Leia mais

Sistemas Operacionais. Alexandre Meslin meslin@inf.puc-rio.br

Sistemas Operacionais. Alexandre Meslin meslin@inf.puc-rio.br Sistemas Operacionais Alexandre Meslin meslin@inf.puc-rio.br Ementa Apresentação do curso Cap1 - Visão Geral Cap2 - Conceitos de Hardware e Software Cap3 - Concorrência Cap4 - Estrutura do Sistema Operacional

Leia mais

PROGRAMAÇÃO JAVA. Parte 1

PROGRAMAÇÃO JAVA. Parte 1 PROGRAMAÇÃO JAVA Parte 1 O que é um programa? Um algoritmo (sequência de operações elementares - instruções) convertido para uma linguagem que possa ser executada por um computador Programa = Algoritmos

Leia mais

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM CAPÍTULO 7 JAVA Java é uma linguagem orientada a objeto cujo projeto foi desenvolvido pela Sun Microsystems no início de 1991. Ela foi originalmente concebida para ser utilizada na programação de dispositivos

Leia mais

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade Linguagem Java de Desenvolvimento Máquina Virtual Um código intermediário, chamado de bytecode, é gerado quando um programa Java é compilado. Este bytecode é interpretado pelas máquinas virtuais java (JVMs)

Leia mais

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores SISTEMAS OPERACIONAIS Maquinas Virtuais e Emuladores Plano de Aula Máquinas virtuais Emuladores Propriedades Benefícios Futuro Sistemas de Computadores Os sistemas de computadores são projetados com basicamente

Leia mais