Questão de Programação — Plataforma Java — Quadrix 2023
- Código
- qg027842
- Banca
- Quadrix
- Órgão
- CRM-MG
- Ano
- 2023
- Nível
- Superior
- Cargo
- CRM - MG - Analista de Sistemas
- AJME.
- BJEE.
- CJVM.
- DJAVAC.
- EJSE.
GabaritoE — JSE.
Gabarito: letra E. O componente-padrão do Java que fornece um ambiente para o desenvolvimento de aplicativos desktop e de servidores de pequeno e médio porte, além de um conjunto de APIs-base da plataforma, é o JSE (Java Standard Edition). O JEE (Java Enterprise Edition) é voltado para aplicações corporativas de grande porte, o JME (Java Micro Edition) para dispositivos embarcados, a JVM é a máquina virtual que executa o bytecode, e o JAVAC é o compilador da linguagem.
A plataforma Java é dividida em três edições principais, cada uma com um propósito específico. O Java SE (Standard Edition) é a base de tudo: ele fornece o ambiente de execução (JRE), o kit de desenvolvimento (JDK) e as APIs fundamentais da linguagem, como coleções, entrada e saída, e programação concorrente. É com ele que se desenvolvem aplicações desktop e servidores de pequeno e médio porte, exatamente como descreve o enunciado. O Java EE (Enterprise Edition) estende o Java SE, adicionando bibliotecas e especificações para aplicações corporativas distribuídas, multicamadas e escaláveis, como Servlets, JSP, EJB e JPA. Já o Java ME (Micro Edition) é uma versão reduzida, voltada para dispositivos com recursos limitados, como celulares antigos, calculadoras e sistemas embarcados.
A confusão mais comum é entre JSE e JEE. O JEE não é um ambiente autônomo: ele depende do JSE para funcionar, pois as APIs empresariais são construídas sobre as APIs-base. O enunciado fala em "aplicativos desktop e de servidores de pequeno e médio porte" — isso é exatamente o escopo do JSE. O JEE seria para "aplicações corporativas de grande porte", com requisitos de escalabilidade e distribuição. Outra pegadinha é confundir a plataforma com a JVM: a JVM é apenas o componente que executa o bytecode, não é uma plataforma de desenvolvimento completa. E o JAVAC é simplesmente o compilador, uma ferramenta dentro do JDK.
Para fixar, pense na hierarquia: o JSE é o núcleo, o JEE é uma extensão para o mundo corporativo, e o JME é uma adaptação para dispositivos pequenos. A JVM e o JAVAC são peças internas que fazem parte do JSE, não plataformas separadas. Quando a questão menciona "componente-padrão" e "APIs-base", está se referindo ao JSE, que é a edição fundamental da plataforma Java.
O JME (Java Micro Edition) é a edição voltada para dispositivos com recursos limitados, como celulares, PDAs e sistemas embarcados. Ele não fornece um ambiente para desenvolvimento de aplicativos desktop e servidores de pequeno e médio porte; pelo contrário, é uma versão reduzida do Java SE, com um subconjunto das APIs. A banca coloca o JME como distrator para quem confunde as edições da plataforma.
O JEE (Java Enterprise Edition) é a edição empresarial, voltada para aplicações corporativas de grande porte, distribuídas, multicamadas e escaláveis. Ele estende o Java SE, adicionando APIs como Servlets, JSP, EJB e JPA, e roda em servidores de aplicação como Tomcat, GlassFish e JBoss. O enunciado fala em "aplicativos desktop e de servidores de pequeno e médio porte", o que não é o foco do JEE. A pegadinha aqui é a palavra "servidores": o JEE também é usado em servidores, mas de grande porte, não de pequeno e médio porte.
A JVM (Java Virtual Machine) é a máquina virtual que executa o bytecode gerado pelo compilador Java. Ela é um componente essencial da plataforma, responsável pela portabilidade (princípio WORA — Write Once, Run Anywhere), mas não é uma plataforma de desenvolvimento completa. A JVM não fornece um ambiente para desenvolvimento de aplicativos, nem um conjunto de APIs-base; ela é apenas o motor de execução. O enunciado pede um "componente-padrão" que forneça ambiente de desenvolvimento e APIs-base, o que é o papel do JSE.
O JAVAC é o compilador da linguagem Java, responsável por traduzir o código-fonte (.java) em bytecode (.class). Ele é uma ferramenta do JDK (Java Development Kit), não uma plataforma de desenvolvimento. O JAVAC não fornece ambiente de execução nem APIs-base; é apenas um utilitário de compilação. A banca coloca o JAVAC como distrator para quem confunde as ferramentas do JDK com as edições da plataforma.
O JSE (Java Standard Edition) é a edição padrão da plataforma Java. Ele fornece o ambiente de execução (JRE), o kit de desenvolvimento (JDK) e as APIs-base da linguagem, como coleções, entrada e saída, e programação concorrente. É com o JSE que se desenvolvem aplicativos desktop e servidores de pequeno e médio porte, exatamente como descreve o enunciado. O JSE é a base sobre a qual o JEE e o JME são construídos.
Para diferenciar as edições da plataforma Java, lembre-se do tamanho do dispositivo: JSE para desktop e servidores pequenos/médios, JEE para servidores corporativos de grande porte, e JME para dispositivos embarcados. A JVM e o JAVAC são componentes internos, não plataformas. Quando a questão falar em "APIs-base" ou "componente-padrão", a resposta é sempre JSE.
Gabarito: letra E
Link permanente: /questoes/qg027842