SlideShare une entreprise Scribd logo
1  sur  23
ANHANGUERA – 2016.1
PROGRAMAÇÃO CONCORRENTE
AULA 02 – REVISÃO DE SISTEMAS OPERACIONAIS E JAVA
Prof. Thomás da Costa
thomascosta@aedu.com
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
A TECNOLOGIA JAVA
SISTEMAS OPERACIONAIS
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
É um programa que controla as funcionalidades de um determinado hardware
e executa um conjunto de softwares de acordo com o seu objetivo. Provê uma
interface intuitiva para um determinado nível de usuário.
Sistema Operacional
O que é?:
SISTEMAS OPERACIONAIS
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
• Controlar recursos de hardware:
• CPU.
• Memória.
• E/S.
• Controlar recursos de software:
• Sistemas de Arquivos.
• Processos.
• Execução dos programas.
• Gerenciar os recursos da melhor forma possível.
• Controle de usuários.
• Possuem um Kernel.
Sistemas Operacionais
Objetivos:
SISTEMAS OPERACIONAIS
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
• São complexos.
• Multiprogramação.
• Possuem processos.
• Executa vários programas simultâneos.
• Processamento rápido mostra a impressão de execução ao mesmo tempo.
• Sincronização entre processos.
• Memória Virtual (Parece que a memória não tem fim !!!)
• Embarcados.
• Virtualizados.
Sistemas Operacionais
Dias atuais:
SISTEMAS OPERACIONAIS
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
Em nossa disciplina, vamos estudar uma API de alto nível que utiliza de
recursos do Sistema Operacional para trabalhar com vários processos
simultâneos. Neste conjunto de API, possuímos funcionalidades para controlar
os processos, iniciar, parar e sincroniza-los.
Detalhes:
SISTEMAS OPERACIONAIS
Sistemas Operacionais
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
SISTEMAS OPERACIONAIS
Sistemas Operacionais
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
A TECNOLOGIA JAVA
A TECNOLOGIA JAVA
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
• Originalmente criado para dispositivos embarcados.
• Iniciou a partir Projeto Green em Junho de 1991 por James Gosling, Mike
Sheridan and Patrick Naughton.
• Denominada inicialmente de Oak.
• Desenvolvido por James Gosling na Sun Microsystems em 1995.
• Em 1996 foi lançado a primeira versão do JDK 1.0.
• Premissas da Linguagem:
• Sem ponteiros (todos ficamos felizes).
• Independente de plataforma.
• Recurso de garbage collector.
• Alta confiabilidade.
• Bytecodes.
Histórico
Origens:
A TECNOLOGIA JAVA
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
A TECNOLOGIA JAVA
Fonte: http://viralpatel.net/blogs/java-virtual-machine-an-inside-story/
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
Tem como principal funcionalidade executar os bytecodes gerado a partir dos
códigos Java, tornando a linguagem independente de plataforma. Além disso a
JVM possui outras responsabilidades:
• Gerenciamento de memória.
• Controle de threads.
• Comunicação com o Sistema Operacional e acessar métodos nativos.
• Pode executar outras linguagens além do Java como Groovy, Jython e JRuby.
JVM
Java Virtual Machine:
A TECNOLOGIA JAVA
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
A TECNOLOGIA JAVA
Java Platform Standard Edition 7
Fonte: http://docs.oracle.com/javase/7/docs/index.html
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
• Funcionamento de um programa Java.
• Variáveis.
• Condicionais.
• Laços.
• Vetores.
• String.
• Não vamos entrar em detalhes na Orientação a Objetos.
• Precisamos conhecer somente como instanciar uma classe para a nossa
disciplina.
• E... Conhecer Lógica de Programação !!!
Java
O que vamos ver na revisão:
A TECNOLOGIA JAVA
Vamos começar !!!
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
Exemplo 01
package edu.anhanguera.poo.aula03;
public class Exemplo01 {
public static void main(String[] args) {
System.out.println("Olá Pessoal. Tudo Bem?");
}
}
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo02 {
public static void main(String[] args) {
// É uma forma de criar comentários em linha.
System.out.println("Imprimindo na saida do console");
System.err.println("Imprimindo na saida de erro do console");
System.out.print("Está forma não pula linha");
System.err.format("Saida %s formatada", new String("é"));
System.out.format("Esta %s também é formatada", new String("saida"));
// O método abaixo possui o conceito de varargs
System.out.format("%s formatada %s vários %s",
new String("Saida"),
new String("com"),
new String("paramêtros"));
}
}
Exemplo 02
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo03 {
public static void main(String[] args) {
int varInt;
double varDouble;
float varFloat;
long varLong;
boolean varBoolean;
byte varByte;
short varShort;
varInt = 2015;
varDouble = 768.35;
varFloat = 3.14159265f;
varLong = 250000000l;
varBoolean = true;
varByte = 8;
varShort = 3;
System.out.println("int: " + varInt);
System.out.println("double: " + varDouble);
System.out.println("float: " + varFloat);
System.out.println("long: " + varLong);
System.out.println("boolean: " + varBoolean);
System.out.println("byte: " + varByte);
System.out.println("short: " + varShort);
}
}
Exemplo 03
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo04 {
public static void main(String[] args) {
double media = 0;
double notaB1 = 5;
double notaB2 = 6;
media = (notaB1 * 0.4) + (notaB2 * 0.6);
if (media >= 6) {
System.out.println("Aprovado");
} else {
System.out.println("Reprovado");
}
System.out.println(media >= 6 ? "Aprovado" : "Reprovado");
}
}
Exemplo 04
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo05 {
public static void main(String[] args) {
boolean ligar = true;
if (ligar)
System.out.println("Ligado");
if (!ligar)
System.out.println("Desligado");
float soma;
float operador1 = 788.00f;
float operador2 = 3.58f;
soma = operador1 + operador2;
if (soma == 791.58f) {
System.out.println("Resultado da soma é " + soma);
}
}
}
Exemplo 05
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo06 {
public static void main(String[] args) {
String nomeGuerreiro = "Blackwall";
String nomeMago = new String("Solas");
System.out.println("Guerreiro:" + nomeGuerreiro);
System.out.println("Mago:" + nomeMago);
System.out.println("Tamanho:" + nomeGuerreiro.length());
System.out.println("Tamanho:" + nomeMago.length());
if (!nomeGuerreiro.equals(nomeMago)) {
System.out.println("Os nomes são diferentes.");
} else {
System.out.println("Os nomes são iguais.");
}
nomeGuerreiro = nomeGuerreiro.toUpperCase();
nomeMago = nomeMago.toLowerCase();
System.out.println("Guerreiro:" + nomeGuerreiro);
System.out.println("Mago:" + nomeMago);
}
}
Exemplo 06
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo07 {
public static void main(String[] args) {
char linguagem[] = { 'J', 'a', 'v', 'a' };
String java = "";
for (int i=0;i<=linguagem.length-1;i++) {
java += linguagem[i];
}
System.out.println("Linguagem " + java);
int notas[] = new int[2];
notas[0] = 6;
notas[1] = 7;
int i=0;
while (i <= notas.length-1) {
System.out.println("Nota " + (i + 1) + ":" + notas[i]);
i++;
}
boolean ligado = true;
do {
System.out.println("Ligado");
ligado = false;
} while (ligado);
}
}
Exemplo 07
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
public class Exemplo08 {
public static void main(String[] args) {
Integer varInt = 2015;
Double varDouble = 768.35;
Float varFloat = 3.14159265f;
Long varLong = 250000000l;
Boolean varBoolean = true;
Byte varByte = 8;
Short varShort = 3;
System.out.println("int: " + varInt);
System.out.println("double: " + varDouble);
System.out.println("float: " + varFloat);
System.out.println("long: " + varLong);
System.out.println("boolean: " + varBoolean);
System.out.println("byte: " + varByte);
System.out.println("short: " + varShort);
String valor = "100";
varInt = Integer.parseInt(valor);
System.out.println("Valor convertido:" + valor);
}
}
Exemplo 08
PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa
package edu.anhanguera.poo.aula03;
import java.util.Scanner;
public class Exemplo09 {
public static void main(String[] args) {
double notaB1;
double notaB2;
double media;
Scanner scanner = new Scanner(System.in);
System.out.println("Digite a nota da B1:");
notaB1 = scanner.nextDouble();
System.out.println("Digite a média:");
media = scanner.nextDouble();
notaB2 = (media - (notaB1*0.4)) / 0.6;
System.out.println("Nota necessária para aprovação:" + notaB2);
scanner.close();
}
}
Exemplo 09
Obrigado !!!
ANHANGUERA – 2016.1

