第一次安装jdk 按照操作走完  会出现 C:\Program Files\Java\jdk1.8.0_91 和 C:\Program Files\Java\jre1.8.0_91 两个目录 (平级目录)  这里jre和jdk中的jre目录一模一样,为什么会出现这种呢?

简单说下:jdk是面向java开发者的 是java开发的sdk,jdk目录下的bin目录最主要的是javac 编译来使用,lib中有dt.jar,tools.jar主要是编译过程中运行环境使用,jdk下的jre目录,主要作用是运行编译好的class文件来使用的,其中,jre下的lib中的rt.jar是所有基础类库,就是java文件中import后面的class基础类,bin目录下主要的是java,也就是JVM,java虚拟机用来运行class来使用,运行class的时候就会调用引用的基础类库.

C:\Program Files\Java\jre1.8.0_91是面向用户的,主要作用和jdk中jre作用一样。在eclipse中只需要选择jre  就可以运行java程序,因为eclispe有自己的java编译器,和classpath的配置。

编译好的class文件是字节码文件,字节码文件是二进制的类库文件,经过JVM的解释运行,成为机器码文件和OS交互运行。

在eclispe中开发,不需要配置path  classpath ,只需要制定jre,整个编译 由eclipse自己的编译器来实现(JAVA文件称class文件).

不考虑eclispe的java开发如下:

配置path  :  ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;  目的是可以在任意地方使用javac  java  比较简单,不然要输入整个javac java指令路径.

配置classpath:  ;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 指定classpath类加载路径为 jdk下面的lib路径,tools.jar是编译时候来使用的.

注意:JVM的默认class load路径是jre下面的rt.jar (默认就可以加载所有的基础类库,不需要设置).

windows 编译 java文件:

1》该java文件没有引用其他外部类的时候:  javac  xxx.java  默认是在当前目录查找 java文件,当前目录没有则报错,也可以采用全路径来指定java文件。编译的时候会自动使用classpath下的tools.jar 以及jre/lib/rt.jar来 编译java文件。注意:java文件在classpath下 ,当前目录不在classpath,也会报错.

2>java文件引用其他外部类:      也会在当前目录查找java文件,没有则报错,也可以采用全路径来指定java文件。首先会编译外部类,注意:

2.1》如果外部java文件或者该文件对应的class文件存在于classpath中,则成功编译。

2.2》如果外部java文件不在classpath或者java文件的同级目录下。使用  javac -classpath 外部java文件或者class的目录 xxx.java来编译。

运行class文件: 先查找当前目录 在查找classpath。 java xxx  其中xxx.class在当前目录或者classpath中都成功,如果引用类存在 保证引用class存在于classpath中成功,或者使用 java -classpath .;外部类目录 xxx即可。

linux下 如果不配置classpath  jdk8默认的是 classpath是 .   也就是当前目录

引入第三方jar包

javac -classpath /data/cn.nubia.framework.jar WeatherTest.java

java -classpath .:/data/cn.nubia.framework.jar WeatherTest

基础知识总结之 jdk部分的更多相关文章

  1. 计算机基础知识以及java JDK、JRE

    计算机 计算机(Computer)全称:电子计算机,是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件所组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔 ...

  2. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  3. Java基础知识【下】( 转载)

    http://blog.csdn.net/silentbalanceyh/article/details/4608360 (最终还是决定重新写一份Java基础相关的内容,原来因为在写这一个章节的时候没 ...

  4. java基础知识小总结【转】

    java基础知识小总结 在一个独立的原始程序里,只能有一个 public 类,却可以有许多 non-public 类.此外,若是在一个 Java 程序中没有一个类是 public,那么该 Java 程 ...

  5. maven基础知识

    1.maven基础知识 1.1maven坐标 maven坐标通常用冒号作为分割符来书写,像这样的格式:groupId:artifactId:packaging:version.项目包含了junit3. ...

  6. Java学习-033-JavaWeb_002 -- 网页标记语言JSP基础知识

    JSP 是 Sun 公司提倡的一门网页技术标准.在 HTML 文件中,加入 Java 代码就构成了 JSP 网页,当 Web 服务器访问 JSP 请求的时候,首先执行其中的 Java 程序源码,然后以 ...

  7. Ant学习-001-ant 基础知识及windows环境配置

    一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...

  8. Java之--Java基础知识

    一.软件基础知识 1.软件:一系列按特定顺序组织的计算机数据和指令的集合. 1)系统软件:DOS.windows.linux. 2)应用软件:QQ.扫雷等. 2.软件开发就是制作软件. 3.人与计算机 ...

  9. Java中实现异常处理的基础知识

    Java中实现异常处理的基础知识 异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象. 例如:数组越界和被0除. ...

随机推荐

  1. 88、android 插件开发教程(转载)

    http://blog.csdn.net/qq435757399/article/details/46521085 http://blog.csdn.net/t12x3456/article/deta ...

  2. 【POJ1275】Cashier Employment 差分约束

    [POJ1275]Cashier Employment 题意: 超市经历已经提供一天里每一小时需要出纳员的最少数量————R(0),R(1),...,R(23).R(0)表示从午夜到凌晨1:00所需要 ...

  3. 使用jquery修改标题$("title").html("标题")应注意的问题

    使用jquery修改标题$("title").html("标题")应注意的问题: 如果修改后的标题和原标题一致,jquery会跳过该操作,这种情况再从其他页面回 ...

  4. 文艺青年、普通青年、2b青年到底是什么意思?

    文艺青年.普通青年.2b青年到底是什么意思? 文艺青年就是脑子里跟别人想的不一样,思维跟人家相反或者另类的人. 普通青年呢就是像你一样,普普通通的. 2B青年就是黑铅笔青年,做事比较搞怪,古怪到让你哭 ...

  5. Groovy操作符

    Groovy操作符 这一篇简单介绍一下Groovy中的操作符. 算数操作符 groovy支持java中的所有操作符,下面只列举一些groovy特有的: ** power运算符,也叫次方. assert ...

  6. document.selection window.getSelection()

    IE9以下支持:document.selection  IE9.Firefox.Safari.Chrome和Opera支持:window.getSelection() 屏幕取词 function ge ...

  7. 剑指Offer——合并两个排序的链表

    题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则. 分析: 苦力活,使用两个指针分别指向未被合并的两个链表的首部,比较两个首部数值的大小,合并数值 ...

  8. JavaScript json和字符串互转

    JavaScript内置json和字符串互转的函数JSON,不需要引入外部组件 JSON.stringify(obj)将JSON转为字符串. JSON.parse(string)将字符串转为JSON格 ...

  9. Buns---cf 106C(多重背包)

    题目链接:http://codeforces.com/problemset/problem/106/C 题意:有n克面粉,m种馅料,然后每种馅料有ai克,bi克馅料和ci克面粉做的面包可以买di元,也 ...

  10. mac配置python自然语言处理环境

    一.nltk安装 Ⅰ.工具安装步骤 1.根据python版本从 https://pypi.python.org/pypi/setuptools 下载对应版本的setuptools.然后,在终端下运行, ...