一,Java 开发的第一步,就是安装JDK(Java Development ToolKit  Java开发工具包)

  JDK 是Java开发的核心,因为它包括Java 运行环境,工具包和命令。当我们安装完JDK以后,打发它所在的路径,如:C:\Program Files\Java\jdk1.8.0_31, 我们可以看到jre 文件夹,这就是Java运行环境(Java Runtime Envirnment);  还有bin 文件夹,打开看到所有的.exe 文件,这就是java 的所有命令,不过这里命令是要在命令行内使用,不是双击运行; 还有lib 文件夹,里面有.jar文件,就是经常听到的java 包(java 提供的API)。

  JRE, Java 运行环境,就是所有的java 程序必须在JRE 下才能运行,如果没有安装JRE, java 程序是运行不起来的。它主要包括 JVM , JAVA核心类库和支持文件.

  JVM(Java Virtual Mechinal)Java 虚拟机, 顾名思议,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机上的功能来实现的,JVM 有自己完善的硬件架构,如处理器、堆栈、寄存器等,还有相应的指令系统。它的主要功能就是解释自己的指令集(就是java 字节码文件 )并映射到木地cpu 指令集或OS(操作系统)的系统调用。所以Java 虚拟机的存在使得java 语言能够跨平台。

  我们开发Java程序,实际上就是, 利用 JDK 提供的Java API, 编写java 源代码,再通过JDK 提供的命令(bin 文件夹下的javac 命令)把我们的文件编译成java 字节码文件, 再调用java 命令(同样是bin文件夹下),开启java 运行环境jre运行这些字节码文件,jre中的JVM 解析这些字节码,映射到CPU指令集或OS的系统调用。

  简单一点就是,编写java源文件(源文件以 .java结尾)=》 编译器 编译成字节码文件(字节码文件以 .class 文件结尾)=》解释器对字节码文件进行解释执行。

二, 配置环境变量

  在上面提到,我们要用到bin文件夹下的javac, java 命令,我们进入这个bin文件夹执行命令肯定没有问题,但是,我们的java 源代码,不会写在这个文件夹下,我们可以写到任意文件夹下,那怎么才能在任意文件下使用这两个命令? 先简单举一个其他的例子,在window 下,win + r 打开cmd, 我们输入一个命令,如nodepad, 按回车键,可以看到我们打开了记事本。但记事本命令并没有在任意的文件夹中,它是怎么做到的? 原来在window 下,执行一个命令,它先到当前文件夹下查找该命令,如果有这个命令,它就会执行,如果没有,它会继续寻找,不过是在系统配置好的环境变量中寻找,也就是说,我们要执行的javac,java命令也要配置到环境变量中,才能在任意文件夹中使用。

  在win10下,打开一个任意文件夹,在左边有一个“此电脑”,

  在其上面右击,选择“属性”, 在弹出的对话框中左侧有 “高级系统设置”,

  点击,出现的对话框中 , 最下面有一个“环境变量”,

  再点击出现下面对话框,底部是“系统变量”选择框,

  选中里面的Path单击,弹出一个对话框,编辑环境变量,

  点击右侧的新建按钮,它会在左侧的白色区域底部出现一个蓝色背景的输入框,我们把javac, java命令所在的文件夹路径复制到这个输入框中。如 C:\Program Files\Java\jdk1.8.0_31\bin, 路径最好复制,以免出现错误。复制成功后,点击任意一个空白区域,光标停止闪烁,我们就把java 常用的命令放到系统环境变量中。最好是把java命令放到最顶部,如上图所示,这也很简单,在左侧白色区域选中C:\Program Files\Java\jdk1.8.0_31\bin, 然后按右侧的上移按钮就可以了。这时配置环境变量完成。这时我们重新打开一个cmd命令窗口,输入javac 可以看到以下内容,表示配置成功。

  配置临时环境变量: 主要是有可能在别人的电脑上进行开发。

  这里主要用到命令行中的set命令,显示,设置或删除环境变量。win + r 打开cmd命令窗口,输入set 可以看到计算机中所有环境变量。

 可以看到里面有path变量,有我们配置的java 环境变量。如果只想看path 变量,我们可以在命令行中输入set path,

 只有环境变量path,    那怎么设置环境变量呢? 设置环境变量,就是给path变量赋一个值,如 set path=f:/sam,  等号左右两边不能有空格,

  但这里有一个问题,path变量只有我们自己的变量,原来系统定义的变量没有了,如果我们想使用系统中的变量怎么办? 可以把path变量做如下配置  set path=f:\sam;%path%

  这时我们就可以配置java环境变量了,只要把java所在的bin目录赋值给path 就可以了。如set path=H:\Java\jdk1.8.0_31\bin;%path%  这时在这个窗口中我们就可以使用javac,java命令了。当我们把这个窗口关闭时,我们配置的环境变量就失效了,所以这叫做临时环境变量。

  CLASSPATH配置

  classpath就是存放.class等编译后文件的路径, 因为我们的.class文件可以放在任意位置,而我们想在当前文件下,执行非当前文件夹中.class 文件,所以就要告诉操作系统到会什么地方去找,这就要配置classpath了,它和配置path 环境变量是一样的道理。

  在环境变量弹出框中最下部有一个新建按钮,

  点击它,会弹出一个框,然后在变量名中输入CLASSPATH, 变量值中输入 .; 存放.class文件的路径。

  一定不要忘记前面的  . 号,它代表当前路径,表示java命令先从当前路径寻找要执行的.class 文件。路径和路径之间一定要用 ; 隔开。

