当我们学习java语言时,首先需要安装到我们电脑上的就是jdk。jdk是java语言的开发环境,只有安装了jdk,我们才能使用java语言开发程序。

  JDK=JRE+开发工具包

  JRE=JVM+核心类库

JVM--java virtual machine(Java虚拟机)。Java语言的一个非常重要的特点就是跨平台,而要实现跨平台就是依靠JVM(Java虚拟机)。不同的平台对应不同的JVM,比如Linux系统和Windows系统就需要不同的JVM。Java程序编译后生成的字节码文件(.class文件)可以在虚拟机上执行,通过JVM(Java虚拟机)生成具体平台的机器执行指令,这就是Java能够“一次编译,到处运行”的原因。

JRE--Java Runtime Environment,Java运行环境,JRE包括JVM和核心内库。仅仅靠JVM是不能够运行java程序的,因为在运行java程序的时候,JVM需要调用解释所需要的类库,而JRE就包含这种类库(核心类库)。所以要运行java程序就需要安装JRE。

JDK(Java Development Kit)是Java的开发环境,JDK包括JRE 和开发工具包。JDK是针对java开发人员的产品,只有安装了JDK我们才能开发java程序。JDK安装目录下有一个jre目录,这就是JDK中的JRE,所以安装了JDK之后就不需要在单独安装JRE了。jre目录下有一个bin文件夹和一个lib文件夹,在这里可以认为bin里的就是JVM,lib文件夹中存放的就是JVM工作时所需要的基本类。

如果只是想运行一个java程序,只需要安装JRE就行了。但如果想开发java程序,则需要安装JDK。

java基础---JDK、JRE、JVM的区别和联系的更多相关文章

  1. [javase基础] JDK JRE JVM的区别?

    JDK Java Development Kit 用作开发, 包含了JRE,编译器和其他的工具(比如: JavaDoc,Java调试器),可以让开发者开发.编译.执行Java应用程序. JRE Jav ...

  2. AJPFX关于JDK,JRE,JVM的区别与联系

    很多朋友可能跟我一样,对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的. 今天我们来整理下三者的关系. JDK : Java Development ToolKit(Java开发工具包) ...

  3. JDK,JRE,JVM的区别与联系

    JDK : Java Development ToolKit(Java开发工具包).JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工 ...

  4. Java初学者不得不知的概念,JDK,JRE,JVM的区别?(转)

    JVM(Java Virtual Machine Java虚拟机)可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式,它主要负责将java程序生成的字节码文件解释成具体系统平台上的机器指令. ...

  5. JDK JRE JVM的区别

    Jdk[Java Development ToolKit]就是java开发工具箱, JDK是整个JAVA的核心,里边包含了jre,它除了包含jre之外还包含了一些javac的工具类,把java源文件编 ...

  6. JDK,JRE,JVM的区别与联系?

    概念区别 JDK:           Java Develpment Kit java 开发工具JRE:         Java Runtime Environment java运行时环境JVM: ...

  7. java特性 JDK JRE JVM

    1简单性 2可移植性性(跨平台) 3面向对象 4高性能 5分布式 6动态性 7多线程 8安全性JDK:java开发工具 . JRE:JDK:java运行环境 . JVM:JDK:java虚拟机

  8. JAVA EE,JAVA SE,JAVA ME,JDK,JRE,JVM之间的区别

    JAVA EE是开发企业级应用,主要针对web开发有一套解决方案. JAVA SE是针对普通的桌面开发和小应用开发. JAVA ME是针对嵌入式设备开发,如手机. JRE是程序的运行环境 JDK是程序 ...

  9. 基础知识《零》---一张图读懂JDK,JRE,JVM的区别与联系

  10. JDK JRE JVM的区别与关系

    JDK JAVA开发工具包    他包含了JRE   JAVA运行环境   JVM JAVA虚拟机他是跨平台的核心主件   他将Java源文件编译成 .class结尾字节码文件交由不同计算机执行    ...

随机推荐

  1. 1056/1862. [ZJOI2006]GameZ游戏排名系统【平衡树-splay】

    Description GameZ为他们最新推出的游戏开通了一个网站.世界各地的玩家都可以将自己的游戏得分上传到网站上.这样就可以看到自己在世界上的排名.得分越高,排名就越靠前.当两个玩家的名次相同时 ...

  2. 【[BJOI2017]魔法咒语】

    矩阵乘法+\(AC\)自动机 是道很不错的题了 首先是前六十分,就是一个\(AC\)自动机上的套路\(dp\),设\(dp[i][j]\)表示匹配出的长度为\(i\)在自动机上位置为\(j\)的方案数 ...

  3. Hadoop学习之路(五)Hadoop集群搭建模式和各模式问题

    分布式集群的通用问题 当前的HDFS和YARN都是一主多从的分布式架构,主从节点---管理者和工作者 问题:如果主节点或是管理者宕机了.会出现什么问题? 群龙无首,整个集群不可用.所以在一主多从的架构 ...

  4. 集合之Iterator

    迭代对于我们搞Java的来说绝对不陌生.我们常常使用JDK提供的迭代接口进行Java集合的迭代. Iterator iterator = list.iterator(); while(iterator ...

  5. 我的linux shell 脚本头部

    #!/bin/bash #################################################### # version:1.01 # # link:http://www. ...

  6. [图解tensorflow源码] 线程池模块分析 (CPU thread pool device)

  7. linux文件系统初始化过程(2)---挂载rootfs文件系统

    一.目的 本文主要讲述linux3.10文件系统初始化过程的第一阶段:挂载rootfs文件系统. rootfs是基于内存的文件系统,所有操作都在内存中完成:也没有实际的存储设备,所以不需要设备驱动程序 ...

  8. iOS:WKWebView(19-01-31更)

    以前用得不多,先开一篇,以后有遇到再补充. 1.返回 2.JS 调用 OC 3.获取.修改.添加网页信息 1.返回 if (self.mWebView.canGoBack == YES) { [sel ...

  9. MySQL学习【第六篇sql语句下】

    一.select高级用法 1.传统连接(只能内连接,取交集,效率最慢) 1.根据两张表查询张三成绩 select t1.sname,t2.mark from t1,t2 where t1.sid=t2 ...

  10. plupload分片上传视频文件源码展示

    plupload分片上传视频文件目录结构如下: |- images//视频上传小图片 |-js// plupload js文件 |-uploads//视频文件存放文件夹 里面是按日期存放 |-ajax ...