Java2平台版本

Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本

J2SE 包含那些构成Java语言核心的类。

J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。

J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。

Java跨平台性原理

C/C++ 都会直接编译成对应平台(操作系统)机器码进行执行,如果要实现在不同平台执行,那么就要在不同的平台上使用不同编译器,重新进行编译,才可以执行

Java源程序在进行编译后形成与平台无关的字节码文件(.class) ,此文件不是用机器码文件不能直接在操作系统上执行,需要借助Java虚拟机进行解释执行,这就成就课Java的跨平台性。无论什么平台产生的都是与操作系统无关的字节码文件,通过JVM(Java虚拟机)中的不同操作系统的解释程序,解释成对应操作系统的可执行文件。(字节码文件只面向JVM,不面向任何的操作系系统)。

在java源程序编译成.class文件后,.class文件可以直接被JVM解释执行,也就是说.class文件编译一次,多平台执行。

JVM?JDK?JRE?

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM的主要工作是解释自己的指令集(即字节码)到CPU的指令集或对应的系统调用,保护用户免被恶意程序骚扰。

JRE是java runtime environment(java运行环境)的缩写。在解释class的时候JVM需要调用解释所需要的类库lib,JRE中包含JVM和类库(与具体的CPU结构和操作系统有关)。

JDK是java development kit(java开发工具包)的缩写,JDK中保存编译器、运行时环境(JRE)、类库等。

也就是说Jdk是JAVA程序开发时用的开发工具包,其内部也有JRE运行环境JRE。JRE是JAVA程序运行时需要的运行环境,Jdk、JRE内部都包含JAVA虚拟机JVM,JAVA虚拟机内部包含许多应用程序的类的解释器和类加载器等。

Java--平台版本、跨平台、JVM、JDK、JRE的更多相关文章

  1. JVM,JDK,JRE

    JVM,JDK,JRE 什么是JVM Java 虚拟机. 这个名词由Java和虚拟机前后两部分组成. 它有和其他虚拟机共性:JVM是通过软件模拟的计算机系统. 它也有自己的特性:JVM使用软件模拟的指 ...

  2. 第一阶段:Java基础 1.JAVA开发介绍---2. JVM、JRE、JDK之间的关系

    JDK :英文名称(Java Development Kit),Java 开发工具包,是针对 Java 开发员的产品.jdk 是整个 Java 开发的核心,包括了Java运行环境JRE.Java工具和 ...

  3. jvm jdk jre 关系

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

  4. JVM/JDK/JRE/IDE—区别(很经典)

    转载于 http://blog.csdn.net/jojo52013145/article/details/5801916 只是为了学习,转载没有别的目地,就是爱copy,copy一点点,进步一点点 ...

  5. Java学习笔记一---JVM、JRE、JDK

    jdk包含jre,jre包含jvm. 用java语言进行开发时,必须先装jdk: 只运行java程序,不进行开发时,可以只装jre. JVM 即Java Virtual machine,Java虚拟机 ...

  6. 简述JVM、JRE、JDK的关系及作用

    1.JVM:java虚拟机 . 作用:保证java语言跨平台. 2.JRE:java运行环境 jre=java虚拟机+核心类库. 作用:java程序的运行环境. 3.JDK :java开发工具集.JD ...

  7. JDK、JVM、JRE关系

    开始第一个Java程序 *保证计算机当中已经安装了文本编辑器EditPlus *安装JDK[JDK一般需要从oracle的官网下载],我们这里先用的JDK7 *在安装JDK的时候有jre JDK开发需 ...

  8. jdk,jre.jvm三者的关系

    jdk>jre>jvm jdk=jre+java的开发工具(包括java.exe,javac.exe.javadoc.exe) jre=jvm+java核心类库

  9. Java 9 揭秘(8. JDK 9重大改变)

    Tips 做一个终身学习的人. 在本章,主要介绍以下内容: 新的JDK版本控制方案是什么 如何使用Runtime.Version类解析JDK版本字符串 JDK JRE 9的新目录布局是什么 JDK 9 ...

  10. java-01 JAVA三大版本比较&JDK、JRE、JVM 的关系

    1. java三大版本比较 1.1 java SE javaSE 是java标准版的简称,其定位是个人计算机应用(应用原生界面比较ugly) 全称:Java Platform Standard Edi ...

随机推荐

  1. [ACTF2020 新生赛]BackupFile

    0x00 知识点 备份文件 index.php.bak str弱相等被转化为整型 0x01解题 根据提示下载备份文件得到源码 看到==弱相等 且被强制转为整型 http://7d5cccc5-4ecd ...

  2. java04异常处理课堂总结

    一,动手动脑 1,请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. import javax.swing.*; class Abo ...

  3. WIN10怎么查看端口,并杀死进程

    在命令行执行一下命令 netstat -ano | findstr "

  4. C语言预处理理论2

    C语言预处理理论1.头文件包含(1)#include <>和#include ""区别:<>专门用来包含系统提供的头文件(就是系统自带的,不是程序员自己写的 ...

  5. bzoj 4247挂饰

    背包????不会... #include<bits/stdc++.h> #define INF 0x7fffffff #define LL long long #define N 1000 ...

  6. Android中时间戳的详细解释

    Android中时间戳的详细解释: (1).定义: 时间戳就是根据当前系统时间生成的一组随机数字. (2).作用: 作为对数据唯一性的一种判断依据.避免了重复修改数据所带来的错误! (3).应用: ( ...

  7. bugku-Web 文件包含2

    打开网页查看源代码,在最上面发现upload.php,于是我们就访问这个文件:http://123.206.31.85:49166/index.php?file=upload.php 发现是让我们上传 ...

  8. ES6的一些语法

    let, const, class, extends, super, arrow functions, template string, destructuring, default, rest ar ...

  9. textare限制拖动;提示文字(点击消失,不输入恢复提示信息)

    1.在textarea添加一个样式:style="resize:none;" 2.提示文字(鼠标点击的时候消失,不输入恢复提示信息): <input name="t ...

  10. POJ - 3658 Artificial Lake

    题意:向N个连续且高度不同的平台灌水,平台各有宽度,且高度各不相同.一开始,先向高度最低的平台灌水,直到灌满溢出,流向其他的平台,直至所有平台都被覆盖.已知每分钟注入高度为1且宽度为1的水,问每个平台 ...