Contenu connexe

Tendances

Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
Robson Ferreira
 

Tendances (20)

Programação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso CompletoProgramação Estruturada 2 - Curso Completo
Programação Estruturada 2 - Curso Completo
 
Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 
Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04Lógica e Matemática Computacional - Aula 04
Lógica e Matemática Computacional - Aula 04
 
Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03
 
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01
 
Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06Programação Estruturada 2 - Aula 06
Programação Estruturada 2 - Aula 06
 
Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01Programação Estruturada 2 - Aula 01
Programação Estruturada 2 - Aula 01
 
Algoritmos e Técnicas de Programação - Aula 05
Algoritmos e Técnicas de Programação - Aula 05Algoritmos e Técnicas de Programação - Aula 05
Algoritmos e Técnicas de Programação - Aula 05
 
Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02Algoritmos e Técnicas de Programação - Aula 02
Algoritmos e Técnicas de Programação - Aula 02
 
4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções4º Aula do Grupo de estudos sobre funções
4º Aula do Grupo de estudos sobre funções
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05Algoritmos e Estrutura de Dados - Aula 05
Algoritmos e Estrutura de Dados - Aula 05
 
Java4
Java4Java4
Java4
 
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
[Curso Java Basico - Exceptions] Aula 52: criando sua propria exception
 
Programação Concorrente - Curso Completo
Programação Concorrente - Curso CompletoProgramação Concorrente - Curso Completo
Programação Concorrente - Curso Completo
 
