java虚拟机是做什么用的

 更新时间:2021年01月14日 14:39:03   作者:小妮浅浅  
在本篇文章里小编给大家整理的是一篇关于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虚拟机是什么内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot切面实现token权限校验详解

    SpringBoot切面实现token权限校验详解

    这篇文章主要介绍了SpringBoot切面实现token权限校验详解,要实现权限校验,首先数据表和实体类上需要有权限字段,我的表中permission和gender是通过外键约束permission表和gender表实现枚举的,因为可拓展性更好,需要的朋友可以参考下
    2024-01-01
  • Elasticsearch(ES)多种查询方式案例

    Elasticsearch(ES)多种查询方式案例

    Elasticsearch是一个分布式的RESTful搜索和分析引擎,可让您轻松地大规模存储,搜索和分析,这篇文章主要给大家介绍了关于Elasticsearch(ES)多种查询方式的相关资料,需要的朋友可以参考下
    2023-09-09
  • Java OOP三大特征之封装继承与多态详解

    Java OOP三大特征之封装继承与多态详解

    本文主要讲述的是面向对象的三大特性:封装,继承,多态,内容含括从封装到继承再到多态的所有重点内容以及使用细节和注意事项,内容有点长,请大家耐心看完
    2022-07-07
  • SpringMVC表单标签使用详解

    SpringMVC表单标签使用详解

    这篇文章主要为大家详细介绍了SpringMVC表单标签的使用方法,教大家如何用Spring封装的一系列表单标签
    2017-03-03
  • 基于FlashPaper实现JSP在线阅读代码示例

    基于FlashPaper实现JSP在线阅读代码示例

    这篇文章主要介绍了基于FlashPaper实现JSP在线阅读代码示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • Java重点梳理类与对象核心原理

    Java重点梳理类与对象核心原理

    类(class)和对象(object)是两种以计算机为载体的计算机语言的合称。对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型
    2022-07-07
  • Java8 LocalDateTime极简时间日期操作小结

    Java8 LocalDateTime极简时间日期操作小结

    这篇文章主要介绍了Java8-LocalDateTime极简时间日期操作整理,通过实例代码给大家介绍了java8 LocalDateTime 格式化问题,需要的朋友可以参考下
    2020-04-04
  • springboot实现图片大小压缩功能

    springboot实现图片大小压缩功能

    这篇文章主要为大家详细介绍了springboot实现图片大小压缩功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • MybatisPlus使用Mybatis的XML的动态SQL的功能实现多表查询

    MybatisPlus使用Mybatis的XML的动态SQL的功能实现多表查询

    本文主要介绍了MybatisPlus使用Mybatis的XML的动态SQL的功能实现多表查询,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • SpringBoot @ConfigurationProperties注解的简单使用

    SpringBoot @ConfigurationProperties注解的简单使用

    即便现在简化了配置,但是一个独立的配置文件总是易于理解而且使人安心的。Spring在构建完项目后,会默认在resources文件夹下创建一个application.properties文件,application.yml也是一样的效果。@ConfigurationProperties可以获取配置文件中的数据,将其注入类。
    2021-05-05

最新评论