对于这些个不为人知的小秘密,那么就带你了解一下好吗?
最开始我要说的是,下面的一点子东西可能会有点长,没有耐心,没有恒心,没有意志力,还是慎读的好,
因为这个不关于像什么Because of love之类的东西,它考验的最主要的是你的意志力,以及抗犯困能力...
非大毅力者还是放弃的好。
那么首先就是第一个比较神奇的东西,叫做神奇的JDK。
那么问题来了,什么叫做JDK呢?
JDK全称叫做Java Develoopment Kit,是Java 的开发工具包,包括JRE加上
一个编译器(javac)和其他工具.
那么问题是不是又来了,说其他工具,其他工具是啥呢?
如果这样的话,我想你可能需要了解一手一个叫做基本组件的东西。
说了这么多,JDK的基本组件包括什么呢?
java想必都已经很熟悉了吧,那么javac想必也一定不陌生。这些在想当年那个
在用记事本编写Java程序的岁月中,用到的次数我感觉应该是不会少的。
那么除此之外还有一些,像jar,javadoc,jdb,appletiviewer,Javah,javap,
Jconsole的东西,如果感兴趣的话,可以去问一下度娘从而来了解一下。
正所谓学而不思则罔,思而不学则殆,让你们去查的话,印象又会很深刻了,
所以就不用那么麻烦了,给你们总结一下,了解一手好吗?有点印象就行,别太在意。
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
java – 运行编译后的java程序(.class后缀的)
appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole: Java进行系统调试和监控的工具.
好啦,JDK这个东西就到这,别纠结了,不懂没关系的。
那么接下来是个什么呢?ememememem....好吧,就JRE吧。
JRE,说到JRE问题就又来了,什么是JRE呢?
JRE全称叫做Java Runtime Environment,是Java的运行环境,它有点子厉害,包含了JVM标准实现及Java核心类库。
是不是想问一手什么是JVM啊,别着急啊,只是先提出来嘛,下面可能,大概,也许,应该会解释的吧,ememem......
谁知道呢。O(∩_∩)O哈哈~
好了,废话不多说,进入正题。
那么你要知道的是,JRE虽然说是Java的运行环境,但并不是一个开发环境,所以并没有包含任何开发工具(如编译器和调试器)
这样的话,你们是不是要问一手什么是运行环境,什么又是开发环境了呢?
不要瞎猜了,简单说一下,就是:
开发环境指的是你当前操作的环境,举个例子我用win7系统,eclipse写代码.这些就属于开发环境。
运行环境,指的就是java环境,学java的都知道,java运行依赖于JDK,JDK就java虚拟机,
java只有在java虚拟机中才能运行,而JDK就是运行环境,当然配合server(tomcat之类的)这些就属于运行环境.
是不是感觉自己懵懵哒,没关系,因为下面可能你会更懵的,不这样你怎么会体验到什么是感觉自己萌萌哒呢。
那么接下来,就是你所期待已久的JVM了。
那么什么是JVM呢,你的第一反应是什么,我觉得你应该会说是java虚拟机吧,那么虚拟机又是什么呢?emememem...不知道?知道说不出来?
哎呀,It's really out of date.
JVM全称Java Virtual Machine(Java虚拟机)的缩写。那么是不是有人会问,你看你自己都说是Java虚拟机了,还说我说的不对,哼╭(╯^╰)╮,
别着急啊,你如果去面试的话,我相信没有一个面试官喜欢一个只知道JVM是Java虚拟机的人。所以...嘿嘿(*^▽^*),听我说嘛
通俗来说,JVM就相当于我在计算机上又虚构出来了一个计算机,也就是经常说的Java虚拟机,
它呢,挺厉害的一个东西,它是整个Java实现跨平台最核心的部分。
大家都知道一个Java文件,想要看到它的结果的话,那么就要先通过编译为.class文件,然后运行,那么这个运行就是运行在JVM上。
也就是说,class并不直接与机器的操作系统相对应,而是JVM就是负责把以".class"结尾的字节码文件解释成具体平台(Windows、linux..)上的机器指令
但代码的执行会用使用到java的核心类库中的各种类。
引入Java虚拟机后,Java语言在不同平台上运行时不需要重新编译,这就是Java能够“一次编译,多次运行”的原因。
其实简单来说,就是JDK包含了JRE,而JRE含JVM。
那么他们三个之间有什么...ememememem...区别吧?
jdk:开发中用
jre:运行时用
jvm:解决了跨平台,把class文件编译成别的平台认可的文件.
JDK是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。
JRE是运行Java程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。
那么说完三个的区别之后,联系又是什么呢?
那么Java喊出的带有标志性口号的“Write once,Run Anywhere”(一次编译,到处运行)正是建立在JRE的基础之上。
而JVM就是这样的一台机器,它模拟实际处理器的结构,解释字节。
JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统帮 我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。
要运行Applet,在客户端必须安装有 JRE,即“运行时”,
容易一点理解,就象所谓的“插件”,要开发JAVA应用程序\Web应用
,就必须在服务器端安装相应的 JVM+JDK 了(开发应用 Java web应用 时,客户端不需要安装任何的JVM)
如果你使用JAVA开发应用,就需要安装 JRE+JDK,就是 J2SE.
如果在客户端运行Applet,客户端浏览器必须嵌有JAVA JVM,
如果没有,就需要安装,即: 在客户端创建JRE(运行时,包含JVM),
而客户端是不需要做开发的,所以,JDK就没有必要安装 了。
不同版本的Applet在不同的JVM下可能无法正常运行,而Microsoft JVM只是Sun JVM的“低版本”,
微软在windows xp/2003中干脆将JVM去掉了.
最开始我要说的是,下面的一点子东西可能会有点长,没有耐心,没有恒心,没有意志力,还是慎读的好,
因为这个不关于像什么Because of love之类的东西,它考验的最主要的是你的意志力,以及抗犯困能力...
非大毅力者还是放弃的好。
那么首先就是第一个比较神奇的东西,叫做神奇的JDK。
那么问题来了,什么叫做JDK呢?
JDK全称叫做Java Develoopment Kit,是Java 的开发工具包,包括JRE加上
一个编译器(javac)和其他工具.
那么问题是不是又来了,说其他工具,其他工具是啥呢?
如果这样的话,我想你可能需要了解一手一个叫做基本组件的东西。
说了这么多,JDK的基本组件包括什么呢?
java想必都已经很熟悉了吧,那么javac想必也一定不陌生。这些在想当年那个
在用记事本编写Java程序的岁月中,用到的次数我感觉应该是不会少的。
那么除此之外还有一些,像jar,javadoc,jdb,appletiviewer,Javah,javap,
Jconsole的东西,如果感兴趣的话,可以去问一下度娘从而来了解一下。
正所谓学而不思则罔,思而不学则殆,让你们去查的话,印象又会很深刻了,
所以就不用那么麻烦了,给你们总结一下,了解一手好吗?有点印象就行,别太在意。
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
java – 运行编译后的java程序(.class后缀的)
appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole: Java进行系统调试和监控的工具.
好啦,JDK这个东西就到这,别纠结了,不懂没关系的。
那么接下来是个什么呢?ememememem....好吧,就JRE吧。
JRE,说到JRE问题就又来了,什么是JRE呢?
JRE全称叫做Java Runtime Environment,是Java的运行环境,它有点子厉害,包含了JVM标准实现及Java核心类库。
是不是想问一手什么是JVM啊,别着急啊,只是先提出来嘛,下面可能,大概,也许,应该会解释的吧,ememem......
谁知道呢。O(∩_∩)O哈哈~
好了,废话不多说,进入正题。
那么你要知道的是,JRE虽然说是Java的运行环境,但并不是一个开发环境,所以并没有包含任何开发工具(如编译器和调试器)
这样的话,你们是不是要问一手什么是运行环境,什么又是开发环境了呢?
不要瞎猜了,简单说一下,就是:
开发环境指的是你当前操作的环境,举个例子我用win7系统,eclipse写代码.这些就属于开发环境。
运行环境,指的就是java环境,学java的都知道,java运行依赖于JDK,JDK就java虚拟机,
java只有在java虚拟机中才能运行,而JDK就是运行环境,当然配合server(tomcat之类的)这些就属于运行环境.
是不是感觉自己懵懵哒,没关系,因为下面可能你会更懵的,不这样你怎么会体验到什么是感觉自己萌萌哒呢。
那么接下来,就是你所期待已久的JVM了。
那么什么是JVM呢,你的第一反应是什么,我觉得你应该会说是java虚拟机吧,那么虚拟机又是什么呢?emememem...不知道?知道说不出来?
哎呀,It's really out of date.
JVM全称Java Virtual Machine(Java虚拟机)的缩写。那么是不是有人会问,你看你自己都说是Java虚拟机了,还说我说的不对,哼╭(╯^╰)╮,
别着急啊,你如果去面试的话,我相信没有一个面试官喜欢一个只知道JVM是Java虚拟机的人。所以...嘿嘿(*^▽^*),听我说嘛
通俗来说,JVM就相当于我在计算机上又虚构出来了一个计算机,也就是经常说的Java虚拟机,
它呢,挺厉害的一个东西,它是整个Java实现跨平台最核心的部分。
大家都知道一个Java文件,想要看到它的结果的话,那么就要先通过编译为.class文件,然后运行,那么这个运行就是运行在JVM上。
也就是说,class并不直接与机器的操作系统相对应,而是JVM就是负责把以".class"结尾的字节码文件解释成具体平台(Windows、linux..)上的机器指令
但代码的执行会用使用到java的核心类库中的各种类。
引入Java虚拟机后,Java语言在不同平台上运行时不需要重新编译,这就是Java能够“一次编译,多次运行”的原因。
其实简单来说,就是JDK包含了JRE,而JRE含JVM。
那么他们三个之间有什么...ememememem...区别吧?
jdk:开发中用
jre:运行时用
jvm:解决了跨平台,把class文件编译成别的平台认可的文件.
JDK是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。
JRE是运行Java程序所必须的环境的集合,包含JVM标准实现及Java核心类库。
JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。
那么说完三个的区别之后,联系又是什么呢?
那么Java喊出的带有标志性口号的“Write once,Run Anywhere”(一次编译,到处运行)正是建立在JRE的基础之上。
而JVM就是这样的一台机器,它模拟实际处理器的结构,解释字节。
JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系统帮 我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。
要运行Applet,在客户端必须安装有 JRE,即“运行时”,
容易一点理解,就象所谓的“插件”,要开发JAVA应用程序\Web应用
,就必须在服务器端安装相应的 JVM+JDK 了(开发应用 Java web应用 时,客户端不需要安装任何的JVM)
如果你使用JAVA开发应用,就需要安装 JRE+JDK,就是 J2SE.
如果在客户端运行Applet,客户端浏览器必须嵌有JAVA JVM,
如果没有,就需要安装,即: 在客户端创建JRE(运行时,包含JVM),
而客户端是不需要做开发的,所以,JDK就没有必要安装 了。
不同版本的Applet在不同的JVM下可能无法正常运行,而Microsoft JVM只是Sun JVM的“低版本”,
微软在windows xp/2003中干脆将JVM去掉了.