java虚拟机是做什么用的
为了能够在不同的平台支持java的语言,我们需要一种辅助机制进行翻译,所以java虚拟机就诞生了,也就是平时所说的JVM。能够对java语言进行翻译,然后适应于其他的平台。下面窝们就JVM的概念,与其他机制的关系、设置参数带来介绍,然后讲解其中的一个重点知识点。
1.概念
JVM是java上的一个虚构出来的计算机,是一个位于Java与操作系统之间的中间态。有自己完善的硬件结构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
2.JVM、JRE和JDK的关系
3.设置JVM内存的参数有四个
-Xmx Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;
-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
-Xmn Java Heap Young区大小,不熟悉最好保留默认值;
-Xss 每个线程的Stack大小,不熟悉最好保留默认值
4.常用知识点
堆(heap)与栈(stack)
堆和栈是程序运行的关键,很有必要它他们的关系说清楚。
在java中,Main函数就是栈的起始点,也是程序的起始点。程序要运行总是有一个起点的(程序执行的入口)。
栈帧相关
int i=0; i=i++; sout(i);//为什么i还等于0?
java虚拟机定义:
虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
所谓的java虚拟机,就是一台虚拟的机器。它是一款软件,用来执行一系列虚拟计算机指令,大体上虚拟机可以分为系统虚拟机和程序虚拟机。visual Box、VMare就属于系统虚拟机。他们完全是对物理计算机的仿真,提供一个可运行完整操作系统的软件平台。而java虚拟机就是典型程序虚拟机,它专门为执行单个计算机程序而设计,在java虚拟机中执行的指令我们称之为java字节码指令。java发展到今天,出现了很多虚拟机,最初sun使用的叫Classic的java虚拟机,到现在使用最广泛的是HotSpot虚拟机,除了sun以外还有BEA的JRockit,目前JRockit和HotSpot都被甲骨文公司收入旗下,大有整合的趋势。
到此这篇关于java虚拟机是做什么用的的文章就介绍到这了,更多相关java虚拟机是什么内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- Java虚拟机之类加载
- java虚拟机之JVM调优详解
- Java虚拟机内存区域划分详解
- 概述java虚拟机中类的加载器及类加载过程
- 深入了解Java虚拟机栈以及内存模型
- 浅析Java虚拟机详解之概述、对象生存法则
- Java跨平台原理与虚拟机相关简介
- java虚拟机jvm方法区实例讲解
- java虚拟机钩子关闭函数addShutdownHook的操作
- 详解Java 虚拟机垃圾收集机制
- Java虚拟机使用jvisualvm工具远程监控tomcat内存
- Java虚拟机常见内存溢出错误汇总
- Java虚拟机执行引擎知识总结
- Java启用Azure Linux虚拟机诊断设置
- Java虚拟机内存溢出与内存泄漏
- java虚拟机创建失败的原因整理
- Java内存模型中的虚拟机栈原理分析
- Java基础之创建虚拟机对象的过程详细总结
相关文章
MybatisPlus使用Mybatis的XML的动态SQL的功能实现多表查询
本文主要介绍了MybatisPlus使用Mybatis的XML的动态SQL的功能实现多表查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-11-11SpringBoot @ConfigurationProperties注解的简单使用
即便现在简化了配置,但是一个独立的配置文件总是易于理解而且使人安心的。Spring在构建完项目后,会默认在resources文件夹下创建一个application.properties文件,application.yml也是一样的效果。@ConfigurationProperties可以获取配置文件中的数据,将其注入类。2021-05-05
最新评论