JVM是什么

本文深入探讨了Java生态系统及文化特点,强调了Java虚拟机(JVM)的重要性及其跨平台特性。介绍了JVM如何支持多种语言,并详细阐述了Java字节码的概念与作用。

TIOBE语言热度榜

https://www.tiobe.com/tiobe-index/

 

 

Java生态圈

平台:Java虚拟机扮演举足轻重的作用

Groovy、Scala、JRuby、Kotlin等都是Java平台的一部分

文化:Java几乎是“开源”的代名词

第三方开源软件和框架:Tomcat、Structs、MyBatis、Spring

JDK和JVM本事也有不少开源的实现:OpenJDK、Harmony

社区:世界最多的技术维护者,开源社区支持

 

 

JDK  编写+javac+Jconsole...

JRE JVM+核心类库

JVM 承上启下,承上:Java字节码,启下:各种操作系统

 

Java:跨平台的语言

 

 

JVM:跨语言的平台

Java不是最强大的语言,但是JVM是最强大的虚拟机

For the sake of security .the Java virtual machine imposes strong syntactic and structural constraints on the code in a class file.

However,any language with functionality that can be expressed in terms of a valid class file can be hosted by JVM,

attracted by a generally available ,machine-independent platform ,

implementors of other language can turn on the JVM as a delivery vehicle for their languages.

 

字节码

  • 平时说的java字节码,表示java语言编译的字节码。但是其实,任何能在JVM平台上执行的字节码格式都是一样的。所以,应该统称为JVM字节码
  • 不同的编译器,可以编译出相同的字节码文件,字节码文件也可以再不同的JVM上运行
  • JVM和Java没有必然的联系,JVM只与特定的二进制文件格式-Class文件格式所关联,Class文件中包含JVM指令集(字节码,Bytecodes)和符号集,还有一些其他的辅助信息

 

多语言混合编程

 

 

Java发展的重大事件

 

 

Open JDK 和 Oracle JDK 

 

在JDK11之前,OracleJDK中还会存在一些OpenJDK中没有的、闭源的功能,但是在JDK11中,这两者几乎一致

2019年后,比如,Shenandoah GC,OpenJDK很多时候居然比商用OracleJDK功能还多???

 

 

虚拟机和Java虚拟机

虚拟机

  • 系统虚拟机:对物理计算机的仿真
  • 程序虚拟机:为执行单个计算机程序而设计,在Java虚拟机中执行的指令称为Java字节码指令

在虚拟机上运行的软件都被限制于虚拟机提供的资源中

 

Java虚拟机

  • Java技术的核心:JVM
  • Java虚拟机就是二进制字节码的运行环境。解释/编译为对应平台的机器指令执行,每一条Java指令,JVM都有详细的定义,比如,怎么取操作数,怎么处理操作数,处理结果放在哪里?
  • 一次编译,到处运行
  • 自动内存管理
  • 自动垃圾回收功能

 

JVM的位置

JVM是运行在OS之上,与硬件没有直接的交互

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

传送带损坏与对象检测数据集 一、基础信息 • 数据集名称:传送带损坏与对象检测数据集 • 图片数量: 训练集:645张图片 验证集:185张图片 测试集:92张图片 总计:922张工业监控图片 • 训练集:645张图片 • 验证集:185张图片 • 测试集:92张图片 • 总计:922张工业监控图片 • 分类类别: Hole(孔洞):传送带表面的孔洞损坏。 Human(人类):工作区域中的人类,用于安全监控。 Other Objects(其他对象):非预期对象,可能引起故障。 Puncture(刺穿):传送带被刺穿的损坏。 Roller(滚筒):传送带滚筒部件。 Tear(撕裂):传送带撕裂损坏。 impact damage(冲击损坏):由于冲击导致的损坏。 patch work(修补工作):已修补的区域。 • Hole(孔洞):传送带表面的孔洞损坏。 • Human(人类):工作区域中的人类,用于安全监控。 • Other Objects(其他对象):非预期对象,可能引起故障。 • Puncture(刺穿):传送带被刺穿的损坏。 • Roller(滚筒):传送带滚筒部件。 • Tear(撕裂):传送带撕裂损坏。 • impact damage(冲击损坏):由于冲击导致的损坏。 • patch work(修补工作):已修补的区域。 • 标注格式:YOLO格式,包含边界框和类别标签,适用于目标检测任务。 • 数据格式:图像数据来源于工业监控系统,适用于计算机视觉分析。 二、适用场景 • 工业自动化检测系统开发:用于构建自动检测传送带损坏和异物的AI模型,实现实时监控和预防性维护,减少停机时间。 • 安全监控应用:识别人类和其他对象,提升工业环境的安全性,避免事故和人员伤害。 • 学术研究与创新:支持计算机视觉在制造业、物流和自动化领域的应用研究,促进AI技术与工业实践的融合。 • 教育与培训:可用于培训AI模型或作为工业工程和自动化教育的案例数据,帮助学习者理解实际应用场景。 三、数据集优势 • 多样化的类别覆盖:包含8个关键类别,涵盖多种损坏类型和对象,确保模型能够处理各种实际工业场景,提升泛化能力。 • 精准的标注质量:采用YOLO格式,边界框标注准确,由专业标注人员完成,保证数据可靠性和模型训练效果。 • 强大的任务适配性:兼容主流深度学习框架(如YOLO、TensorFlow、PyTorch),可直接用于目标检测任务,并支持扩展至其他视觉任务需求。 • 突出的工业价值:专注于工业传送带系统的实际需求,帮助提升生产效率、降低维护成本,并增强工作场所安全,具有较高的实际应用价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值