JVM相关知识

news/2024/4/19 21:15:00

一、什么是JVM?

定义:Java Vitual Machine-java程序的运行换环境(二进制)

好处:

  1. 一次编写,到处运行的基石。
  2. 自动内存管理,垃圾回收功能。(针对c/c++没有,减负)。
  3. 数组下标越界越界检查,(c没有,需要自己写,如果没有则越界可能覆盖其他代码。)
  4. 多态(虚方法表的方式)
  5. 比较:JVM+基础类库 = JRE

             JRE+编译工具  = JDK

二、常见的JVM

 其中具有代表性的三款:

1、虚拟机始祖Sun  Classic/Exact VM

Sun Classicjava世界的第一款商用虚拟机,以今天的视角看来,Sun Classic虚拟机的技术已经相当原始,这款虚拟机最初的使命也早已终结。这款虚拟机只能使用纯解释器的方式来执行,这也意味着如果你需要在开发时使用及时编译的功能,你就必须外挂即时编译器。

Exact VM的命名由来是因为它使用了准确式内存管理(Exact Memory Management),准确式内存管理是指虚拟机可以知道内存中某个位置的数据具体是什么类型。

2、武林盟主,默认虚拟机HostSpot VM

相信所有java程序员都听说过HotSpot虚拟机,它是Sun/OracleJDK和OpenJDK中的默认java虚拟机,也是目前使用最广泛的虚拟机,HotSpot既继承了Sun之前两款虚拟机的优点,也有很多自己的技术优势,比如它名称中的HotSpot就是指它的热点探测技术。HotSpot虚拟机的热点探测能力可以通过执行计数器找出最具有编译价值的代码,然后通知即时编译器以方法为单位进行编译。

3、商用虚拟及 –Zing

Zing是一个兼容并符合Java SE规范的JVM。Zing针对Linux和x86进行了优化。Zing专为需要大内存,高事务率,一致响应时间或高持续吞吐量的任意组合的企业应用程序和工作负载而设计,是唯一能够提供与堆大小无关的可预测响应时间的JVM。

三、JVM内存结构

内存结构

类放在方法区,实例对象在中,

调用方法时使用虚拟机栈程序计数器本地方法栈

代码执行:

每行代码由执行引擎中的解释器逐行执行,热点代码由即时编译器执行(优化执行),GC垃圾回收对堆中不在引用的进行垃圾回收。 部分行为需要借助本地方法接口,使用本地操作系统辅助执行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.tangninghui.cn.cn/item-39.htm

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

CMS指纹识别

一.什么是指纹识别 常见cms系统 通过关键特征,识别出目标的CMS系统,服务器,开发语言,操作系统,CDN,WAF的类别版本等等 1.识别对象 1.CMS信息:比如Discuz,织梦,帝国CMS&#xff0…

Linux使用docker安装elasticsearch-head

一、elasticsearch-head的安装启动 #下载镜像 docker pull alivv/elasticsearch-head #启动 docker run -d --name eshead -p 9100:9100 alivv/elasticsearch-head 查看日志 docker logs -f eshead 出现如下证明启动成功 浏览器访问9100端口,出现以下页面也说明启动…

ROS学习笔记(四)---使用 VScode 启动launch文件运行多个节点

ROS学习笔记文章目录 01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序(简例) 03. ROS学习笔记(三)—好用的终端Terminator 一、什么是launch文件 虽然说Terminator终端是能够比较方便直观的看运行的节点…

国家网络安全周 | 保障智能网联汽车产业,护航汽车数据安全

9月13日上午,2023年国家网络安全宣传周汽车数据安全分论坛在福州海峡国际会展中心正式举办。本次分论坛主题是“护航汽车数据安全,共促产业健康发展”,聚焦汽车数据安全、个人信息保护、密码安全、车联网安全保险等主题。 与此同时&#xff…

搭建自己的OCR服务,第二步:PaddleOCR环境安装

PaddleOCR环境安装,遇到了很多问题,根据系统不同问题也不同,不要盲目看别人的教程,有的教程也过时了,根据实际情况自己调整。 我这边目前是使用windows 10系统CPU python 3.7 搭建。 熟悉OCR的人应该知道&#xff0…

基于SSM的旅游网站系统

基于SSM的旅游网站系统【附源码文档】、前后端分离 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色:管理员、用户 管理员:用户管理、景点…