一,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. Java NIO:IO与NIO的区别

    一.概念 NIO即New IO,这个库是在JDK1.4中才引入的.NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多.在Java API中提供了两套N ...

  2. java 在实例化异常的时候做的事情

    new Exception 这段代码,会调用父类ThrowAble的构建方法,在构造方法中会调用fillInstackTrace这个native方法. 会把当前线程异常发生的信息,上下文记录在栈调用指 ...

  3. MVC5+EF6 --自定义控制Action访问权限

    本章主要讲解在MVC中灵活控制Action的访问权限: 本章所使用的示例表也是上一张所使用的TbUser.TbRole.TbUserRole: 最终的效果是针对任意一个Action或Controlle ...

  4. babel-preset-env使用指南

    文章概览 babel-preset-env是非常重要且常用的一个插件预设,掌握它的用法以及实现原理非常有必要. 本文主要内容包括:babel-preset-env是什么.入门实例.如何配置以支持特定版 ...

  5. SQL Server 使用 Merge 关键字进行表数据同步

    简介 Merge关键字是一个神奇的DML关键字.它在SQL Server 2008被引入,它能将Insert,Update,Delete简单的并为一句.MSDN对于Merge的解释非常的短小精悍:”根 ...

  6. 华为交换机-SNMP配置

    1.1     SNMP基础配置 <switch>system-view 进入交换机的配置模式 [switch]snmp-agent 使能snmp服务 [switch]snmp-agent ...

  7. Python—包介绍

    包(Package) 当你的模块文件越来越多,就需要对模块文件进行划分,比如把负责跟数据库交互的都放一个文件夹,把与页面交互相关的放一个文件夹, . └── my_proj ├── crm #代码目录 ...

  8. 了解sso原理

  9. charles如何设置弱网

  10. 什么是IaaS, PaaS和SaaS及其区别

    IaaS, PaaS和SaaS是云计算的三种服务模式. . SaaS:Software-as-a-Service(软件即服务)提供给客户的服务是运营商运行在云计算基础设施上的应用程序,用户可以在各种设 ...