Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

358
Visualizações
¿El Classloader es parte de la JVM o está en el JRE?

Soy relativamente nuevo en Java, así que perdóname si esta pregunta puede parecer "tonta". Sé que la JVM (Java Virtual Machine) está contenida en el JRE (Java Runtime Environment) , pero no estoy seguro de si el cargador de clases y el motor de ejecución forman parte de la JVM.

La mayoría de las fuentes que he leído no especifican esto. En cambio, cuando describen los componentes de JVM, solo analizan los 5 componentes del área de datos de tiempo de ejecución (es decir, montón, pila de JVM, área de método, registros de PC y pila de método nativo) . Aunque mi sentido común dice que para que sea una máquina virtual completa, necesita la entrada, la memoria y el procesamiento, todavía necesito verificar las ubicaciones exactas de estos componentes.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Según la wikipedia de Classloader , hay 3 tipos de cargadores de clases en JRE:

  1. Cargador de clases Bootstrap

Este cargador de clases, que forma parte de la JVM principal, está escrito en código nativo.

  1. Cargador de clases de extensiones

Es implementado por la clase sun.misc.Launcher$ExtClassLoader

  1. cargador de clases del sistema

Esto lo implementa la clase sun.misc.Launcher$AppClassLoader

Entonces, en conclusión, creo que el primero está en JVM, los otros 2 están en las bibliotecas JRE.

  • también hay algunos cargadores de clases definidos por el usuario que se encuentran en diferentes lugares (por ejemplo, Tomcat, etc.)
over 4 years ago · Santiago Trujillo Relatório

0

No creo que sea posible hacer una distinción clara.

JRE es el nombre de un tipo de distribución de Java, que (por cierto) Oracle ya no proporciona.

JVM (máquina virtual Java) es un término más abstracto. Se refiere a "una cosa que ejecuta programas Java". En términos prácticos, consta de un núcleo escrito en código nativo y una gran cantidad de código Java. Pero no hay una línea clara trazada entre la máquina virtual y las bibliotecas que admiten la máquina virtual y otras que son "parte de Java" que ejecuta la máquina virtual.

La clase java.lang.Classloader es un buen ejemplo de esto. Parte de ella está escrita en Java. Otras partes son métodos de código nativo proporcionados por el núcleo de código nativo de JVM. Todas las demás clases de cargadores de clases extend ClassLoader . Algunos son parte de la biblioteca estándar y otros pueden provenir de bibliotecas o marcos de terceros, o pueden ser implementados por la propia aplicación.

Luego está el cargador de clases de arranque que está completamente escrito en código nativo y comparte el código con los métodos de código nativo de ClassLoader .

En resumen, no creo que sea posible obtener una respuesta clara. Y no creo que intentar o tener éxito en trazar una línea dura alrededor de la JVM realmente logre algo.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda