java jli.dll_JVM、JRE、JDK之间的区别和联系,你居然还不知道?

JDK包含了JRE,JRE包含了JVMJDK:java开发工具包,针对java开发人员,可以编译运行java程序

JRE:java运行时环境,针对使用java程序的客户,可以运行字节码(.class),但是不能编译Java源码

JVM:用来解释执行字节码文件(.class),但不能正确的执行

什么是JVM

JVM是JRE的一部分,是虚拟出来的一台计算机.通过实体计算机仿真各种计算功能来实现,JVM有自己完善的硬件架构,如处理器,堆栈,寄存器等,还有相应的指令集.JVM是Java跨平台的核心,Java程序通过JVM的跨平台,从而使Java程序跨平台.Java程序首选会被编译成字节码文件(.class),JVM的核心任务就是解释字节码文件(.class)并映射到真实CPU指令集或者系统调用.JVM不关系上层Java程序,只关系字节码(.class).

什么是JRE

JRE是Java运行环境,所有Java程序必须依赖JRE才能运行.只有JVM是不能运行字节码文件的(.class),因为解释的字节码的时候需要lib库. JRE里面有两个文件夹 bin/ , lib/ 。 bin/ 就是JVM, lib 就是JVM所需要库。JVM+ lib =JRE

什么是JDK

JDK是Java的核心,包含运行Java运行环境(JRE)和一些Java工具及Java基础类库 。

JDK提供的工具

appletviewer.exe* java-rmi.exe* jrunscript.exe* policytool.exe*

extcheck.exe* javaw.exe* jsadebugd.exe* rmic.exe*

idlj.exe* javaws.exe* jstack.exe* rmid.exe*

jabswitch.exe* jcmd.exe* jstat.exe* rmiregistry.exe*

jar.exe* jconsole.exe* jstatd.exe* schemagen.exe*

jarsigner.exe* jdb.exe* jvisualvm.exe* serialver.exe*

java.exe* jdeps.exe* keytool.exe* servertool.exe*

javac.exe* jhat.exe* kinit.exe* tnameserv.exe*

javadoc.exe* jinfo.exe* klist.exe* unpack200.exe*

javafxpackager.exe* jjs.exe* ktab.exe* vcruntime140.dll*

javah.exe* jli.dll* native2ascii.exe* wsgen.exe*

javap.exe* jmap.exe* orbd.exe* wsimport.exe*

javapackager.exe* jps.exe* pack200.exe* xjc.exe*

Java Api是Java的应用程序接口,里面有很多写好的Java Class,包含一些重要的语法结构以及基本图形,网络和文件IO,我们可以直接调用。

总结有JVM和lib库(JRE)就可以执行字节码(.class)文件(Java程序)

有JRE可以运行(Java程序)但是还不能开发Java程序,需要JDK(JRE+开发工具)才可以

windows 安装jdk

会发现有两个目录,其实只需要 jdk1.8.0_91 就可以,里面包好了jre, jre1.8.0_91 是JDK单独提供一个一个运行环境

两个目录jre的区别相同点:这两个JRE都可以作为Java程序的运行环境

不同点:JDK只能使用自己目录自带的JRE,不能使用外面单独安装的JRE

开发到运行

安装JDK环境,调用本地的Java api完成业务代码,通过JDK的编译器(javac)编译成字节码(.class),然后在JRE上运行这些JAVA字节码,JVM解释这些字节码,映射到CPU指令集或者系统调用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

女生转行IT与男生有什么不一样?

全世界只有3.14 % 的人关注了数据与算法之美在我的后台咨询者当中,女生向我咨询最多的问题就是:女生转行IT有什么困难?是不是很多IT企业都不要女生啊?女生的逻辑不如男生,是不是学不好编程?等等。1以上的所…

Blazor 基础入门

Blazor 基础知识IntroBlazor 是微软在 .NET 里推出的一个 WEB 客户端 UI 交互的框架,使用 Blazor 你可以代替 JavaScript 来实现自己的页面交互逻辑,可以很大程度上进行 C# 代码的复用,Blazor 对于 .NET 开发人员来说是一个不错的选择。托管模…

关于MySQL 查询表数据大小的总结

关于MySQL 查询表数据大小的总结 一:关于mysql表数据大小我们知道mysql存储数据文件一般使用表空间存储 当mysql使用innodb存储引擎的时候, mysql使用表存储数据分为共享表空间和独享表空间两种方式 共享表空间:Innodb的所有数据保存在一个单…

java 列表展开方式_android列表控件实现展开、收缩功能

最近在做一个Rss阅读器,我看了一看别人做的阅读器中的lisView可以伸缩,展开,我就在网上搜索了一下。果然让我找到,下面就我找到的一个小例子,给大家分享一下。ActivityMain .javapackage com.android;import android.a…

每个人都应该学习编程,因为它会教你如何思考

▲数据汪特别推荐点击上图进入玩酷屋扎克伯格11岁开始学习编程,创办Facebook;比尔盖茨13岁学习编程,创办微软……乔布斯说:“每一个人都应该学习电脑编程,因为它会教你如何思考。"现在在北京上海,顶级…

.NET Core HttpClient请求异常思考

