Em relação à plataforma de desenvolvimento JSE, considere: I...

Próximas questões
Com base no mesmo assunto
Ano: 2011 Banca: FCC Órgão: TRE-AP Prova: FCC - 2011 - TRE-AP - Programador de computador |
Q125861 Programação
Em relação à plataforma de desenvolvimento JSE, considere:

I. Possibilita o desenvolvimento de aplicações desktop através de linha de comando e através da interface gráfica Swing.

II. É multiplataforma: permite a portabilidade dos programas compilados para diversos sistemas operacionais, sem necessidade de alteração do código ou de recompilação.

III. Faz uso explícito de ponteiros e usa conceitos modernos, tais como, orientação a objetos e suporte a multithreading.

IV. Possui o gerenciamento de memória embutido, por meio do garbage collector.

Está correto o que se afirmar em
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: B - I, II e IV, somente.

A questão aborda aspectos da plataforma Java Standard Edition (JSE), que é usada para desenvolvimento de aplicações Java de uso geral, incluindo aplicações desktop. Vamos detalhar cada afirmação para entender o porquê da alternativa B ser a correta:

I. A afirmação é verdadeira. O Java permite o desenvolvimento de aplicações desktop tanto que podem ser operadas via linha de comando quanto com interfaces gráficas, sendo o Swing uma das bibliotecas mais conhecidas para tal finalidade.

II. Esta afirmação é verdadeira e um dos pontos fortes do Java. O código compilado em Java é convertido para o bytecode, que pode ser executado em qualquer máquina virtual Java (JVM) independentemente do sistema operacional. Isso proporciona a portabilidade sem a necessidade de alteração do código-fonte ou recompilação.

III. Esta afirmação é parcialmente verdadeira e parcialmente falsa. O Java faz uso de conceitos modernos como orientação a objetos e suporte a multithreading, o que é correto. Contudo, o Java não faz uso explícito de ponteiros na forma como linguagens como C ou C++ fazem. Em Java, as referências a objetos ocorrem de maneira mais segura e abstrata, sem a exposição direta de endereços de memória ao programador. Portanto, a parte sobre o uso explícito de ponteiros está incorreta.

IV. Esta afirmação é verdadeira. Java possui gerenciamento automático de memória, com um garbage collector que é responsável por liberar a memória alocada por objetos que não são mais necessários. Isso ajuda a evitar muitos problemas comuns de gerenciamento de memória, como vazamentos e corrupção de memória.

Com base nessas informações, podemos concluir que as afirmações I, II e IV estão corretas, e a afirmação III está incorreta devido à menção incorreta sobre o uso de ponteiros. Portanto, a alternativa B é a correta para esta questão.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

É um erro sutil de ser detectado, mas JSE, como o Java em si não faz uso explícito de ponteiros.
I - Correto, Swing é uma biblioteca de interface gráfica, extendida do antigo AWT
II - Correto, isto é permitido atráves do Bytecode, que é gerado após a compilação e interpretado pela JVM.
III - Incorreto, Java não usa explicitamente ponteiros, ao contrário de C que pode utilizar explicitamente ponteiros.
IV - Correto, O garbage collecto permite que programadores não se preocupam com a desalocação de memória, que cuida disto é o Garbage Colector
O ponteiro é um tipo de dado que armazena um endereço de memória. Conforme citado abaixo pelos colegas, os ponteiros são diretamente suportados por linguagens como C, C++ e Pascal. A linguagem Java não está incluída nesta lista.
Os ponteiros são necessários para a alocação dinâmica de memória,  para sequenciar dados alocados e para a passagem de parâmetro por referência. 
O uso do ponteiro em Java é de maneira implícita, não cabe ao programado fazer o uso desse recurso.

Dúvida em relação ao item I:

ele afirma que o JSE "Possibilita o desenvolvimento de aplicações desktop através de linha de comando e através da interface gráfica Swing."

Através dá o sentido que é utilizado linha de comando ou interface Swing para desenvolver aplicações JSE, quando na verdade o correto seria dizer que é possível desenvolver aplicações JSE do tipo "linha de comando" ou que utilizem "a interface gráfica Swing".

O JSE não define IDE de desenvolvimento, o que poderia ser utilizado para alegar o Item I como correto.

Como pode ser visto no link abaixo, local de onde foi retirado o texto, e modificado o sentido de forma equivocada: 


"Java SE:

Possibilita o desenvolvimento de aplicações desktop:
- Aplicações de linha de comando
- Aplicações com interface gráfica Swing (pacote javax.swing)"


http://pt.scribd.com/doc/77274731/Aula1-FundamentosJavaSE

ou seja, a afirmativa I está incorreta. Esta questão deveria ter sido anulada.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo