JDK的安装及相关

这里写图片描述

安装JDK时如上图界面,

  • 开发工具
  • 源代码
  • 公共JRE

    1. Development Tools:JDK的核心,包括编译java程序所必须的命令工具,实际上已经包含了运行java程序的JRE
    2. Source Code:将会安装java所有核心类库的源代码
    3. 不安装公共JRE:是一个独立的JRE系统,会向IE浏览器和系统中注册java运行时环境,通过这种方式系统中任何程序都可以使用公共JRE。由于现在在网页上执行Applet的机会越来越少,而且完全可以选择使用JDK目录下的JRE来运行java程序,因此没有太大必要安装公共JRE。

    这里还是全部安装,安装后的文件夹展示:
    这里写图片描述

在这2个文件夹
- jdk1.7.0_80
文件夹包含的JRE 是专用JRE
文件夹解释说明:
- bin:存放各种工具命令,常用的java ,javac等
- db:安装javaDB的路径
- include:一些平台特定的头文件
- jre:运行java所需要的JRE环境
- lib:JDK工具命令的实际执行程序
- javafx-src.zip:Java FX所有核心类库的源代码
- src.zip:java所有核心类库的源代码
- LICENSE,README.html等说明性文档
2. jre7
公共jre

注:专用 JRE与公共JRE 2个文件中的内容是不一样的。

安装时遇到的问题

  1. 找不到或无法加载主类 com.sun.tools.javac.Main
    解决办法:当出现这个错误时,百度之,结果很多人都是说的环境变量设置错误,但是检查了下环境变 量,没有什么问题。
    这时,看到错误信息中有javac,猜想大概是找不到javac这个文件吧,于是到jdk\bin目录下,发现没有javac.exe文件,上网百度
    才知道安装jdk过程中,还会弹出一个jre的安装,这个和jdk不能安装在同一目录下,否则会冲突,删掉javac.exe文件。我之前把jdk
    安装在D:\Java下,jre也在D:\JAVA下,于是卸载,重新安装,,把jdk装在D:\JAVA\JDK,jre则安装在D:\JAVA\JRE下,再用javac编译
    测试程序,没有错误,安装成功。
  2. load………..(待续完善)

环境变量的配置

1.JAVA_HOME: D:\Program Files\Java\jdk1.7 注:JDK目录(bin的上一层目录)
2.PATH: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
3.CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)

path与classpath的区别:

path的作用:path是系统用来指定可执行文件的完整路径,即使不在path中设置JDK的路径也可执行Java文件,但必须把完整的路径写出来,如C:\Program Files\Java\jdk1.6.0_10\bin\javac TheClass.java。path是用来搜索所执行的可执行文件路径的,如果执行的可执行文件不在当前目录下,那就会依次搜索path中设置的路径;而java的各种操作命令是在其安装路径中的bin目录下,所以在path中设置了JDK的安装目录后就不用再把java文件的完整路径写出来了,它会自动去path中设置的路径中去找;

CLASSPATH的作用: classpath是指定在程序中所使用的类(.class)文件所在的位置,就如在引入一个类时:import javax.swing.JTable这句话是告诉编译器要引入javax.swing这个包下的JTable类,而classpath就是告诉编译器该到哪里去找到这个类(前提是你在classpath中设置了这个类的路径);如果想要编译在当前目录下找,就加上“.”,如:.;C:\Program Files\Java\jdk,这样编译器就会到当前目录和C:\Program Files\Java\jdk\去找javax.swing.JTable这个类;还提下:大多数人都是用Eclipse写程序,不设classpath也没关系,因为Eclipse有相关的配置;

jdk jre 与jvm

JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了属于自己的JDK,例如国外IBM公司开发了属于自己的JDK,国内淘宝也开发了属于自己的JDK,各个组织开发自己的JDK都是为了在某些方面得到一些提高,以适应自己的需求,比如IBM的JDK据说运行效率就比SUN的JDK高的多。但不管怎么说,我们还是需要先把基础的Sun JDK掌握好。

JDK有以下三种版本:

J2SE,standard edition,标准版,是我们通常用的一个版本J2EE,enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序J2ME,micro edtion,主要用于移动设备、嵌入式设备上的java应用程序

我们常常用JDK来代指Java API,Java API是Java的应用程序接口,其实就是前辈们写好的一些java Class,包括一些重要的语言结构以及基本图形,网络和文件I/O等等 ,我们在自己的程序中,调用前辈们写好的这些Class,来作为我们自己开发的一个基础。当然,现在已经有越来越多的性能更好或者功能更强大的第三方类库供我们使用。

JRE:Java Runtime Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。

JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU 的指令集或 OS 的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM 对上层的 Java 源文件是不关心的,它关注的只是由源文件生成的类文件( class file )。类文件的组成包括 JVM 指令集,符号表以及一些补助信息。

下图很好的表面了JDK,JRE,JVM三者间的关系:
这里写图片描述

我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值