Java 学习(1) ---JDK安装和配置环境变量的更多相关文章

  1. jdk 安装过程配置环境变量 error 的解决过程

    jdk 安装过程配置环境变量 error 的解决过程 问题背景: 我在安装 jdk 过程中在JAVA_HOME和path中添加路径后, cmd 中输入java 和javac均出现错误,因为之前在 D ...

  2. JDK 安装及配置环境变量(基于 Linux)

    1.先确定虚拟机系统是 32 位还是 64 位 #Linux 指令下输入 getconf LONG_BIT 2.建目录 JDK mkdir JDK 3.通过 rz 导入压缩包 jdk-8u144-li ...

  3. JDK安装与配置环境变量

    1.JDK的安装 (1).为什么安装jdk? JDK是java软件开发包的简称,要想开发java程序就必须安装JDK.没有JDK的话,无法编译Java程序. (2).开始安装jdk 1.官网下载jdk ...

  4. JDK安装以及配置环境变量的步骤

    ---恢复内容开始--- 一.JDK安装 JDK下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads ...

  5. win10下JDK安装,配置环境变量后报Error: could not open `C:\Program Files\Java\jre1.8.0_112\lib\amd64\jvm.cfg'

    把Path里面的%JAVA_HOME%/bin放在最前面.

  6. java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)

    最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...

  7. Java基础学习总结一(Java语言发展历史、JDK下载安装以及配置环境变量)

    最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...

  8. Linux下安装tar.gz类型的jdk,并配置环境变量

    近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...

  9. JDK安装与基础环境变量配置 入门详解 - 精简归纳

    JDK安装与基础环境变量配置 JERRY_Z. ~ 2020 / 9 / 17 转载请注明出处!️ 目录 JDK安装与基础环境变量配置 一.下载 二.安装 (1).双击.exe文件 (2).全选安装工 ...

随机推荐

  1. Jmeter+ant+jenkins集成

    已有jmeter.*.jmx脚本 一.jmeter+ant 1.下载安装ant(检查是否安装成功) 2.将 JMeter 所在目录下 extras 子目录里的 ant-JMeter-1.1.1.jar ...

  2. UIImageView - BNR

    继续上节UINavigationController - BNR. 打开BNRDetailViewController.xib文件,向view中添加UIImageView对象,选中该对象,通过Attr ...

  3. 从一个例子入门Mysql储存过程

    例子 -- 秒杀执行存储过程 DELIMITER $$ -- 将分隔符; 转换为 $$ -- 定义存储过程 -- 参数: in 输入参数; out 输出参数 -- row_count():返回上一条修 ...

  4. 从.Net框架Bug的提交到修复代码成功合并到.NET CoreFX主线

    从发现.NET Framework中SmtpClient的Bug并拿出解决方案,然后给微软开发者社区提交Bug开始,总共耗时一个多月,对Bug修复的代码最终被采纳,现已合并到.NET Core Lib ...

  5. 《Spring Boot 入门及前后端分离项目实践》系列介绍

    课程计划 课程地址点这里 本课程是一个 Spring Boot 技术栈的实战类课程,课程共分为 3 个部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 项目实践开发 ...

  6. 内置函数二: map sorted filter

    -----------生活里没有奇迹,大部分的时候奇迹是你自己创造的. # -------------------------------------------------------------- ...

  7. 如何让.net程序支持TLS1.2

    1.将.Net FrameWork设置成4.6以上版本 2.在需要的类中引入命名空间 using System.Net; 3.在程序调用接口(如支付)的地方,加一段代码即可 System.Net.Se ...

  8. 七、Json格式的对象都可以通过遍历来获得里面的value值

  9. Python_每日习题-0008-九九乘法表

    题目: 输出9*9乘法口诀表. 程序分析:分行与分列的考虑,共9行9列,i控制行,j控制列. for i in range(1, 10): for j in range(1, i+1): print( ...

  10. B. School Marks(典型贪心)

    链接 [https://codeforces.com/contest/540/problem/B] 题意 某个人有n门成绩,k门已知,剩下的他可以个瞎改,但有个要求,最后分数和不超过x,且每门成绩不超 ...