【导读】上一篇我们讨论了针对项目上异常信息的具体分析而给出对应解决方案,本篇仅是我个人对相关异常信息了解过后的进一步学习和思考,希望对后续遇到此异常信息的同学们给予思路扩展下面我们结合如下两个异常信息进行大致排查分析,到底什么…

Ubuntu 12.10 安装官方JDK

安装官方JDK前先删除系统自带的OpenJDK sudo apt-get purge openjdk* 一、下载官方JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 下载后的文件叫做:jdk-7u10-linux-i586.tar.gz 二、安装JDK 进入下载的文件目录&#…

程序员编程10大原则,请牢牢记住!

全世界只有3.14 % 的人关注了数据与算法之美1、想清楚,再动手写代码刚入行的新手,为了展示自己的能力,拿到需求迫不及待地就开始上手写代码,大忌!2、不交流,就会头破血流不爱说话和沟通,需求都理…

技术分享|基于SQL Server Change Tracking实现宽表的增量更新

源宝导读:在企业建设信息化的过程中,客户通常会使用一些数仓工具来构建数据资产,随着用户的要求越来越高,传统的ETL技术已经无法满足客户的实时性诉求,本文将分享“天际-数据平台”如何基于SQL Server来实现数仓数据的…

C# 文件操作详解(一)---------File类

C#对文件的操作相当方便,主要涉及到四个类:File、FileInfo、Directory、DirectoryInfo,前两个提供了针对文件的操作,后两个提供了针对目录的操作,类图关系如下: 图1:类图 下面通过实例来看下每个…

小时“数感”好,长大才能数学好

▲数据汪特别推荐点击上图进入玩酷屋很多妈妈都无比担心孩子的数学:孩子会不会像自己一样重蹈覆辙呢?在很多人眼里,数学是一堆怎么也弄不明白的公式、符号,而且是怎么努力怎么用功死活就是学不好的一门学科。可是,同样…

java并行流 阻塞主线程_多线程入门案例与java8的并行流

java8 实例请移步https://www.cnblogs.com/ngLee/p/14021859.html进程与线程进程是所有线程的集合,每一个线程是进程中的一条执行路径。多线程的创建方式,继承Thread\实现Runable/*** 第一种创建线程的方式,继承Thread*/public class MultiTh…

BlazorCharts 原生图表库的建设历程

点击蓝字关注我们背景目前 Blazor 中可用的图表组件库主要有以下几个:ant-design-blazor/ant-design-charts-blazor-基于G2Plot mariusmuntean/ChartJs.Blazor- 基于ChartJs blazor-cn/Blazor.ECharts- 基于EChartsant-design-charts-blazor是我主导完成的&#xff…

Imageready(IR)动画介绍

PS自带了IR的大部分功能,如需使用动画功能,打开窗口---动画 ,然后就可以做动画了。最后保存方式要注意。存储为web和设备所用格式之后在弹出的选项上选GIF 。  一般通过设置图层不透明度来隐藏的图片实现多个图片切换。 CS5好像无法直接导出为swf。

别光顾着背单词了,每天花18分钟做这件事,英语水平暴增!

全世界只有3.14 % 的人关注了数据与算法之美在知乎上看过一个问题:在当今社会,英语还重要吗?点赞第一的回答是——英语可以差,但你的口语一定要好!你记住了1万个单词、将语法书倒背如流、英语成绩名列前茅、英语证书一…

java中treemap释放_在Java中从TreeMap删除键

使用该remove()方法从TreeMap中删除键。让我们首先创建一个TreeMap并添加一些元素-TreeMap m new TreeMap();m.put(1,"India");m.put(2,"US");m.put(3,"Australia");m.put(4,"Netherlands");m.put(5,"Canada");现在让我们删…

WPF 路径动画PathAnimations的使用

在wpf中让一个控件按照一定的路径运行的动画。。叫做路径动画&#xff0c;这个示例演示了让一个rectangle按照一个s形曲线反复运行的动画。效果&#xff1a;只有一个文件&#xff1a;全部代码如下 &#xff1a;<Window x:Class"wpfcore.MainWindow"xmlns"htt…

setresult()java_Java ResultSet getType()方法与示例

该java.sql.ResultSet中的接口表示由SQL语句返回这样的表格数据。即ResultSet对象保存由执行查询数据库的语句的方法返回的表格数据(通常是Statement接口的executeQuery()方法)。ResultSet对象的类型根据您可以遍历的方向及其灵敏度确定结果集的类型。(在ResultSet中完成的更改…

STEM科学实验:测试了2000+儿童后证明它秒杀了90%的玩具!

▲数据汪特别推荐点击上图进入玩酷屋除了ipad和那些普通的玩具&#xff0c;我们还能给孩子玩儿些什么&#xff1f;当然是“玩”科学。因为创造力是他们这个年纪&#xff0c;最需要培养的东西。真正的科学启蒙不是将科学知识生硬的灌输给孩子&#xff0c;而是要让孩子在探索中能…

两个对象转换的方法

1、如果属性完全一致&#xff0c;可以使用已有方法 BeanUtils.copyProperties(clientPlugin, clientPluginVO); SuppressWarnings("all") ResourceMapping(value "/plugin/list", method HttpMethod.GET) public List<ClientPluginVO> getClient…