Se você é um software Java que desenvolve newbie como eu, você já foi questionado uma ou duas vezes antes (mais do que provável em um ambiente de entrevista). E se você é algo como eu, você tentou distinguir as diferenças e teve uma dificuldade significativa para fazê-lo.então, vou tentar dividi-lo em pedaços de tamanho de Mordidela manejáveis, para que novatos como tu e eu possam enrolar os nossos cérebros em torno destes três grampos Java. Vamos começar com o significado destes acrónimos..,
JDK representa o “Java Development Kit”.JRE significa “Java Runtime Environment”.
E JVM é simplesmente a “máquina virtual Java”.
quebrando-o-o JDK: tanto o JRE como o JVM podem ser alojados dentro do JDK. Um JDK é usado para 1) Desenvolver 2) Executar e 3) Exibir código. O JDK é um superconjunto do JRE, e contém tudo o que está no JRE, além de ferramentas como os compiladores e Depuradores necessários para o desenvolvimento de applets e aplicações (StackOverflow)., Se você é um desenvolvedor interessado em criar suas próprias aplicações Java ou applets, você vai querer instalar um JDK. Para desenvolvedores que desejam trabalhar em um ambiente de desenvolvimento integrado (IDE), um JDK junto com Netbeans pode ser baixado do site Oracle (Techopedia). Existem diferentes JDKs para atender uma grande variedade de plataformas. Em poucas palavras, o JDK é um ambiente de desenvolvimento de software Java, usado por desenvolvedores para criar e gerenciar aplicações/applets.OK! Agora vamos entrar no JRE: simplificando, o JRE representa o ambiente Java runtime., Aqui é onde o código é 1) executado e 2) exibido. O JRE contém uma máquina virtual Java, bibliotecas de classe e outros arquivos de suporte. É essencial para executar uma aplicação/applet Java. De acordo com a Techopedia, o JRE consiste nos seguintes componentes:
- tecnologias de implantação— incluindo implantação, Web Start Java e Plug-in Java.,
- Integration libraries-including Interface Definition Language (IDL), Java Database Connectivity (JDBC), Java Naming and Directory Interface (JNDI), Remote Method Invocation (RMI), Remote Method Invocation Over Internet Inter-Orb Protocol (RMI-IIOP) and scripting.
- outras bibliotecas de base — incluindo suporte internacional, entrada/saída (I / o), mecanismo de extensão, feijões, extensões de gestão Java (JMX), interface nativa Java (JNI), Matemática, rede, mecanismo de anulação, segurança, serialização e Java para processamento XML (XML JAXP).,
- Lang and util base libraries-including lang and util, management versioning, zip, instrument, reflection, Collections, Concurcy Utilities, Java Archive (JAR), Logging, Preferences API, Ref Objects and Regular Expressions.
- Java Virtual Machine (JVM), incluindo Cliente Hotspot Java e máquinas virtuais Server.
os JREs mais recentes possuem várias milhares de classes e foram introduzidas APIs inteiramente novas.finalmente, vamos falar sobre a menor unidade dos três: a JVM!, A máquina virtual Java exibe aplicações/applets Java interpretando essencialmente o código byte Java em código Máquina. É responsável por todas as coisas como coleta de lixo, verificação de limites de array, etc… JVM é dependente de plataforma (StackOverflow). É chamado de “virtual” porque fornece uma interface de máquina que não depende do sistema operacional subjacente e arquitetura de hardware de máquina. Graças ao JVM, o código Java pode ser escrito uma vez e executado em qualquer lugar (em qualquer máquina)., Em poucas palavras, o JVM tem duas funções primárias 1) para permitir que programas Java executem virtualmente em qualquer dispositivo ou sistema operacional e 2) para gerenciar e otimizar a memória do programa.