Programação Concorrente - Aula 01
Programação Concorrente - Aula 01Programação Concorrente - Aula 01
Programação Concorrente - Aula 01
 
Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01Exercícios da Aula de LAB 01
Exercícios da Aula de LAB 01
 
Poo encapsulamento
Poo encapsulamentoPoo encapsulamento
Poo encapsulamento
 
Apostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o VisualgApostila de Introdução aos Algoritmos - usando o Visualg
Apostila de Introdução aos Algoritmos - usando o Visualg
 

En vedette

Processos e threads
Processos e threadsProcessos e threads
Processos e threads
Silvino Neto
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1
Cristiano Pires Martins
 
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
Sri Prasanna
 

En vedette (16)

Monografia - UNISUL
Monografia - UNISULMonografia - UNISUL
Monografia - UNISUL
 
Programação Concorrente - LAB 01
Programação Concorrente - LAB 01Programação Concorrente - LAB 01
Programação Concorrente - LAB 01
 
Thread
ThreadThread
Thread
 
Programação Concorrente - Aula 06
Programação Concorrente - Aula 06Programação Concorrente - Aula 06
Programação Concorrente - Aula 06
 
Programação Concorrente - Aula 07
Programação Concorrente - Aula 07Programação Concorrente - Aula 07
Programação Concorrente - Aula 07
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Programação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e ConcorrênciaProgramação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e Concorrência
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1
 
Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03Programação de Sistemas Distribuídos - Aula 03
Programação de Sistemas Distribuídos - Aula 03
 
Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)Logical Clocks (Distributed computing)
Logical Clocks (Distributed computing)
 
Synchronization in distributed systems
Synchronization in distributed systems Synchronization in distributed systems
Synchronization in distributed systems
 
XML - Parte 4
XML - Parte 4XML - Parte 4
XML - Parte 4
 
XML - Parte 3
XML - Parte 3XML - Parte 3
XML - Parte 3
 
XML - Parte 2
XML - Parte 2XML - Parte 2
XML - Parte 2
 
