Programação Orientada a Objetos em Java. Threads Threads Threads. Threads
|
|
|
- Levi Vilaverde Klettenberg
- 10 Há anos
- Visualizações:
Transcrição
1 Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Threads Threads Threads Threads Professor: César Melo Slides baseados em materiais preparados pela Profa. Rosiane Freitas e Prof. Horácio
2 Threads Conceitos Básicos Diversas coisas acontecem simultaneamente: Corpo Humano: Respiração, circulação, digestão Sentidos: visão, olfato, tato, paladar e audição Automóvel: Acelerar, manobrar, ar condicionado, som Computadores também: Compilação, leitura de , impressão, etc
3 Threads Conceitos Básicos Ironicamente, dentro de um mesmo processo, há um fluxo seqüencial. Porém, um mesmo programa também pode fazer diversas coisas ao mesmo tempo: como? Threads Linhas de Execução O suporte a múltiplas linhas de execução permite que múltiplos processamentos ocorram em "paralelo" (em computadores com um processador, os threads não são executados em paralelo e, sim, concorrentemente).
4 Threads Conceitos Básicos Várias threads em várias CPUs Tarefa 1 Tarefa 2 Tarefa 3 Várias threads compartilhand o uma única CPU Tarefa 1 Tarefa 2 Tarefa 3
5 Threads Conceitos Básicos Queremos escrever programas que possam fazer várias tarefas simultaneamente. baixar uma imagem pela rede. requisitar um relatório atualizado do estoque. rodar várias animações. tudo ao mesmo tempo. Cada thread representa a execução de uma sequência de comandos independentes.
6 Threads Conceitos Básicos
7 Threads em Java Suporte a multithreading faz parte da linguagem. Todo programa é executado em pelo menos uma thread. class UmaUnicaThread { // main() é executado em um única thread public static void main(string[] args) { System.out.println(Thread.currentThread()); for (int i=0; i<30; i++) System.out.println("i == " + i);
8 Threads Exemplo Thread[main,5,main] i == 0 i == 1 i == 2 i == 3 i == 4 i == 5 i == 6 i == 10 i == 20 i == 11 i == 21 i == 12 i == i == 29
9 Threads Exemplo class CountThread extends Thread { int from, to; public CountThread(int from, int to) { this.from = from; this.to = to; public void run() { for (int i=from; i<to; i++) System.out.println("i == " + i); // Dispara 5 threads, cada uma irá contar 10 vezes public static void main(string[] args) { for (int i=0; i<5; i++) { CountThread t = new CountThread(i*10, (i+1)*10); t.start(); O método run( ) é como se fosse um main( ), só que não é estático
10 Threads Exemplo class CountThread extends Thread { int from, to; public CountThread(int from, int to) { this.from = from; this.to = to; public void run() { for (int i=from; i<to; i++) System.out.println("i == " + i); // Dispara 5 threads, cada uma irá contar 10 vezes public static void main(string[] args) { for (int i=0; i<5; i++) { CountThread t = new CountThread(i*10, (i+1)*10); t.start(); Iniciar uma thread irá criar uma nova sequência de controle e chamar o método run( ) da thread
11 Threads Exemplo class CountThread extends Thread { int from, to; public CountThread(int from, int to) { this.from = from; this.to = to; public void run() { for (int i=from; i<to; i++) System.out.println("i == " + i); // Dispara 5 threads, cada uma irá contar 10 vezes public static void main(string[] args) { for (int i=0; i<5; i++) { CountThread t = new CountThread(i*10, (i+1)*10); t.start(); Thread é uma classe em Java!
12 Threads Exemplo main
13 Threads Exemplo 1a. Execução i == 0 i == 1 i == 2 i == 3 i == 4 i == 5 i == 6 i == 10 i == 20 i == 11 i == 21 i == 12 i == a. Execução i == 0 i == 1 i == 2 i == 3 i == 4 i == 10 i == 20 i == 11 i == 21 i == 31 i == 41 i == 5 i == a. Execução...
14 Threads API Thread() Classe Thread possibilita a criação de um objeto executável. void run() invocado pelo sistema de execução da JVM. deve-se sobrescrever este método (polimorfismo por sobreposição) para prover o código a ser executado pela thread. void start() inicia a thread e provoca a chamada de run(). void stop() pára a execução da thread. void suspend() suspende a execução da thread. void resume() retoma a execução interrompida por um suspend().
15 Threads API static void sleep(long millis) throws InterruptedException põe a thread para dormir por um tempo em milisegundos. void interrupt() interrompe a thread em execução. static boolean interrupted() testa se a thread foi interrompida.
16 Threads API boolean isalive() testa se a thread está rodando. void setpriority(int p) define a prioridade de execução da thread. void yield() indica ao gerenciador de threads que esta é uma boa hora para rodar outras threads. void join() espera que uma thread termine sua execução.
17 Threads Estados NEW RUNNABLE NOT RUNNABLE DEAD
18 Threads Estados Uma thread é finalizada: através dos métodos stop() ou destroy(). ao terminar a execução do método run(). algumas threads podem continuar rodando mesmo após a finalização do run(). se estiver associada a outra thread, terminará juntamente com ela. minhathread.setdeamon(true).
19 Threads de Usuário x Daemon Uma thread do tipo deamon roda sempre como um pano de fundo da thread que a criou. uma thread deamon termina quando a thread que a criou também terminar. Uma thread que não é uma deamon é chamada de thread de usuário.
20 Threads de Usuário x Daemon...main(...)... thread1.setdeamon(true); thread1.start(); thread2.setdeamon(true); thread2.start(); thread3.start(); return; Serão automaticamente finalizadas quando o método main( ) for finalizado Pode continuar a execução mesmo após o final de main( )
21 Sincronização Considere o seguinte código: public class Contador { private int conta = 0; public int incr() { int n = conta; conta = n + 1; return n;
22 Sincronização O que acontece caso tenhamos duas threads que irão executar o mesmo código a seguir? Ambas as threads estão acessando o mesmo objeto. int cnt = Contador.incr();
23 Situação 1 Thread 1 Thread 2 conta cnt = Contador.incr(); n = conta; conta = n + 1; return n; cnt = Contador.incr(); n = conta; conta = n + 1; return n; 2
24 Situação 2 Thread 1 Thread 2 conta cnt = Contador.incr(); n = conta; cnt = Contador.incr(); n = conta; conta = n + 1; return n; 1 conta = n + 1; return n; --- 1
25 Monitores public class Contador2 { private int conta = 0; public synchronized int incr() { int n = conta; conta = n + 1; return n; Não permite que este método seja executado por mais de uma thread ao mesmo tempo
26 Monitores Também podemos usar monitores para partes de um método. Indique o recurso synchronized(oobjeto) a ser monitorado sentença; // Sincronizada em relação a oobjeto
27 Monitores void metodo(umaclasse obj) { synchronized(obj) { obj.variavel = 5; Ninguém poderá usar este objeto enquanto estivermos executando estas operações
28 Uma Classe Executável As vezes pode não ser conveniente criar uma subclasse de Thread. também não será possível devido ao mecanismo de herança implementado em Java. Solução: Implementar a interface Runnable. A interface Runnable adiciona o método run() sem herdar nada de Thread. public interface Runnable { public void run();
29 Uma Classe Executável A própria classe Thread implementa a interface Runnable (pacote java.lang), como expresso no cabeçalho da classe: public class Thread extends Object implements Runnable
30 Uma Classe Executável - Exemplo /* Programa Java que dispara threads */ class CountThreadRun implements Runnable { int from, to; public CountThreadRun(int from, int to) { this.from = from; this.to = to; public void run() { for (int i=from; i<to; i++) System.out.println("i == " + i);
31 Uma Classe Executável - Exemplo Para executar como uma thread: Cria-se um objeto Thread e associa-se o objeto Runnable com aquela Thread: // Cria uma instância de Runnable Runnable r = new CountThreadRun(10,20); // Cria uma instância de Thread Thread t = new Thread(r); // inicia a execução da thread t.start();
32 Exemplo Múltipla Impressão /* Este programa cria uma classe chamada MultiplaImpressao*/ public class MultiplaImpressaoThread implements Runnable { Thread threaddaclasse; String string; int contador; int tempodormindo; /* método construtor da classe */ public MultiplaImpressaoThread (String s, int quantasvezes, int dormir) { contador = quantasvezes; string = s; tempodormindo = dormir; threaddaclasse = new Thread (this); threaddaclasse.start(); /* Fim do metodo construtor */
33 Exemplo Múltipla Impressão public void run () { while (contador > 0) { System.out.println (string); contador ; try { Thread.sleep (tempodormindo); catch (Exception e) { /* Fim while */ /* Fim do metodo run */ public static void main (String args[]) { new MultiplaImpressaoThread ( ping", 5, 300); new MultiplaImpressaoThread ( pong", 5, 500); /* Fim do metodo main */ /* Fim da classe MultiplaImpressaoThread */
34 Exemplo 2 class MeuApplet extends Applet implements Runnable { private Thread timer = null; public void init() { timer = new Thread(this); timer.start();... public void run() {...
35 Exemplo Relógio Digital import java.awt.graphics; import java.awt.font; import java.util.date; public class RelogioDigitalThreads extends java.applet.applet implements Runnable { Font afonte = new Font("TimesRoman",Font.BOLD,24); Date adata; Thread runner; public void start() { if (runner == null) { runner = new Thread(this); runner.start(); public void stop() { if (runner!= null) { runner.stop(); runner = null;
36 Exemplo Relógio Digital public void run() { while (true) { adata = new Date(); repaint(); try { Thread.sleep(1000); catch (InterruptedException e) { public void paint (Graphics g) { g.setfont(afonte); g.drawstring(adata.tostring(),10,50);
37 Construtores public Thread(); public Thread(Runnable target); public Thread(String name); public Thread(Runnable target, String name); public Thread(ThreadGroup group, Runnable target); public Thread(ThreadGroup group, String name); public Thread(ThreadGroup group, Runnable target, String name);
38 Escalonamento em Java Mecanismo que determina como os threads executáveis (runnable) irão utilizar tempo de CPU. Preemptiva. filas de prioridades. não há divisão de tempo entre as filas (time sliced). threads com menor prioridade podem ser executadas quando as de maior prioridade não estiverem rodando. sleep(), yield(), stop()
39 Prioridade Cada thread apresenta uma prioridade de execução. pode ser alterada com setpriority(int p) pode ser lida com getpriority() Algumas constantes incluem: Thread.MIN_PRIORITY Thread.MAX_PRIORITY Thread.NORM_PRIORITY o padrão é Thread.NORM_PRIORITY
40 Agrupando Threads Pode-se operar as threads como um grupo. pode-se parar ou suspender todas as threads de uma só vez. group.stop(); ThreadGroup g = new ThreadGroup("um grupo de threads");
41 Agrupando Threads Inclua uma thread em um grupo através do construtor da thread. Thread t = new Thread(g,new ThreadClass(), "Esta thread");
42 Agrupando Threads Para saber quantas threads em um grupo estão sendo executadas no momento, podemos usar o método activecount(): System.out.println("O número de threads "+ " que podem estar rodando é "+ g.activecount());
43 Sincronização Considere o seguinte código: public class Contador { private int conta = 0; public int incr() { int n = conta; conta = n + 1; return n;
44 Sincronização O que acontece caso tenhamos duas threads que irão executar o mesmo código a seguir? Ambas as threads estão acessando o mesmo objeto. int cnt = Contador.incr();
45 Situação 1 Thread 1 Thread 2 count cnt = Contador.incr(); n = conta; conta = n + 1; return n; cnt = Contador.incr(); n = conta; conta = n + 1; return n; 2
46 Situação 2 Thread 1 Thread 2 count cnt = Contador.incr(); n = conta; cnt = Contador.incr(); n = conta; conta = n + 1; return n; 1 conta = n + 1; return n; --- 1
47 Monitores public class Contador2 { private int conta = 0; public synchronized int incr() { int n = conta; conta = n + 1; return n; Não permite que este método seja executado por mais de uma thread ao mesmo tempo
48 Monitores Também podemos usar monitores para partes de um método. Indique o recurso synchronized(oobjeto) a ser monitorado sentença; // Sincronizada em relação a oobjeto
49 Monitores void metodo(umaclasse obj) { synchronized(obj) { obj.variavel = 5; Ninguém poderá usar este objeto enquanto estivermos executando estas operações
50 Threads em Java Dúvidas? Dúvidas
THREADS EM JAVA. George Gomes Cabral
THREADS EM JAVA George Gomes Cabral THREADS Fluxo seqüencial de controle dentro de um processo. Suporte a múltiplas linhas de execução permite que múltiplos processamentos ocorram em "paralelo" (em computadores
Java Threads. Introdução
Java Threads [email protected] 1 Introdução O único mecanismo de concorrência suportado explicitamente pela linguagem Java é multi-threading. threading. Os mecanismos de gerenciamento e sicronização
Threads e Concorrência em Java (Material de Apoio)
Introdução Threads e Concorrência em Java (Material de Apoio) Professor Lau Cheuk Lung http//www.inf.ufsc.br/~lau.lung INE-CTC-UFSC A maioria dos programas são escritos de modo seqüencial com um ponto
Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações
Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar [email protected] 1 Multithreading 154 Objectivos Ser capaz de: Explicar os conceitos básicos de multithreading Criar threads múltiplos
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
Universidade da Beira Interior. Sistemas Distribuídos
Folha 6-1 Sincronização de Threads A sincronização de Threads em Java é baseada no conceito do Monitor (de Hoare). Cada objecto Java tem associado um monitor (ou lock ) que pode ser activado se a palavra
Threads em Java. Sistemas Operacionais - Laboratório Professor Machado
Threads em Java Sistemas Operacionais - Laboratório Professor Machado 1 Conceitos de Programação Concorrente Uma unidade concorrente é um componente de um programa que não exige a execução seqüencial,
Programação Concorrente em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM
Programação Concorrente em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM O que é programação concorrente? Um programa, múltiplos fluxos de execução Quando usar programação concorrente? Desempenho Ex.:
Fundamentos de Programaçã. ção Concorrente
Java 2 Standard Edition Fundamentos de Programaçã ção Concorrente Helder da Rocha www.argonavis.com.br 1 Programação concorrente O objetivo deste módulo é oferecer uma introdução a Threads que permita
Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar
Projeto Integrador Sistemas Operacionais Prof.ª Lucilia Ribeiro GTI 3 Noturno Grupo: Anderson Alves da Mota. André Luiz Silva. Misael bezerra dos santos. Sandro de almeida silva. Analisar os sistemas operacionais
(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
Universidade Federal da Paraíba
Universidade Federal da Paraíba Mestrado em Informática Fora de Sede Universidade Tiradentes Aracaju - Sergipe Disciplina Sistemas Operacionais Professor Jacques Philippe Sauvé Aluno José Maria Rodrigues
Programação Concorrente
+ XV Jornada de Cursos CITi Aula 2 Programação Concorrente Benito Fernandes Fernando Castor João Paulo Oliveira Weslley Torres + Agenda Conceitos básicos de Threads em Java Benefícios de Thread Estados,Métodos,
Mecanismo de Threads em Java 2
Mecanismo de Threads em Java 2 Índice MULTITHREADING : Múltiplos processos. 3 Paulo Costa, n.º 1000334 Mecanismo de Threads Página 2 de 20 MULTITHREADING : Múltiplos Processos As Threads são convenientes
Programação Concorrente em java - Exercícios Práticos Abril 2004
Programação Concorrente em java - Exercícios Práticos Abril 2004 1. Introdução As threads correspondem a linhas de controlo independentes no âmbito de um mesmo processo. No caso da linguagem JAVA, é precisamente
Programação Orientada a Objetos em Java. Herança
Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Herança Professor: César Melo Slides baseados em materiais preparados
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
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
Programação Concorrente com Thread Java. Luiz Affonso Guedes Sistemas Distribuidos
Programação Concorrente com Thread Java Luiz Affonso Guedes Sistemas Distribuidos Definições Básicas Threads são sub-procesos no sistema operacional. É menos custoso gerenciar threads do que processos.
JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: imagecomposite FACULDADE DE TECNOLOGIA SENAC PELOTAS
JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: imagecomposite FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Diego Silva de Oliveira Identificação da Turma: 070801805 Data: 16/05/2010 imagecomposite
Threads. O que é uma Thread? Paralelismo
Threads em Java 1 O que é uma Thread? Paralelismo Threads Multi- threading é o mecanismo de concorrência suportado explicitamente pela linguagem Java. Os mecanismos de gerenciamento e sincronização de
Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }
Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver
Java : Comunicação Cliente-Servidor.
Java : Comunicação Cliente-Servidor. Objetivo: Capacitar o aluno a desenvolver uma aplicação servidora para múltiplos clientes. Apresentar as classes Socket e ServerSocket, classes de fluxo de dados, a
Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares
Especialização em desenvolvimento para web com interfaces ricas Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Objetivos Conceito de exceções Tratar exceções pelo uso de try, catch e
Programação Orientada a Objetos e Java - Introdução. Carlos Lopes
Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em
Concorrência em Java. Threads em Java
Concorrência em Java Threads em Java Máquina Virtual Java, Processos e Threads Cada instância da JVM corresponde a um processo do sistema operacional hospedeiro. A JVM não possui o conceito de processos
Aula 30 - Sockets em Java
Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar
A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente
Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto
Técnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
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
Capítulo 4. Packages e interfaces
Capítulo 4. Packages e interfaces 1/17 Índice Indice 4.1 - Package 4.2 - Interface 2/17 Índice 4.1 Package 4.1 - Package 4.2 -- Interface 3/17 4.1 Package Package ou pacote está para o Java como as directorias
insfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE INFORMÁTICA. JAVA NA PRÁTICA Volume II. Alcione de Paiva Oliveira Vinícius Valente Maciel
UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE INFORMÁTICA JAVA NA PRÁTICA Volume II Alcione de Paiva Oliveira Vinícius Valente Maciel 2002 Sumário 1 Capítulo I - Concorrência... 3 CRIANDO THREADS EM JAVA...
Java 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
Computação Paralela. Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho
Computação Paralela Uma framework para aplicações concorrentes João Luís Ferreira Sobral Departamento do Informática Universidade do Minho Dezembro 2005 Fases de desenvolvimento de aplicações paralelas
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
Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Reuso com Herança a e Composiçã
Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:
Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução
Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite
Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp
Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define
JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation
JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Paulo Renato S. Veiga Identificação da Turma: 205 Noite Data: 16/05/10 1 Nome da Propriedade
Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição
Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:
7 RTTI e Interfaces. Desenvolvimento OO com Java. Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.
Desenvolvimento OO com Java 7 RTTI e Interfaces Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do
Construção de novas Classes em Java. Classes Atributos Métodos Herança...
Construção de novas Classes em Java Classes Atributos Métodos Herança... 1 Exemplo Representação em UML Java (Unified Modeling Language) Stack items : Vector Stack( ) push( ) pop( ) isempty( ) finalize(
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando
A Linguagem Java. Alberto Costa Neto DComp - UFS
A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão
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
Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)
Uma Introdução à Arquitetura Francisco C. R. Reverbel 1 Copyright 1998-2006 Francisco Reverbel O Object Request Broker (ORB) Via de comunicação entre objetos (object bus), na arquitetura do OMG Definido
Exercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
SISTEMAS DISTRIBUÍDOS
SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível
Threads, Gerenciamento de Threads. Pool de Threads, Grupo de Threads Variáveis Locais à Threads
Threads, Gerenciamento de Threads Pool de Threads, Grupo de Threads Variáveis Locais à Threads Tarefa para Adormecimento e Despertar de Threads public class ThreadSleep extends Thread { private long tempo
Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Programação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 11 Applets Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno
Programação Concorrente/Paralela em Java
em Java Resolução do Exercício 1 public class Cont extends Thread { protected int ct; public Cont() { ct=0; public synchronized void inc() { ct++; public void run() { for (int i=0; i
(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:
Programação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno
Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads.
Threads Folha 5-1 Num programa em JAVA é possível definir diferentes sequências de execução independente: Threads. Uma Thread é similar a um processo no sentido em que corresponde a um conjunto de instruções
Módulo 07 Características Avançadas de Classes
Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos
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.
Tutorial RMI (Remote Method Invocation) por Alabê Duarte
Tutorial RMI (Remote Method Invocation) por Alabê Duarte Este tutorial explica basicamente como se implementa a API chamada RMI (Remote Method Invocation). O RMI nada mais é que a Invocação de Métodos
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
Tópicos da Aula. Classes e Objetos. Classe Pública em Java. Classes em Java. Assinatura de Métodos. Corpo de Classes e Métodos. Conceitos de classe
DCC / ICEx / UFMG Tópicos da Aula Classes e Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Conceitos de classe Membros Construtores, métodos de classe e métodos de objeto, atributos de classe
Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores e sobrecarga Variáveis de classe e de instância Reinaldo Gomes [email protected] Objetos
Programação Orientada a Objetos em Java
Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a
Invocação de Métodos Remotos
Invocação de Métodos Remotos Java RMI (Remote Method Invocation) Tópicos Tecnologia RMI Introdução Modelo de camadas do RMI Arquitetura Fluxo de operação do RMI Passos para implementação Estudo de caso
Sobre o Professor Dr. Sylvio Barbon Junior
5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr [email protected] 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005
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.
Introdução a Threads Java
Introdução a Threads Java Prof. Gerson Geraldo Homrich Cavalheiro Universidade Federal de Pelotas Departamento de Informática Instituto de Física e Matemática Pelotas RS Brasil http://gersonc.anahy.org
Prototype, um Design Patterns de Criação
Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe
Herança. Alberto Costa Neto DComp - UFS
Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.
Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +
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
NetBeans. Conhecendo um pouco da IDE
NetBeans Conhecendo um pouco da IDE Professor: Edwar Saliba Júnior Sumário Apresentação:...1 Criando Um Novo Projeto de Software:...1 Depurando Um Código-fonte:...4 Entendendo o Código-fonte:...7 Dica
Sistemas Distribuídos
Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral
CAPA PARA OS CABOS DA CABEÇA
CAPA PARA OS CABOS DA CABEÇA COMPONENTES Entre as peças entregues com este fascículo encontra-se uma espécie de tubo preto para reunir e proteger os cabos que saem da cabeça e vão ao tronco de O SEU ROBOT.
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
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
Encapsulamento de Dados
Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam
Sistemas Distribuídos
Sistemas Distribuídos Processos e Threads Gustavo Reis [email protected] - O que são Processos? Uma abstração de um programa em execução. Mantêm a capacidade de operações (pseudo)concorrentes,
Introdução ao uso de Threads em Java
Introdução ao uso de Threads em Java Daniel de Angelis Cordeiro [email protected] 26 de março de 2004 Sumário 1 Introdução 1 1.1 O que são threads?............................... 1 1.2 Todo programa em
Noções sobre Objetos e Classes
Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão
Threads Aula 04 2 Quadrimestre
BC1518 - Sistemas Operacionais Threads Aula 04 2 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento Email: [email protected] Roteiro Threads: Visão Geral Benefícios Tipos Modelos de multithread
Is Event Dispatcher Threade (Animation)
JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Is Event Dispatcher Threade (Animation) FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: João Vitor Ávila dos Santos Identificação da Turma: 3º Semestre/
(ou seja, boas praticas de programação orientada a objetos devem ser empregadas mesmo se não foram explicitamente solicitadas)
PC-2 / LP-2 2009/2 Lista 2 Prof. Alexandre Sztajnberg Em todos os exercícios a(o) aluna(o) deve, além de atender aos requisitos enunciados, utilizar os conceitos e características de orientação a objetos
Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes
Objetos Distribuídos - Programação Distribuída Orientado a Objetos Luiz Affonso Guedes Introdução Conceitos básicos programação distribuída + programação orientada a objetos = Objetos distribuídos Motivação
CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa
CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs
Keeper of Knowledge. Capítulo 2 Classes em Java
Capítulo 2 Classes em Java INTRODUÇÃO Uma classe é um conjunto de software que representa uma realidade qualquer, que pode ser representada por números e símbolos. Uma classe possui dados de um ou mais
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
