JVM JRE JDK IDE区别
1.JVM--Java virtual machine就是Java虚拟机,它是整个Java实现跨平台的最核心的部分,所有的Java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行,也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释本地系统执行。 JRE--java runtime environment
2.JRE是指java运行环境。光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。所以,在你写完java程序编译成.class之后,你可以把这个.class文件和jre一起打包发给朋友,这样你的朋友就可以运行你写程序了。(jre里有运行.class的java.exe)
3.JDK -- java development kit
JDK是java开发工具包,基本上每个学java的人都会先在机器上装一个JDK,那他都包含哪几部分呢?让我们看一下JDK的安装目录。在目录下面有六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的是以下四个文件夹:bin、include、lib、 jre。现在我们可以看出这样一个关系,JDK包含JRE,而JRE包含JVM。
bin:最主要的是编译器(javac.exe)
include:java和JVM交互用的头文件
lib:类库
jre:java运行环境
(注意:这里的bin、lib文件夹和jre里的bin、lib是不同的)总的来说JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。
eclipse、idea等其他IDE有自己的编译器而不是用JDK bin目录中自带的,所以在安装时你会发现他们只要求你选中jre路径就ok了
jdk里面的东西有什么用?
java工具:
javac.exe(编译器):将源程序(.java文件)转成字节码.class文件。
java.exe(解释器):运行编译.claa文件。
jdb.exe(调试器):查错工具
jar.exe(打包工具):将相关的类文件打包成一个文件
javadoc.exe(文档生成器):从源码注释中提取文档
appletviewer.exe(小程序浏览器):一种执行HTML文件上的Java小程序的Java浏览器。
java基础类库(jar包):
java.lang: 这个是系统的基础类,比如String等都是这里面的,这个包是唯一一个可以不用引入(import)就可以使用的包。
java.io: 这里面是所有输入输出有关的类,比如文件操作等。
java.nio:为了完善io包中的功能,提高io包中性能而写的一个新包 ,例如NIO非堵塞应用java.net: 这里面是与网络有关的类,比如URL,URLConnection等。
java.util: 这个是系统辅助类,特别是集合类Collection,List,Map等。
java.sql: 这个是数据库操作的类,Connection, Statement,ResultSet等。
javax.servlet:这个是JSP,Servlet等使用到的类。
4.ide是什么?有什么用?
ide英文全称是integreted development environment(集成开发环境)。
在这个集成开发环境下,我们可以更方便地组织和管理自己写的代码(工作空间+资源管理器),我们可以通过它提供的一些按钮控件更简单地去调用jdk提供的java工具。
Eclipse,myEclipse,Jbuilder等应用软件就为我们提供了ide(集成开发环境),有些人把IDE看作是这类应用软件的统称。
5.jdk与ide之间有什么关系?区别?
5.1可以没有IDE,但不能没有JDK。
没有IDE,我们也可使用记事本编写.java源代码,然后再使用JDK提供的java编译器,java解释器等,运行代码。
5.2有IDE,也不能没有JDK。
有了IDE,一方面,能够方便我们更好地组织和管理自己写的代码(特别是在开发大型项目时)。另一方面,它能够帮助我们更简便地去操作JDK,不用苦逼地使用命令行操作JDK。