XML - Parte 1
XML - Parte 1XML - Parte 1
XML - Parte 1
 

Similaire à Programação Concorrente - Aula 02

Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
Armando Daniel
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
Maurício Linhares
 
Slides ataques e vulnerabilidades
Slides   ataques e vulnerabilidadesSlides   ataques e vulnerabilidades
Slides ataques e vulnerabilidades
cheeshirecat
 
Apresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissionalApresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissional
jamersonlima
 

Similaire à Programação Concorrente - Aula 02 (20)

Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java1
Java1Java1
Java1
 
Java e orientação a objetos
Java e orientação a objetosJava e orientação a objetos
Java e orientação a objetos
 
JAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagemJAVA: Muito mais que uma linguagem
JAVA: Muito mais que uma linguagem
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
Apresentacao Aula03 So
Apresentacao Aula03 SoApresentacao Aula03 So
Apresentacao Aula03 So
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de software
 
Exploits
ExploitsExploits
Exploits
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploit
 
Slides ataques e vulnerabilidades
Slides   ataques e vulnerabilidadesSlides   ataques e vulnerabilidades
Slides ataques e vulnerabilidades
 
Cygwin
CygwinCygwin
Cygwin
 
01 introducao ao java
01   introducao ao java01   introducao ao java
01 introducao ao java
 
Ficha teorica aula_input_reader
Ficha teorica aula_input_readerFicha teorica aula_input_reader
Ficha teorica aula_input_reader
 
Verificação e Validação
Verificação e ValidaçãoVerificação e Validação
Verificação e Validação
 
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
As Falácias e os Desenganos no Desenvolvimento de Software (TechDays 2005)
 
Apresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissionalApresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissional
 
Linguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem JavaLinguagem Java, fundamentos da linguagem Java
Linguagem Java, fundamentos da linguagem Java
 
Manual
ManualManual
Manual
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Tutorial java swing
Tutorial java swingTutorial java swing
Tutorial java swing
 

Plus de thomasdacosta

Plus de thomasdacosta (14)

Azure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a ProduçãoAzure Functions e Java: Do Desenvolvimento a Produção
Azure Functions e Java: Do Desenvolvimento a Produção
 
Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01Programação de Sistemas Distribuídos - Aula 01
Programação de Sistemas Distribuídos - Aula 01
 
Organização de Computadores - Aula 02
Organização de Computadores - Aula 02Organização de Computadores - Aula 02
Organização de Computadores - Aula 02
 
Organização de Computadores - Aula 03
Organização de Computadores - Aula 03Organização de Computadores - Aula 03
Organização de Computadores - Aula 03
 
Organização de Computadores - Aula 01
Organização de Computadores - Aula 01Organização de Computadores - Aula 01
Organização de Computadores - Aula 01
 
Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06Redes de Computadores - Exercícios 06
Redes de Computadores - Exercícios 06
 
Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05Redes de Computadores - Exercícios 05
Redes de Computadores - Exercícios 05
 
Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04Redes de Computadores - Exercícios 04
Redes de Computadores - Exercícios 04
 
Redes de Computadores - Aula 05
Redes de Computadores - Aula 05Redes de Computadores - Aula 05
Redes de Computadores - Aula 05
 
Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03Redes de Computadores - Exercícios 03
Redes de Computadores - Exercícios 03
 
Redes de Computadores - Aula 04
Redes de Computadores - Aula 04Redes de Computadores - Aula 04
Redes de Computadores - Aula 04
 
Redes de Computadores - Aula 03
Redes de Computadores - Aula 03Redes de Computadores - Aula 03
Redes de Computadores - Aula 03
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
Redes de Computadores - Aula 01
Redes de Computadores - Aula 01Redes de Computadores - Aula 01
Redes de Computadores - Aula 01
 

