Java 学习(1) ---JDK安装和配置环境变量
一,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安装和配置环境变量的更多相关文章
- jdk 安装过程配置环境变量 error 的解决过程
jdk 安装过程配置环境变量 error 的解决过程 问题背景: 我在安装 jdk 过程中在JAVA_HOME和path中添加路径后, cmd 中输入java 和javac均出现错误,因为之前在 D ...
- JDK 安装及配置环境变量(基于 Linux)
1.先确定虚拟机系统是 32 位还是 64 位 #Linux 指令下输入 getconf LONG_BIT 2.建目录 JDK mkdir JDK 3.通过 rz 导入压缩包 jdk-8u144-li ...
- JDK安装与配置环境变量
1.JDK的安装 (1).为什么安装jdk? JDK是java软件开发包的简称,要想开发java程序就必须安装JDK.没有JDK的话,无法编译Java程序. (2).开始安装jdk 1.官网下载jdk ...
- JDK安装以及配置环境变量的步骤
---恢复内容开始--- 一.JDK安装 JDK下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads ...
- win10下JDK安装,配置环境变量后报Error: could not open `C:\Program Files\Java\jre1.8.0_112\lib\amd64\jvm.cfg'
把Path里面的%JAVA_HOME%/bin放在最前面.
- java基础学习总结一(java语言发展历史、jdk的下载安装以及配置环境变量)
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...
- Java基础学习总结一(Java语言发展历史、JDK下载安装以及配置环境变量)
最近一段时间计划复习一下java基础知识,使用的视频课程是尚学堂高淇老师的,上课过程中的心得体会直接总结一下,方便以后复习. 一:计算机语言的发展 1:机器语言,最原始的语言,主要有“01”构成,最早 ...
- Linux下安装tar.gz类型的jdk,并配置环境变量
近期因要学习一门技术,必须在Linux下运行,故开始学习如何使用Linux. 在安装jdk时出现了困难,环境变量配置不成功,花了一天时间才搞定,特分享出来,供大家参考. Linux下安装jdk,步骤如 ...
- JDK安装与基础环境变量配置 入门详解 - 精简归纳
JDK安装与基础环境变量配置 JERRY_Z. ~ 2020 / 9 / 17 转载请注明出处!️ 目录 JDK安装与基础环境变量配置 一.下载 二.安装 (1).双击.exe文件 (2).全选安装工 ...
随机推荐
- 利用Oracle分析函数row_number和sys_connect_by_path实现多行数据合并为一行
emo场景,以oracle自带库中的表emp为例: select ename,deptno from emp order by deptno; ENAME DEPTNO CLARK 10 KING 1 ...
- JVM深度解析
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的.Java语言的 ...
- SpringBoot开发案例之整合Dubbo分布式服务
前言 在 SpringBoot 很火热的时候,阿里巴巴的分布式框架 Dubbo 不知是处于什么考虑,在停更N年之后终于进行维护了.在之前的微服务中,使用的是当当维护的版本 Dubbox,整合方式也是使 ...
- MySQL常用SQL语句/函数/存储过程
一句话总结 SELECT count(*) FROM user WHERE id>0 GROUP BY name HAVING count(*)>1 ORDER BY count(*)DE ...
- 面试 16:栈的压入压出队列(剑指 Offer 第 22 题)
我们今天继续来看看周五留下的习题: 面试题:输入两个整数序列,第一个序列表示栈的压入顺序,请判断二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如:压入序列为{1,2,3,4,5},那{ ...
- A4纸尺寸 web打印报告
A4纸对应的像素尺寸: <style> @media print { .Noprn{ display:none;} .print-hidden { display: none !impor ...
- C++诡异异常处理
虽然现在C++头文件允许只编译一次,但仍然可能因为头文件引用引起问题,当出现:“构造函数初始值设定项列表只能在构造函数定义中使用”,可能的原因是头文件互相引用导致的. 出现“error LNK1120 ...
- MySQL 主从同步遇到的问题及解决方案
在做某个项目的时候,使用主从数据库,master负责update.delete.insert操作,而slave负责select操作. 情景1:发表文章与查看文章 可以认为这个项目是一个博客系统,这里就 ...
- 自签名证书 nginx tomcat
给Nginx配置一个自签名的SSL证书 - 廖雪峰的官方网站 https://www.liaoxuefeng.com/article/0014189023237367e8d42829de24b6eaf ...
- Mysql drop function xxxx ERROR 1305 (42000): FUNCTION (UDF) xxxx does not exist
mysql> drop function GetEmployeeInformationByID;ERROR 1305 (42000): FUNCTION (UDF) GetEmployeeInf ...