Foram encontradas 70 questões.
Um sistema está organizado segundo uma arquitetura em camadas, no qual cada camada corresponde a um pacote Java. A camada de serviços, ServiceLayer, possui dezenas de classes, que colaboram entre si para fornecer os serviços necessários. Para facilitar o acesso aos serviços disponíveis, o pacote em questão disponibiliza algumas interfaces, que agrupam operações de acordo com a natureza do serviço. As classes que implementam esses serviços, entretanto, não são visíveis fora do pacote. Dessa forma, o pacote fornece uma classe pública, Services, onde existem métodos estáticos que retornam objetos que implementam os serviços disponíveis. O código Java a seguir exemplifica o que foi descrito.
package ServiceLayer;
public interface ServiceA {
int srvA1();
int srvA2();
int srvA3();
}
public interface ServiceA {
int srvA1();
int srvA2();
int srvA3();
}
package ServiceLayer;
public interface ServiceB {
int srvB1();
int srvB2();
}
public interface ServiceB {
int srvB1();
int srvB2();
}
package ServiceLayer;
public class Services {
private Services() {
}
public static ServiceA serviceA() {
return new CL01();
}
public static ServiceB serviceB() {
return new CL01();
}
}
public class Services {
private Services() {
}
public static ServiceA serviceA() {
return new CL01();
}
public static ServiceB serviceB() {
return new CL01();
}
}
package ServiceLayer;
class CL01 implements ServiceA, ServiceB{
public int srvA1()
{ // código irrelevante }
public int srvA2()
{ // código irrelevante }
public int srvA3()
{ // código irrelevante }
public int srvB1()
{ // código irrelevante }
public int srvB2()
{ // código irrelevante }
}
class CL01 implements ServiceA, ServiceB{
public int srvA1()
{ // código irrelevante }
public int srvA2()
{ // código irrelevante }
public int srvA3()
{ // código irrelevante }
public int srvB1()
{ // código irrelevante }
public int srvB2()
{ // código irrelevante }
}
O trecho de código a seguir mostra como os serviços disponíveis são executados.
{
ServiceA s1=Services.serviceA();
ServiceB s2=Services.serviceB();
s1.srvA1();
s2.srvB1();
ServiceA s1=Services.serviceA();
ServiceB s2=Services.serviceB();
s1.srvA1();
s2.srvB1();
// código irrelevante
}
}
Essa arquitetura usou variações de dois padrões de projeto conhecidos, que são:
Provas
Questão presente nas seguintes provas
- Engenharia de SoftwareDesign Patterns
- Engenharia de SoftwareUML: Unified Modeling Language
- Paradigmas de ProgramaçãoOrientação a ObjetosAnálise e Projeto Orientado a Objetos
O design baseado em responsabilidades é um método bastante difundido de design orientado a objetos.
Qual ferramenta é usada por essa abordagem para o registro informal de possíveis colaborações entre os objetos de uma aplicação?
Provas
Questão presente nas seguintes provas
Deseja-se que uma aplicação possa manipular diferentes tipos de bancos de dados de modo transparente às classes que necessitam de serviços de acesso a dados. Inicialmente será necessário fornecer suporte a bancos de dados XML e SQL, entretanto novos tipos poderão ser futuramente adicionados.
A solução proposta é a seguinte:
1. Uma classe abstrata (DB) será responsável por instanciar um objeto correspondente ao tipo de banco de dados desejado. Isso será feito através do método estático getDB(), que irá retornar um objeto de uma de suas subclasses concretas, de acordo com o parâmetro (tipo) passado.
2. O objeto criado no passo anterior irá instanciar conexões e consultas correspondentes ao tipo de DB criado; isto é, caso um DB XML tenha sido instanciado, apenas consultas XML e conexões XML serão instanciadas; caso um DB SQL tenha sido instanciado, apenas consultas SQL e conexões SQL serão instanciadas.
O diagrama de classe a seguir ilustra a estrutura descrita acima.

Qual padrão de projeto foi utilizado na solução proposta?
Provas
Questão presente nas seguintes provas
No Processo Unificado, a(o)
Provas
Questão presente nas seguintes provas
Uma aplicação Java precisa manter na memória principal do computador uma coleção de objetos com as seguintes características:
- poderá conter dezenas de milhares de objetos;
- seus objetos não estarão ordenados;
- um número considerável de objetos poderá ser inserido em tempo de execução;
- a operação mais executada será o percurso sequencial na ordem inversa de inserção dos objetos na coleção.
Diante dessas características, qual das classes irá proporcionar à aplicação a melhor performance em relação à manipulação dessa coleção?
Provas
Questão presente nas seguintes provas
Um restaurante contratou uma equipe para desenvolver um sistema de informação que auxilie nas tarefas diárias do negócio. Após um levantamento inicial, a equipe listou os seguintes requisitos:
- o caixa será responsável por encerrar uma conta e registrar o pagamento da mesma;
- caso o pagamento seja feito com cheque, será necessário que o sistema do restaurante se comunique com o sistema de consulta de cheques do Serviço de Proteção ao Lojista para obter informações sobre o cliente;
- caso o pagamento seja feito com cartão de crédito, será necessário que o sistema do restaurante se comunique com o sistema da administradora do cartão para obter autorização;
- apenas o gerente terá acesso à função de estorno do valor pago. Caso a despesa tenha sido paga com cartão, será necessário se comunicar com o sistema da administradora;
- tanto o sistema da administradora de cartões como o de consulta de cheques serão acessados via web service;
- o gerente também poderá encerrar uma conta.
Qual diagrama de caso de uso descreve adequadamente os requisitos acima?
Provas
Questão presente nas seguintes provas
Seja o seguinte diagrama de classes UML:

Qual conjunto de classes e interfaces Java é compatível com os elementos de modelagem existentes nesse diagrama?
Provas
Questão presente nas seguintes provas
Sejam as seguintes classes Java:
public class Xpto implements Runnable {
public void run()
{
public void run()
{
try {
Thread.currentThread().join(0);
System.out.println(10);
}
catch(SecurityException e) {
System.out.println(20);
}
catch(IllegalMonitorStateException e) {
System.out.println(30);
}
catch(IllegalArgumentException e) {
System.out.println(40);
}
catch(Exception e) {
System.out.println(50);
}
}
}
Thread.currentThread().join(0);
System.out.println(10);
}
catch(SecurityException e) {
System.out.println(20);
}
catch(IllegalMonitorStateException e) {
System.out.println(30);
}
catch(IllegalArgumentException e) {
System.out.println(40);
}
catch(Exception e) {
System.out.println(50);
}
}
}
public class Q04 {
public static void main(String[] args) {
Thread t=new Thread(new Xpto());
public static void main(String[] args) {
Thread t=new Thread(new Xpto());
t.start();
t.interrupt();
}
}
t.interrupt();
}
}
O que será exibido no console após a execução do comando t.interrupt()?
Provas
Questão presente nas seguintes provas
Suponha que as classes Circulo, Desenho e Figura ocupem arquivos separados.
Em qual código Java elas serão compiladas sem erros?
Provas
Questão presente nas seguintes provas
Sejam as seguintes classes Java:
public class CA {
int val=0;
public void op1(int x)
int val=0;
public void op1(int x)
{
val+=x;
}
public void op2(int x,int y)
{
val-=x+y;
}
int getVal()
{
return val;
}
}
val+=x;
}
public void op2(int x,int y)
{
val-=x+y;
}
int getVal()
{
return val;
}
}
public class CB extends CA{
public void op1(int x)
{
val-=x;
}
public void op2(int x,int y)
{
try
{
val+=x/y;
}
catch(Exception e)
{
val=10;
}
finally
{
val++;
}
}
}
public void op1(int x)
{
val-=x;
}
public void op2(int x,int y)
{
try
{
val+=x/y;
}
catch(Exception e)
{
val=10;
}
finally
{
val++;
}
}
}
public class Main {
public static void main(String[] args) {
CA obj=new CB();
obj.op1(10);
obj.op2(5,8);
System.out.printf(“%d\n”,obj.getVal());
}
}
public static void main(String[] args) {
CA obj=new CB();
obj.op1(10);
obj.op2(5,8);
System.out.printf(“%d\n”,obj.getVal());
}
}
O que será exibido no console quando for executado o método main()?
Provas
Questão presente nas seguintes provas
Cadernos
Caderno Container