Programação Concorrente - Aula 02

  • 1. ANHANGUERA – 2016.1 PROGRAMAÇÃO CONCORRENTE AULA 02 – REVISÃO DE SISTEMAS OPERACIONAIS E JAVA Prof. Thomás da Costa thomascosta@aedu.com
  • 2. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa A TECNOLOGIA JAVA SISTEMAS OPERACIONAIS
  • 3. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa É um programa que controla as funcionalidades de um determinado hardware e executa um conjunto de softwares de acordo com o seu objetivo. Provê uma interface intuitiva para um determinado nível de usuário. Sistema Operacional O que é?: SISTEMAS OPERACIONAIS
  • 4. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa • Controlar recursos de hardware: • CPU. • Memória. • E/S. • Controlar recursos de software: • Sistemas de Arquivos. • Processos. • Execução dos programas. • Gerenciar os recursos da melhor forma possível. • Controle de usuários. • Possuem um Kernel. Sistemas Operacionais Objetivos: SISTEMAS OPERACIONAIS
  • 5. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa • São complexos. • Multiprogramação. • Possuem processos. • Executa vários programas simultâneos. • Processamento rápido mostra a impressão de execução ao mesmo tempo. • Sincronização entre processos. • Memória Virtual (Parece que a memória não tem fim !!!) • Embarcados. • Virtualizados. Sistemas Operacionais Dias atuais: SISTEMAS OPERACIONAIS
  • 6. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa Em nossa disciplina, vamos estudar uma API de alto nível que utiliza de recursos do Sistema Operacional para trabalhar com vários processos simultâneos. Neste conjunto de API, possuímos funcionalidades para controlar os processos, iniciar, parar e sincroniza-los. Detalhes: SISTEMAS OPERACIONAIS Sistemas Operacionais
  • 7. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa SISTEMAS OPERACIONAIS Sistemas Operacionais
  • 8. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa A TECNOLOGIA JAVA A TECNOLOGIA JAVA
  • 9. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa • Originalmente criado para dispositivos embarcados. • Iniciou a partir Projeto Green em Junho de 1991 por James Gosling, Mike Sheridan and Patrick Naughton. • Denominada inicialmente de Oak. • Desenvolvido por James Gosling na Sun Microsystems em 1995. • Em 1996 foi lançado a primeira versão do JDK 1.0. • Premissas da Linguagem: • Sem ponteiros (todos ficamos felizes). • Independente de plataforma. • Recurso de garbage collector. • Alta confiabilidade. • Bytecodes. Histórico Origens: A TECNOLOGIA JAVA
  • 10. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa A TECNOLOGIA JAVA Fonte: http://viralpatel.net/blogs/java-virtual-machine-an-inside-story/
  • 11. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa Tem como principal funcionalidade executar os bytecodes gerado a partir dos códigos Java, tornando a linguagem independente de plataforma. Além disso a JVM possui outras responsabilidades: • Gerenciamento de memória. • Controle de threads. • Comunicação com o Sistema Operacional e acessar métodos nativos. • Pode executar outras linguagens além do Java como Groovy, Jython e JRuby. JVM Java Virtual Machine: A TECNOLOGIA JAVA
  • 12. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa A TECNOLOGIA JAVA Java Platform Standard Edition 7 Fonte: http://docs.oracle.com/javase/7/docs/index.html
  • 13. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa • Funcionamento de um programa Java. • Variáveis. • Condicionais. • Laços. • Vetores. • String. • Não vamos entrar em detalhes na Orientação a Objetos. • Precisamos conhecer somente como instanciar uma classe para a nossa disciplina. • E... Conhecer Lógica de Programação !!! Java O que vamos ver na revisão: A TECNOLOGIA JAVA Vamos começar !!!
  • 14. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa Exemplo 01 package edu.anhanguera.poo.aula03; public class Exemplo01 { public static void main(String[] args) { System.out.println("Olá Pessoal. Tudo Bem?"); } }
  • 15. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo02 { public static void main(String[] args) { // É uma forma de criar comentários em linha. System.out.println("Imprimindo na saida do console"); System.err.println("Imprimindo na saida de erro do console"); System.out.print("Está forma não pula linha"); System.err.format("Saida %s formatada", new String("é")); System.out.format("Esta %s também é formatada", new String("saida")); // O método abaixo possui o conceito de varargs System.out.format("%s formatada %s vários %s", new String("Saida"), new String("com"), new String("paramêtros")); } } Exemplo 02
  • 16. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo03 { public static void main(String[] args) { int varInt; double varDouble; float varFloat; long varLong; boolean varBoolean; byte varByte; short varShort; varInt = 2015; varDouble = 768.35; varFloat = 3.14159265f; varLong = 250000000l; varBoolean = true; varByte = 8; varShort = 3; System.out.println("int: " + varInt); System.out.println("double: " + varDouble); System.out.println("float: " + varFloat); System.out.println("long: " + varLong); System.out.println("boolean: " + varBoolean); System.out.println("byte: " + varByte); System.out.println("short: " + varShort); } } Exemplo 03
  • 17. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo04 { public static void main(String[] args) { double media = 0; double notaB1 = 5; double notaB2 = 6; media = (notaB1 * 0.4) + (notaB2 * 0.6); if (media >= 6) { System.out.println("Aprovado"); } else { System.out.println("Reprovado"); } System.out.println(media >= 6 ? "Aprovado" : "Reprovado"); } } Exemplo 04
  • 18. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo05 { public static void main(String[] args) { boolean ligar = true; if (ligar) System.out.println("Ligado"); if (!ligar) System.out.println("Desligado"); float soma; float operador1 = 788.00f; float operador2 = 3.58f; soma = operador1 + operador2; if (soma == 791.58f) { System.out.println("Resultado da soma é " + soma); } } } Exemplo 05
  • 19. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo06 { public static void main(String[] args) { String nomeGuerreiro = "Blackwall"; String nomeMago = new String("Solas"); System.out.println("Guerreiro:" + nomeGuerreiro); System.out.println("Mago:" + nomeMago); System.out.println("Tamanho:" + nomeGuerreiro.length()); System.out.println("Tamanho:" + nomeMago.length()); if (!nomeGuerreiro.equals(nomeMago)) { System.out.println("Os nomes são diferentes."); } else { System.out.println("Os nomes são iguais."); } nomeGuerreiro = nomeGuerreiro.toUpperCase(); nomeMago = nomeMago.toLowerCase(); System.out.println("Guerreiro:" + nomeGuerreiro); System.out.println("Mago:" + nomeMago); } } Exemplo 06
  • 20. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo07 { public static void main(String[] args) { char linguagem[] = { 'J', 'a', 'v', 'a' }; String java = ""; for (int i=0;i<=linguagem.length-1;i++) { java += linguagem[i]; } System.out.println("Linguagem " + java); int notas[] = new int[2]; notas[0] = 6; notas[1] = 7; int i=0; while (i <= notas.length-1) { System.out.println("Nota " + (i + 1) + ":" + notas[i]); i++; } boolean ligado = true; do { System.out.println("Ligado"); ligado = false; } while (ligado); } } Exemplo 07
  • 21. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; public class Exemplo08 { public static void main(String[] args) { Integer varInt = 2015; Double varDouble = 768.35; Float varFloat = 3.14159265f; Long varLong = 250000000l; Boolean varBoolean = true; Byte varByte = 8; Short varShort = 3; System.out.println("int: " + varInt); System.out.println("double: " + varDouble); System.out.println("float: " + varFloat); System.out.println("long: " + varLong); System.out.println("boolean: " + varBoolean); System.out.println("byte: " + varByte); System.out.println("short: " + varShort); String valor = "100"; varInt = Integer.parseInt(valor); System.out.println("Valor convertido:" + valor); } } Exemplo 08
  • 22. PROGRAMAÇÃO CONCORRENTE – Prof. Thomás da Costa package edu.anhanguera.poo.aula03; import java.util.Scanner; public class Exemplo09 { public static void main(String[] args) { double notaB1; double notaB2; double media; Scanner scanner = new Scanner(System.in); System.out.println("Digite a nota da B1:"); notaB1 = scanner.nextDouble(); System.out.println("Digite a média:"); media = scanner.nextDouble(); notaB2 = (media - (notaB1*0.4)) / 0.6; System.out.println("Nota necessária para aprovação:" + notaB2); scanner.close(); } } Exemplo 09