为什么一定要安装jdk

如题所述

JDK是java软件开发包的简称,要想开发java程序就必须安装JDK。没有JDK的话,无法编译Java程序。
JDK包含的基本组件包括:
javac – 编译器,将源程序转成字节码
jar – 打包工具,将相关的类文件打包成一个文件
javadoc – 文档生成器,从源码注释中提取文档
jdb – debugger,查错工具
java – 运行编译后的java程序(.class后缀的)
appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。
Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jconsole: Java进行系统调试和监控的工具
JRE - java程序运行环境
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-07-25
首先要理解什么是path(环境变量)?

path(环境变量)是dos以前的内部命令,windows继续沿用至今。用作运行某个命令的时候,本地查找不到某个命令或文件,会到这个声明的目录中去查找。

然后什么是jdk,jre?
jdk(java development kit),Java开发工具
jre(java runtime environment),Java运行环境

因为java必须经过编译才能运行,编译就要通过常用命令比如:编译javac等
而这些常用的编译命令就存放在jdk的bin目录

而window运行java编译命令的时候,本地查找不到某个命令或文件,会到path中去查找
所以不可能在每个java文件所在目录放置jdk,故把jdk放置path环境变量中,这样每个java文件都可以通过path中设定的jdk目录找到编译命令进行编译
一般设定java的时候为了在任何目录下都可以运行bin文件夹下的命令。就将java的bin目录声明到path中。

编译后的class类就要通过jre运行环境进行运行实现

这只是在文本编辑java时候需要这些,设置环境变量等

如果用开发工具Myeclipse就不需要设置,myeclipse自带jdk,就不需要环境变量
而eclipse启动时候会要求path,方法可以设置path,也可以不设置,不设置方法是:

在eclipse.exe目录里面有一个eclipse.ini文件进行配置
比如

-vm
C:\Java\jre1.6.0\bin\javaw.exe
我的是
-vm
C:\Program Files (x86)\Java\jdk1.6.0_21\bin\javaw.exe
进行设置虚拟机

可以把jdk放在你的eclipse文件夹中,配置它的目录,就不需要依靠本地jdk运行
然后就可以启动了

有点跑题哈

运行中发生什么

比如:
在D:\test目录下有HelloWorld.java(第一个程序输出HelloWorld)
D:\test>:javac HelloWorld.java //javac编译HelloWorld.java文件
首先window找HelloWorld.java文件所在目录中是否有javac命令,有就进行编译,没有找path,按照系统中定义的path目录寻找javac命令,找到进行编译,找不到就报不是外部内部命令错误
D:\test>java HelloWorld //编译通过java HelloWorld运行编译后的文件
首先window找HelloWorld.class文件所在目录中是否有java命令,有就进行运行,没有找path,按照系统中定义的path目录寻找java命令,找到进行运行,找不到就报不是外部内部命令错误
HelloWorld //输出结果
D:\test
这是我手动编辑的,如果理想就是这样子的

再有不清楚的,可以hi我
第2个回答  2011-07-17
你这个问题跟这个问题差不多:“为什么我的电脑要安装操作系统?”
我们现在电脑上所用的包括操作系统所呈现的全部靠的是操作系统内部有个完整的运行环境。

而要运行java开发的相关东西就需要jvm
而如果要开发跟java相关的东西就需要jdk
你写代码写的是英文字母,你以为一台冰冷的计算机能读懂英文?
需要有人去翻译,翻译成010101110100 。。。。也就是二进制。
第3个回答  2011-07-17
JDK 是写代码 如果你是学JAVA或着是程序员 就需要他来编译 测试
如果你是用户 你只用下载JRE 他可以运行编译出来的程序
JDK里面包含了JRE
如果你不是程序员 对java不感兴趣 可以无视JDK
第4个回答  推荐于2017-11-24
...哥哥 您是要写代码么...
我戳- - 只有安装勒JDK 你的机子才能识别JAVA代码啊哥哥...
这就是JAVA能全平台的利器 基于底层开发的一个2B东西...
哥哥记得老师上课时这么讲的....本回答被网友采纳
相似回答