你知道这些鼎鼎大名的Java底层核心公司吗
在讨论Java虚拟机——JVM的时候,有几个知名的,不得不提到的JVM的产品和公司。
一、Oracle HotSpot:这是由Sun公司开发的虚拟机。它由最初的Classic VM开始,到推出崭露头角的Exact VM的虚拟机,是现代化高性能虚拟机的最初形态,如热点探测、两级即时编译器(GIT)、编译器与解释器的混合工作模式等,再到后来威震天下的HotSpot是一个目前使用范围最广的Java虚拟机,它是Oracle JDK和OpenJDK的默认JVM,是聊天时没有特殊指定时的缺省JVM。因为是“最正宗”,因其稳定性和性能而广受好评,虽然后来被Oracle收购,后来的发展也越来越厉害。
HotSpot VM,它的热点代码探测能力,可通过执行计数器,找出最具有编译价值的代码,随后通知JIT编译器以方法为单位进行编译。这样子可以做到,如果某方法被频繁调用,将会触发标准编译和OSR(栈上替换)编译动作,编译器和解释器联动工作,可在最优化的程序响应时间与最佳执行性能中达到平衡,并且无须等待本地代码输出才能执行程序,即时编译器的时间压力也相对减小,有助于引入更多的代码优化技术。
二、BEA JRockit:专注于服务器端应用,内部不包含解释器,后来被Oracle公司收购。JRockit以其高性能而著称,特别是在服务器端应用中表现优异。全部代码都靠即时编译器编译执行,号称世界上最快的Java虚拟机。在被Oracle收购后,同HotSpot JVM合并后取名为HotSpot,从此彻底销声匿迹。
三、蓝色巨人IBM公司J9:定位与Hotspot接近,以高性能著称,适用于多种用途,包括服务器、桌面应用和嵌入式系统。如果部署在IBM公司自己的服务器上,号称是世界上最快的虚拟机。该JVM于2017年正式对外发布,名为Open J9,并交给Eclipse基金会打理。与HotSpot和JRockit并称为“三大商业Java虚拟机”。
四、Azul VM:由Azul公司开发,是一个开源的JVM,是与特定硬件平台绑定、软硬件配合的专有虚拟机,专注于低延迟、高吞吐量的应用场景。它在通用硬件平台上表现出色。所以针对HotSpot做了大量改进,性能非常之高。但是它只能运行在自己的系统以及硬件平台上。
五、Tobao VM,又名阿里JVM。2012年TaobaoVM 已经有一定名气。阿里巴巴作为国内Java最大应用商,应用集群规模达十几万甚至几十万,因此自研JVM很有意义。Taobao VM特点是在阿里产品上性能高,硬件严重依赖Intel的CPU,损失了兼容性,提高了性能。
六、Microsoft JVM:微软早在IE3浏览器中支持Java Applets并自研了Microsoft JVM,直到1997年遭到Sun公司起诉才放弃,从而windows都安装的HotSpot。直到2021年5月份,Microsoft基于OpenJDK重新带来了其产品化的JDK产品,内置其自研的JVM
七、Apache Harmony:https://harmony.apache.org,Java的世界哪离开得了Apache,曾在JDK 1.5、1.6时期Apache也来参和一脚,这款VM是IBM和Intel联合开发的开源JVM,后遭到Sun公司的抵制不给颁发JCP认证,无奈2011年黯然退场
八、Dalvik JVM:谷歌开发,应用于Android系统。它只能称作虚拟机, 并不能称为Java虚拟机,因为并未遵循规范。此VM从Android 5.0时被ART VM替换
九、Embedded VM:也叫KVM千字节虚拟机,应用于移动领域。Sun公司进军嵌入式领域的虚拟机,用于手机、Pad、汽车等领域,这就是“大名鼎鼎”的J2ME
这些JVM各有其特点和优势,选择哪个JVM取决于具体的应用需求和环境。
如果需要高性能的服务器应用,可以选择BEA JRockit或IBM J9 VM;而对于需要低延迟和高吞吐量的场景,则可以考虑使用Azul Zing。对于大多数通用用途,Oracle HotSpot仍然是最常用和可靠的选择。
相关文章:
你知道这些鼎鼎大名的Java底层核心公司吗
在讨论Java虚拟机——JVM的时候,有几个知名的,不得不提到的JVM的产品和公司。 一、Oracle HotSpot:这是由Sun公司开发的虚拟机。它由最初的Classic VM开始,到推出崭露头角的Exact VM的虚拟机,是现代化高性能虚拟机的最…...
C++入门级文章
一、一个用于查询C标准库内函数、操作符等的链接 https://legacy.cplusplus.com/reference/ 声明:该文档并非官方文档,但其具有易于查询和使用的优势,足够日常使用。 二、C的第一个程序 1、C语言中的语法在C中仍旧适用,首先我们来…...
modelsim仿真quartus IP
开发环境:quartus prime pro 20;modelsim se-64 10.6d 1. 生成Altera的IP库 使用quartus生成IP库,需要使用Simulation Library Compiler(Tools->Launch Simulation Library Compiler) 如下图操作,选择…...
PCB设计经验——布线原则
1.连线精简——避免直角布线 导线也应看作一种元器件,有自己的电阻,电感,电容 PCB走线在直角转弯的地方,信号前后部分相互影响,导致分布电容增加,对信号上升沿和下降沿有延缓影响。从阻抗的角度来说&#…...
C++进阶:设计模式___适配器模式
前言 在C的基础语法的学习后,更进一步为应用场景多写代码.其中设计模式是有较大应用空间. 引入 原本在写容器中适配器类有关的帖子,发现适配模式需要先了解,于是试着先写篇和适配器模式相关的帖子 理解什么是适配器类,需要知道什么是适配器模式.适配器模式是设计模式的一种.笔…...
“八股文“在现代编程面试中的角色重塑:助力、阻力还是桥梁?
🌈所属专栏:【其它】✨作者主页: Mr.Zwq✔️个人简介:一个正在努力学技术的Python领域创作者,擅长爬虫,逆向,全栈方向,专注基础和实战分享,欢迎咨询! 您的点…...
Android 安装应用-浏览阶段
应用安装的浏览阶段主要是由PackageManagerService类中的scanPackageNewLI()实现的,看一下它的代码: // TODO: scanPackageNewLI() and scanPackageOnly() should be merged. But, first, commiting// the results / removing app data needs to be move…...
JavaEE 初阶(10)——多线程8之“单例模式”
目录 一. 设计模式 二. 单例模式 2.1 饿汉模式 2.2 懒汉模式 a. 加锁synchronized b. 双重if判定 c. volatile关键字(双重检查锁定) 一. 设计模式 设计模式是在软件工程中解决常见问题的经典解决方案。针对一些特定场景给出的一些比较好的解决…...
Javascript常见设计模式
JS设计模式学习【待吸收】-CSDN博客 JavaScript 中的设计模式是用来解决常见问题的最佳实践方案。这些模式有助于创建可重用、易于理解和维护的代码。下面列出了一些常见的 JavaScript 设计模式及其代码示例。 1. 单例模式(Singleton) 单例模式确保一…...
JavaFX布局-SplitPane
JavaFX布局-SplitPane 常用属性orientationpaddingdividerPositionsdisable 实现方式Java实现fxml实现 一个拆分至少两个区域的容器支持水平、垂直布局可以拖动区域的大小初始化大小通过比例设置[0,1] 常用属性 orientation 排列方式,Orientation.VERTICAL、Orien…...
2.MySQL库的操作
创建数据库 创建数据库的代码: CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [,create_specification] ...];create_specification:[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_name 说明: 大写的表示关键…...
如何学习计算机
不要只盯着计算机语言学习,你现在已经学习了C语言和Java,暑假又规划学习Python,最后你掌握的就是计算机语言包而已。 2. 建议你找一门想要深挖的语言,沿着这个方向继续往后学习知识就行。计算机语言是学不完的,而未来就…...
Spring MVC 快速入门指南及实战演示
1、SpringMVC简介 1.1 背景 Servlet属于web层开发技术,技术特点: 1. 每个请求都需要创建一个Servlet进行处理 2. 创建Servlet存在重复操作 3. 代码灵活性低,开发效率低 是否有技术方案可以解决以上问题? 1.2 SpringMVC概述 Sp…...
在线测评系统(未完结)
文章目录 注意!!!1、多模块开发(后端)(1).Maven依赖(2)swagger配置 2、判题机开发(1)docker 前言:大二刚开始接手了本学院的oj,并管理了一段时间,后来老师给我…...
Python 爬虫项目实战(一):破解网易云 VIP 免费下载付费歌曲
前言 网络爬虫(Web Crawler),也称为网页蜘蛛(Web Spider)或网页机器人(Web Bot),是一种按照既定规则自动浏览网络并提取信息的程序。爬虫的主要用途包括数据采集、网络索引、内容抓…...
PTA 6-7 统计某类完全平方数
6-7 统计某类完全平方数(20分) 本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。 函数接口定义: int IsTheNumber ( const int N );…...
PyFilesystem2 - Python 操作文件系统
文章目录 一、关于 PyFilesystem2二、安装三、快速使用四、指南为什么要使用 PyFilesystem ?打开文件系统树打印关闭目录信息子目录处理文件遍历 WalkingGlobbing移动和复制 五、概念路径系统路径沙盒错误 六、资源信息信息对象命名空间基本命名空间细节命名空间访问…...
Bug小记:关于servlet后端渲染界面时出现的问题小记1P
问题1: 问题描述: int delete(Integer Sno);后端在该方法调用时传入参数 req.getParameter("Sno")报错参数应该为Integer类型问题分析:后端通过请求获取到的前端数据都是字符串类型,需要手动转换参数类型 解决方法&a…...
智慧水务项目(二)django(drf)+angular 18 创建通用model,并对orm常用字段进行说明
一、说明 上一篇文章建立一个最简单的项目,现在我们建立一个公共模型,抽取公共字段,以便于后续模块继承,过程之中会对orm常用字段进行说明,用到的介绍一下 二、创建一个db.py 目录如下图 1、代码 from importlib im…...
<数据集>人员摔倒识别数据集<目标检测>
数据集格式:VOCYOLO格式 图片数量:8605张 标注数量(xml文件个数):8605 标注数量(txt文件个数):8605 标注类别数:1 标注类别名称:[fall] 序号类别名称图片数框数1fall860512275 使用标注工具…...
npm install 报错 ‘proxy‘ config is set properly. See: ‘npm help config‘
解决 参考链接:npm install 报错 ‘proxy‘ config is set properly. See: ‘npm help config‘-阿里云开发者社区 (aliyun.com)...
爬虫问题---ChromeDriver的安装和使用
一、安装 1.查看chrome的版本 在浏览器里面输入 chrome://version/ 回车查看浏览器版本 Chrome的版本要和ChromeDriver的版本对应,否则会出现版本问题。 2.ChromeDriver的版本选择 114之前的版本:https://chromedriver.storage.googleapis.com/index.ht…...
Spring的配置类分为Full和Lite两种模式
Spring的配置类分为Full和Lite两种模式 首先查看 Configuration 注解的源码, 如下所示: Target({ElementType.TYPE}) Retention(RetentionPolicy.RUNTIME) Documented Component public interface Configuration {AliasFor(annotation Component.class)String value() defau…...
探索Perl的代码生成艺术:利用编译器后端释放潜能
探索Perl的代码生成艺术:利用编译器后端释放潜能 Perl,作为一种解释型语言,通常不通过编译器后端直接生成机器代码。然而,通过一些高级技术,Perl 程序员可以利用编译器后端来生成代码,从而提高性能或实现特…...
21 B端产品经理之技术常识(1)
产品经理需要掌握一些基本的技术知识。 了解公司前端与后端 前端 前端开发:创建WEB页面或APP等前端界面呈现给用户的过程,即前端负责用户界面交互。 前端技能: HTML:一种标记语言,能够实现Web页面并在浏览器中显示。…...
数据结构基础详解(C语言):单链表_定义_初始化_插入_删除_查找_建立操作_纯c语言代码注释讲解
单链表理论知识详解 文章目录 单链表理论知识详解1.单链表的定义2.单链表的初始化3.单链表的插入和删除3.1 单链表的插入3.1.1 按位序插入3.1.2 在指定结点的前后插入一.后插操作二.前插操作 4.单链表的删除4.1 按位序删除4.2 指定结点的删除 5.单链表的查找5.1 按位序查找5.2 …...
【智能时代的创新工具】LangChain快速入门指南:轻松掌握语言模型的集成与运用
一、LangChain:连接语言模型与现实世界的桥梁 1.1 LangChain的定义与重要性 LangChain是一个开源的Python库,它旨在为开发人员提供一种简便的方式来集成和运用语言模型。它不仅仅是一个简单的API调用工具,而是一个具有丰富功能的框架&#x…...
文献阅读:细胞分辨率全脑图谱的交互式框架
文献介绍 文献题目: An interactive framework for whole-brain maps at cellular resolution 研究团队: Daniel Frth(瑞典卡罗林斯卡学院)、Konstantinos Meletis(瑞典卡罗林斯卡学院) 发表时间ÿ…...
YAML基础语言深度解析
引言 YAML(YAML Aint Markup Language,即YAML不是一种标记语言)是一种直观、易于阅读的数据序列化格式,常用于配置文件、数据交换和程序间的通信。其设计目标是易于人类阅读和编写,同时也便于机器解析和生成。在本文中…...
xcode使用
1. 界面 1.1. Build Settings,Build Phases和Build Rules三个设置项 Build Settings(编译设置): 每个选项由标题(Title)和定义(Definition)组成。这里主要定义了Xcode在编译项目时的一些具体配置 Build Phases(编译资源):用于指定编译过程中项目所链接的原文件,依赖对象,库…...
wordpress关闭自动更新/谷歌play
安卓系统一个比较开放的系统,不同于ios系统,所以很多操作都简便了许多,比如刷SuperSU,很多人都不知道该如何刷,下面小编就来给大家介绍一下安卓系统刷入超级授权SuperSU Pro方法,快来看看吧!方法…...
全球军事网站/成都全网推广哪家专业
跳板机概述:跳板机就是一台服务器,开发戒运维人员在维护过程中首先要统一登录到这台服务器,然后再登录到目标 设备迚行维护和操作跳板机缺点:没有实现对运维人员操作行为的控制和审计,使用跳板机的过程中还是会出现误操…...
商城网站建设方案/电子商务主要学什么
在地面通信领域,中国从2G跟随者过渡成为3G突破者及4G实现同步,如今在5G时代已渐进变成引领者;在卫星通信领域,国外“星链计划”、Telesat星座等跑马圈地式布局,国内鸿雁计划、虹云计划纷纷亮相;这些事件的背…...
网站备案查询官网入口/武汉seo首页优化技巧
原文链接:http://www.cnblogs.com/aierong/archive/2008/09/01/1279463.html 1.简介 PIVOT通过将表达式某一列中的唯一值转换为输出中的多个列来旋转表值表达式,并在必要时对最终输出中所需的任何其余列值执行聚合。 UNPIVOT与PIVOT执行相反的操作&…...
做网站卖仿品/今日重大事件
Java 只支持单继承,不支持多继承 单继承就是一个类只能由一个父类;多继承就是一个类可以有多个父类。 子类可以继承父类所有的成员变量和成员方法,但子类永远无法继承父类的构造器(Constructor)。在子类构造方法中可以使用语句 Super(参数列表…...
iis怎么给网站设置权限/爱站网站seo查询工具
距离2006年8月31日~凌晨12点还不到半个小时~~~ 三年了.终于能陪着老婆过个准点的生日了~回想起来,从开始认识的2003年到现在,就没准时过过一次节日:情人节 我的生日 老婆的生日,^0^ 哎~~~果然如同算命先生的话,.一对奇怪的情侣. 嘿嘿.要结婚了 特此纪念:) 明年我的生日应该会有…...