JVM JRE JDK,这些东西到底是什么?(转载)

JVM JRE JDK,这些东西到底是什么?

      JVM JRE JDK,这些东西到底是什么?  

      我们在安装好JDK后就可以想象成我们已经买了一台安装好软件的新的电脑。

      JVM : Java Virtual Machine(Java虚拟机) 。所谓“虚拟机”顾名思义就是模拟出来的东西。就像是我们在用电脑看电视,但是电脑里并没有像电视机里面一样的硬件支持,但是我们仍然可以从电脑里接受电视台的节目。那是因为我们编写了一个可以模拟电视机硬件工作的软件运行在电脑的平台上面的原因。同样JVM就是模拟了电脑的硬件,它同样有着像CPU一样可以执行代码的功能。它的实现具体有:指令集 寄存器组 类文件格式 栈 垃圾收集堆 内存区。可以把它理解成是专门用来执行Java程序的一台机器。也就是说JVM提供了Java执行的硬件平台。JVM上执行的代码都存放在 .CLASS 文件中。JVM只执行字节码文件。

  JRE : Java Runtime Environment(Java运行环境)。就是可以运行Java程序的地方。就像是我们要在电脑上运行一个视频软件的时候必须在Windos或者是Linux等操作系统上一样。那我们就可以把它看做是一个操作系统。也就是说JRE提供了Java执行的软件平台。在运行Java的过程中除了需要有JVM执行Java代码这个动作外,还需要Java API(Application Programming Interface,应用编程接口)说简单的就是“类库”。Java程序在运行中没有这些API是不行的,所以JRE包含JVM。

  JDK : Java Development ToolKit(Java开发工具包)。我们有了硬件和软件两个平台后就可以做我们自己想做的事情了。JDK就是我们用来做事情的工具,它包括JRE还有其他工具。我们所说版本的不同,也就是说它里面的工具有差异。就像是你不同的工具箱里放着不同的工具一样。举个例子:最常用的一个就是javac,它是把.java的文件翻译成.class文件的工具。然后让JVM来执行.class文件中的字节码。(就像电脑的CPU只认识0或1的道理)

  如果一台计算机的需求只是运行Java程序,而不是去编写Java程序的时候,它只需要安装JRE就可以了。现在大家知道JVM JRE JDK,这些东西到底是什么了吧。

转载于:https://www.cnblogs.com/l656901317/archive/2013/03/19/2970136.html

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

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

相关文章

投影仪显示播放服务器连接异常,「投影仪维修」常见投影机故障如何解决?

投影机维修方法有哪些一、接通电源后无任何反应投影机在接通电源后,没有任何反应,说明投影机的电源供电部分很可能发生了问题。首先,你应该先检查一下投影机的外接电源规格是否与投影机所要求的标准相同,比方说要是外接电源插座没…

rabbitmq 消费端代码获取队列名称_C#调用RabbitMQ实现消息队列的示例代码

前言我在刚接触使用中间件的时候,发现,中间件的使用并不是最难的,反而是中间件的下载,安装,配置才是最难的。所以,这篇文章我们从头开始学习RabbitMq,真正的从头开始。关于消息队列其实消息队列…

python画饼图程序_python使用matplotlib画饼状图

本文实例为大家分享了python使用matplotlib画饼状图的具体代码,供大家参考,具体内容如下 代码与详细注释 from matplotlib import pyplot as plt #调节图形大小,宽,高 plt.figure(figsize(6,9)) #定义饼状图的标签,标签…

我的世界服务器显示英文,我的世界pixelmon服务器技能显示英文

满意答案zihezimu2019.04.21采纳率:43% 等级:13已帮助:4603人解决神奇宝贝服务器在精灵对战中技能显示为英文,并且对战后名字显示为英文的问题心得 联机教程 1282 浏览1 评论殒天 Lv.7 猎手2017-2-18 09:49:51很多神奇宝贝服务…

AM335X 分配大于4M的framebuffer

最近正在将800X480的设备修改成1024X600,算了一下, 1024X600X4X2需要4M的framebuffer空间,其中4代表一个像素32位色的Byte数, 2代表双framebuffer,LCD驱动程序中,使用dma_alloc_coherent来分配缓冲区 dm…

万年历升级版 Calendar

package com.yc.wnl;import java.util.Calendar; import java.util.Date; import java.util.Scanner;import com.yc.ycutil.DateUtil; //用于输出用户要求的年月对应的表格 public class CalendarTest {public static void main(String[] args) {///万年历的进化版//1、这个月的…

bert pytorch 序列标注_序列标注:Bi-LSTM + CRF

最近在做序列标注的相关任务,为了理解bi-lstm + crf的原理及细节,找了很多相关资料,以及代码实现,这里分享给大家并附上一些自己的理解。 CRF 相关资料推荐 关于crf,我看了很多资料,这里推荐几个 - 英文的crf tutorial - 李航的统计学习方法 这两个讲的很细,公式很多,很…

python中if语句求最大值_python 判断三个数字中的最大值实例代码

python 判断三个数字中的最大值,具体代码如下所示: #判断三个数中最大值 n1 int(input(please enter the firest number:)) n2 int(input(please enter the second number:)) n3 int(input(please enter the third number:)) max_num 0 if n1 > n2…

am335x otg-usb

任务: am335x一共有两个usb主机控制器,在天嵌的bsp中,一个配置为usb host ,一个配置为了usb otg。现在需要将otg也配置为host。 实际修改过程非常简单:将.config文件中,将CONFIG_USB_OTG,CONFIG_USB_OTG_WHITELIST&am…

Linux网络管理基本

子网掩码与IP地址同等长度,与IP地址每一位一一对应,IP地址中对应子网掩码为1的位为网络部分Linux中网卡标识为eth,第一块网卡叫做eth0,第二块叫做eth1,以此类推使用lspci或lsusb命令可查看网卡物理信息命令ifconfig (-…

python如果想测试变量的类型、可以使用_python里测试变量类型用什么

Python中测试变量类型可以使用isinstance()函数或type()函数来完成。 isinstance() 函数: isinstance()函数来判断一个对象是否是一个已知的类型,类似 type()。 isinstance()函数的语法:isinstance(object, classinfo) 参数: object -- 实例对…

参考文献起止页码怎么写_【求助】有全文参考文献但没有起止页码如何办

我的文章引用的文献中有5篇从PUBMED得到的全文电子版是没有起止页码的,在论文中参考文献的著录是要求起止页码的,这该如何办?这5篇文献如下,欢迎战友们伸出援手,1. Lpez-Revilla, R., Martnez-Contreras, L.-A., and Snchez-Garza, M. (2008): Prevalence of high-risk human…

平台系统云服务器配置,01-云平台连接配置

1云平台连接1.1 云平台连接简介云平台连接是指设备与H3C绿洲平台服务器(H3C Oasis server)通过Internet建立的远程管理通道。通过云平台连接,网络管理员可以在没有直接接入到设备所在网络的情况下,通过绿洲平台服务器对分布在不同地域的设备进行管理和维…

python 计算协方差矩阵_opencv2学习:计算协方差矩阵

图像的高级处理中,协方差矩阵计算是必不可少的,但opencv关于这方面的资料却相当少。首先,利用matlab计算一下,便于比较:>> data[1,2,3;10,20,30]data 1 2 310 20 30>> convarcov(data)convar 40.5000 81.0…

源码安装mysql5.1.51

1. ./mysql_install_db --force 2. 进入到mysql的安装目录执行下面4个命令 groupadd mysql useradd -g mysql mysql chown -R mysql . chgrp -R mysql . 3. 将源码里的my-medium.cnf文件拷贝到mysql的安装目录 cp support-files/my-medium.cnf etc/my.cnf 4. 执行…

python读取文件路径报invalid_关于Python读取文件的路径中斜杠问题

最近用Python读取文件,发现有时候用 \ 会报错,换成 \\ 就不会报错。查了下资料发现,\是Python的转义字符,如果路径中存在\t或者\r这样的特殊字符,\就无法起到目录跳转的作用,因此报错。解决办法就是告诉系统…

vb如何定义微软服务器stul,VBScrip微软官方教程.doc

VBScrip微软官方教程VBScript微软官方教程Microsoft Visual Basic Scripting Edition 是程序开发语言 Visual Basic 家族的最新成员,它将灵活的 Script 应用于更广泛的领域,包括 Microsoft Internet Explorer 中的 Web 客户机 Script 和 Microsoft Inter…

cocos2d-x for wp 之Box2D的应用

本文大部分内容是基于fengyun1989的博文,自己只是加深巩固而已 Box2d是一款用于2d游戏的物理引擎。在这个世界里创造出的物体都更接近于真实世界的物体。 首先,在项目添加Box2D.XNA.DLL。 新建一个页面BOX2DLayer并继承于CCLayer 重写init函数&#xff0…

qt 添加依赖库lib_在QT中添加LIB的方法

自动显示隐藏布局的listView借助View的OnTouchListener接口来监听listView的滑动,通过比较与上次坐标的大小,判断滑动方向,并通过滑动方向来判断是否需显示或者隐藏对应的布局,并且带有动画效果. 1.自动显示 ...ImFire即时通讯系统构建(需求)ImFire需求 一期需求(近期) 1.新用户…

python中集合运算_Python中的集合操作与集合运算

Python中的集合是一种无序的,无重复值的数据结构类型。Python中的集合可以用来检测元素检测或消除重复的元素。 一、python 集合概述 (1)Python中的集合元素是无序的,即元素没有顺序问题,也不能像数组、列表、字符串那…