Java学习第一天关于jdk、jre、jvm三者的比较

JDK使用方法和不同版本之间的区别 JDK使用方法和不同版本之间的区别,JDK使用方法和不同版本之间的区别。 立即下载

要想把Java学好,基础得打牢固了,Java成为最受欢迎的语言之一,想必跟这一句话有很大关系,一次编译,到处运行。为什么呢?这就得把jdk jre jvm三者的关系搞清楚,到底我们写的 xxx.java 文件是被谁编译,又被谁执行,为什么能够跨平台运行。

首先,是对三者进行阐述。

JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,具体的下文会详细说明。

JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库。它相对于 jvm 来说,多出来的是一部分的 Java 类库。

JDK :英文名称(Java Development Kit),Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。

显然,这三者的关系是:一层层的嵌套关系。JDK>JRE>JVM,类似于父、子、孙

今天在电脑在装完 jdk 后会有两个版本的 jre?

这两个不同版本的 jre 相互之间有什么联系吗?
老师说没有什么必然联系
优快云上看了很多人的经验得出的结论是:没有联系。甚至准确的来说,它俩是一样的,无论是用哪一个都是可以的。只是很多人习惯将会单独安装另一个 jre,虽然单独安装的 jre 也并没有被使用,原因可能就是刚开始大家都不清楚 jdk 和 jre 之间的关系,所以就默认的都安装上了。

在 jdk 的 bin 目录下,基本上都是一些可执行文件,并且它们还不大。其实这些可执行文件只是外层的一层封装而已,这样的目的是避免输入的命令过长。例如 javac.exe 内部调用的其实是 JDK 中 lib 目录中的 tools.jar 中 com.sun.tools.javac.Main 类,也就是说这些工具只是入口而已。而实际上它们本身又都是由 Java 编写的,所以在 jdk 目录下的 jre 既提供了这些工具的运行时环境,也提供了我们编写完成的 Java 程序的运行时环境。

所以,很明显,jdk 是我们的开发工具包,它集成了 jre ,因此我们在安装 jdk 的时候可以选择不再安装 jre 而直接使用 jdk 中的 jre 运行我们的 Java 程序。(但是大部分人都默认将两个都装上了)。但是如果你的电脑不是用来开发 Java 程序的,而仅仅是用来部署和运行 Java 程序的,那么完全可以不用安装 jdk,只需要安装 jre 即可。

下一个问题,Java 为什么能跨平台,实现一次编写,多处运行?

Java 能够跨平台运行的核心在于 JVM 。不是 Java 能够跨平台,而是它的 jvm 能够跨平台。我们知道,不同的操作系统向上的 API 肯定是不同的,那么如果我们想要写一段代码调用系统的声音设备,就需要针对不同系统的 API 写出不同的代码来完成动作。

JVM不能直接翻译Java代码,而 Java 通过javac编译器成字节码class,jvm能够识别字节码,并将它们解释到系统的 API 调用。针对不同的系统有不同的 jvm 实现,有 Linux 版本的 jvm 实现,也有 Windows 版本的 jvm 实现,但是同一段代码在编译后的字节码是一样的。不同虚拟机的JVM把获得的编码转成0、1这样计算机就能读取了,从而实现代码的不加修改即可跨平台运行。

扣子(coze)案例^第22期:零代码打造小红书竞品监控系统+AI自动生成运营策略建议 本文详细介绍了如何利用扣子(coze)平台零代码搭建小红书竞品监控系统。该系统通过自动化工作流抓取竞品笔记数据,并存入飞书多维表格,结合AI能力自动生成包含可视化分析报告在内的运营策略建议,帮助运营者高效进行数据驱动的市场分析。 阅读详情

相关推荐

Ethercat学习-从站源码生成

移植平台GD32F450,从站芯片AX58100

西澳峰的博客 9218

jdk和java什么关系_Java中JDK和JRE的区别是什么?它们的作用分别是什么?

JDK和JRE是Java开发和运行工具,其中JDK包含了JRE,但是JRE是可以独立安装的,它们在Java开发和运行的时候起到不同的作用~1.JDKJDK是Java Development Kit的缩写,是Java的开发工具包,主要包含了各种类库和工具,当然也包含了另外一个JRE.。那么为什么要包含另外一个JRE呢?而且/JRE/bin目录下,包含有server一个文件夹~包含一个jvm.dll,...

weixin_28701593的博客 3221

EndNote X9 参考文献附录列表 格式调整

EndNote X9 插入参考文献常见问题总结

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 2570

一步到位!彻底了解Java中JDK、JRE、JVM分别是什么及它们之间的联系

首先,next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。简单地说,next()查找并返回来自此扫描器的下一个完整标记。完整标记的前后是与分隔模式匹配的输入信息,所以next方法不能得到带空格的字符串...

weixin_45797022的博客 3939

Authentication Assertion Tickets,SAP 系统到系统单点登录里的短命凭证

SAP 系统间的身份传递机制存在 Authentication Assertion Ticket 和 SAP Logon Ticket 两种易混淆的凭证。前者用于系统间短时身份委托(有效期2分钟,通过HTTP头传输),后者用于浏览器SSO(可配置有效期,通过Cookie传输)。Assertion Ticket依赖签发系统的数字签名和严格的时间同步,适用于ABAP/Java系统间的后台作业调用。现代SAP架构已转向OAuth 2.0等标准协议,但老系统中仍需注意两种票据的关键差异:传输方式、有效期、接收方限制

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 602

60、磁悬浮主动隔振系统的LQR控制研究

本研究针对磁悬浮主动隔振系统,提出了一种结合ANN建模、LQR控制与MPGA优化的综合控制方案。通过建立系统的动力学与状态空间模型,利用混合训练算法的ANN精确描述MSVI的非线性和滞后特性,并设计基于最小力传递率的LQR控制器。为优化LQR的Q和R矩阵,引入多群体遗传算法(MPGA),有效克服传统GA的早熟收敛问题,提升搜索效率与控制性能。仿真结果表明,在单频、扫频、随机及冲击激励下,该方法显著降低传递力幅值,隔振效果远优于被动系统。研究验证了所提方法的有效性,为磁悬浮隔振技术的实际应用奠定了基础,并展望

linux6sysadmin的博客 126

JDK和JRE的区别和联系

从图中可以看出JDK是整个JAVA的核心,包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java开发工具(javac/java/jdb等)和Java基础的类库(即Java API 包),下面开始揭开JDK和JRE的神秘面纱。 一、概念 JDK全称为Java Development Kit,顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包。 JRE全称为Java Runtime Environment,顾名思义是j

振华OPPO的博客世界 4万+

基于Abaqus的横向各向同性线弹性理想塑性材料模型的umat子程序实现——以Fortran为例,带您揭秘弹性塑性模型编程之道

通过以上步骤,我们已经在Abaqus中使用Fortran实现了横向各向同性线弹性理想塑性材料模型的umat子程序。在实际应用中,我们需要根据具体的材料特性和加载条件来调整模型参数和计算过程。尽管我在这篇文章中尽力提供了详细的教程,但由于我自身的知识限制和经验不足,可能会有误解或错误。我希望大家在学习过程中能多思考,多实践,多交流,以更好地理解和掌握这个主题。

qq_38334677的博客 1690

【精简java】仅有50MB的Minecraft精简版java(jdk17,21)

精简极小jre,无需安装臃肿java,随时随地畅玩mc,实现便携轻松使用jre 附下载

m0_66745333的博客 5284

用 i18n 驯服标准文案:SAP Fiori elements 的 UI 文本本地化与可替换实践全景

本文系统介绍了SAP Fiori elements应用中UI文本本地化的全面解决方案。从框架层与应用层文本的分类原则出发,详细解析了标准文本替换的四步法:资源准备、键值定位、模型配置和验证部署。文章特别针对不同开发场景,提供了XML、ABAP CDS和CAP CDS三种注解方式的文本覆盖写法示例。同时深入探讨了语言回退机制、表格组件标准键覆盖等关键技术细节,并指出了实际项目中的常见问题与解决方案。通过结合官方文档和社区实践,为开发人员在不破坏框架约定的前提下,实现稳定可靠的UI文本本地化提供了完整指导。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 296

科研神器: 用Gemini 3

Edge藏了个科研开挂神器!免TZ/免谷歌账号用Gemini 3,1分钟上手(附保姆级教程) 做科研查文献、理数据总卡壳?想蹭Gemini 3的AI能力,却被“谷歌账号+TZ+节点筛选”三连劝退? 现在不用折腾了!Edge浏览器里装个插件,直接把Gemini 3揣进口袋——**免翻墙、免谷歌账号、国内直接用**,分分钟让你的科研效率翻三倍,导师都得问你“偷偷开了啥挂”!

ZhangJiqun&191cm&85kg 1159

JDK、JRE、JVM的关系和区别

JDK:Java Development Kit(java开发工具包),它包括JRE和JVM,类似于要使用电脑得安装一个系统比如window一样。 JRE:Java Runtime Enviroment(java运行环境),属于JDK的一部分,主要是一些java能够编写的原始文件如AWT和Swing图像化依赖的jar包文件夹等,说白了就是需要一些系统自带的jar包。 JVM:Java Virtual Machine(java虚拟机),是java运行环境JRE的一部分,是一个虚拟处理的计算机,通过在实际的

weixin_42978994的博客 397

基于Simulink的智能车辆电子稳定控制(ESC)仿真

本文完成了基于 Simulink 的智能车辆电子稳定控制(ESC),实现了:✅ 构建含轮胎非线性的车辆动力学模型✅ 设计滑模横摆稳定性控制器✅ 实现四轮制动力分配逻辑✅ 验证在双移线低附着场景下的卓越稳定性✅ 为主动安全控制系统开发提供完整范式。

xiaoheshang_123的博客 79

浅谈JDK JRE JVM三者的区别

首先,我们分别对这三者进行阐述。 JVM :英文名称(Java Virtual Machine),就是我们耳熟能详的 Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,具体的下文会详细说明。 JRE :英文名称(Java Runtime Environment),我们叫它:Java 运行时环境。它主要包含两个部分,jvm 的标准实现和 Java 的一些基本类库

weixin_46402869的博客 2208

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

JDK、JRE和JVM三者之间关系

JDK、JRE和JVM三者之间关系 JDK(Java Development Kit)是针对Java开发员的产品,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。 JRE (Java Runtime Environment)是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。 JVM (Java Virtual Machine)是Java虚拟机的缩写,是整个java实现跨平台的最核心的部分,能够运行以Java语言写作的软件程序。 三者的关系是J

CCCuihan的博客 2466

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Java中jdk jre jvm 三者之间的关系

Java中的 JDK JRE JVMJDK JRE JVM三者之间联系 JDK JRE JVM JDK: Java Development Kit (JDK). Java的开发工具包。其包含了Java开发的工具(Javac、Java、jdb等)和基本类库(Java API)。 JRE:Java Runtime Environment (JRE). Java的运行环境。包含了Java运行环境。 J...

Dianna_YY的博客 779

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【JAVA面试题】JDK、JRE、JVM 三者区别和联系

JDK:Java 开发工具包,包含 JRE 和开发工具,用于开发和编译 Java 程序。JRE:Java 运行时环境,包含 JVM 和核心类库,用于运行 Java 程序。JVM:Java 虚拟机,负责执行字节码,实现 Java 的跨平台特性。JDK是开发者的工具箱。JRE是程序运行的环境。JVM是程序执行的引擎。

体系化很难,碎片归纳很简单。 1496

JDK,JRE,JVM三者的区别?

简单的说一下JDK,JRE,JVM都是什么。 一:基本简介 1、JDK全称为(Java Development Kit),是指Java的软件开发包。提供给开发人员使用, jdk是整个java开发的核心,集成了一些jre的小工具,如javac.exe,java.exe,jar.exe等。 2、JRE全称为(Jave Runtime Environment)是指Java的运行环境,主要分为两部分, j...

木子de小屋屋啦啦啦 2017

【Java】JDK、JRE、JVM三者最通俗的讲解

本文系统讲解了Java运行环境的三大核心组件:JDK(开发工具包)、JRE(运行环境)和JVM(虚拟机)。JVM是执行字节码的核心引擎,JRE包含JVM和核心类库用于运行程序,JDK则包含JRE及开发工具用于编写和编译代码。三者关系为JDK包含JRE,JRE包含JVM。文章还详细说明了Java程序从编写到运行的完整流程:源代码→编译→字节码→JVM执行→程序运行,并总结了面试常见考点,如跨平台原理和JVM内部组件等。理解这些概念有助于掌握Java程序的底层运行机制。

2301_81481532的博客 715

JDK、JRE、JVM三者关系

jdk、jvm和jre三者有什么关系?

MacondoMayor的博客 1871

[java]说说 JRE , JDK , JVM 三者之间的区别与联系

在写了很多代码之后,如果问 jre 和 jdk 之间有什么关系, jvm 又是什么,估计有相当一部分人不知道在说什么.所以这篇文章,就尝试解释一下这三者之间的区别和联系,弄清楚为什么 java 能够做到" write once , run anywhere " 基本概念 咱们先来说说, jvm , jre , jdk 都是什么. JVM ( Java Virtual Machine ):就是常说的...

自由而不独立,仍是奴隶。 529

JDK、JRE、JVM三者的区别

(1)JDK和JRE 是有独立安装包的,而JVM没有独立的安装包。(2)JDK当中包含了JRE,而JRE包含了JVM,这是三者的关系。安装好的JDK也可以发现在目录下存在JRE。如下便是JDK:(3)想要单纯的运行Java项目,安装JRE即可,当然前提是所有文件必须都是编译好的文件,如果开发的话,就需要安装JDK,因为我们编译代码都是通过JDK的bin目录下的javac.exe 进行编译的,在JRE当中并没有该程序,JRE当中只存在java.exe,也就是运行程序。

怪咖@的博客 3309

JAVA中JVM、JRE、JDK三者之间的关系

JRE、JDK、JVM三者之间的关系

大前端开发工程师、互联网方向创业者 2294

java中jdk jre jvm三者关系

jdk jre jvm三者关系 JDK是JAVA的核心,包括JRE(JAVA 虚拟环境)、编译器等,JDK的主流产品是由SUN公司开发的,JDK本身是用JAVA编写的,安装包的SRC.ZIP就是JDK的源码 JVM(JAVA虚拟机),是可以运行JAVA代码的假想计算机,主要任务是把JAVA字节码编译成特定计算机的机器指令,是JAVA实现“一次运行,处处运行”的关键 JRE是JAVA运行环

uber001的博客 1004

JDK,JRE,JVM三者间的关系,以及JDK、JRE的主要结构

一、JDK,JRE是什么? 1.JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了 JRE。所以安装了JDK,就不用在单独安装JRE了。 2.JRE是包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等, 如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。 二、JDK、JRE、JVM关系 JDK = JRE + 开发工具集(例如Javac编译工...

weixin_48888366的博客 8958

JDK、JRE、JVM三者的区别与联系

JDK、JRE、JVM三者的区别与联系 今天看博客的时候看到看到一个问题,问的就是JDK、JRE、JVM的区别。我一想,我凑,学了Java我居然不知道,可耻可耻太可耻了。 叮,然后就有了这篇博客。 直接来说,就是JDK>JRE>JVM ​ JDK是开发环境,JRE是运行环境,JVM是Java虚拟机。 1.JDK JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAV

qq_43238335的博客 418
上一篇: jQuery的eq()、siblings()方法配合使用注意点
下一篇: 渡渡课Java139班王林11.18作业
Mysterious God WL
博客等级 码龄6年 10粉丝 26原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值