网站排名费用,容桂网站建设哪家公司好,如何区别网站是自适应还是,东西湖注册公司一.了解JVM
1.1什么是JVM
JVM是Java Virtual Machine#xff08;Java虚拟机#xff09;的缩写#xff0c;是一个虚构出来的计算机#xff0c;是通过在实际的计算机上仿真模拟计算机功能来实现的#xff0c;JVM屏蔽了与具体操作系统平台相关的信息#xff0c;Java程序只…一.了解JVM
1.1什么是JVM
JVM是Java Virtual MachineJava虚拟机的缩写是一个虚构出来的计算机是通过在实际的计算机上仿真模拟计算机功能来实现的JVM屏蔽了与具体操作系统平台相关的信息Java程序只需生成在Java虚拟机上运行的字节码就可以在多种平台上不加修改的运行。JVM在执行字节码时实际上最终还是把字节码解释成具体平台上的机器指令执行。
虚拟机可以分为系统虚拟机和程序虚拟机
系统虚拟机是一种虚拟化技术它模拟整个计算机硬件环境包括处理器、内存、存储和外部设备。它的主要目标是在单个物理计算机上同时运行多个操作系统。每个虚拟机都具有独立的操作系统和应用程序就像在不同的物理计算机上运行一样。系统虚拟机的例子包括VMware、VirtualBox和Hyper-V。
程序虚拟机是一种虚拟化技术它仅模拟计算机上的一个单独的应用程序运行环境而不是整个操作系统。它的主要目标是提供一个独立的运行环境使应用程序能够在不同的操作系统上运行而无需修改。程序虚拟机通常用于解决跨平台兼容性的问题模拟一个应用程序的运行环境使应用程序能够跨平台运行。常见的程序虚拟机包括Java虚拟机JVM。
1.2JRE/JDK/JVM
JDK(Java Development Kit) 是整个JAVA的核心包括了Java运行环境JREJava Runtime Envirnment一堆Java工具javac/java/jdb等和Java基础的类库即Java API。
JREJava Runtime EnvironmentJava运行环境 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合主要包括 Java 虚拟机JVM、Java 基础类库Class Library。JRE是Java运行环境并不是一个开发环境所以没有包含任何开发工具如编译器和调试器
JVM(Java Virtual Mechinal)是JRE的一部分叫做JAVA虚拟机它是整个java实现跨平台的最核心的部分负责解释执行并运行字节码文件(.class)。 1.3JVM的整体结构 ClassLoaderJava 代码编译成二进制后会经过类加载器这样才能加载到 JVM 中运行。
Method Area类是放在方法区中。
Heap类的实例对象。
当类调用方法时会用到 JVM Stack、PC Register、本地方法栈。
方法执行时的每行代码是有执行引擎中的解释器逐行执行方法中的热点代码频繁调用的方法由 JIT 编译器优化后执行GC 会对堆中不用的对象进行回收。需要和操作系统打交道就需要使用到本地方法接口。