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).全选安装工 ...
随机推荐
- devops工具-Ansible基础
一.Ansible介绍 简介 Ansible使用Python语言开发,是一个配置管理型工具,与之类似的工具还有Puppet.SaltStack.chef等,默认通过SSH协议进行远程命令执行或 ...
- 【原创】三招搞死你的IE11,可重现代码下载(IE Crash keyframes iframe)!
前言 很多人都知道我们在做FineUI控件库,而且我们也做了超过 9 年的时间,在和浏览器无数次的交往中,也发现了多个浏览器自身的BUG,并公开出来方便大家查阅: 分享IE7一个神奇的BUG(不是封闭 ...
- shell 读取配置文件的方法
原文地址:http://bbs.chinaunix.net/thread-3628456-1-1.html 总结地址:https://www.cnblogs.com/binbinjx/p/568021 ...
- 1168: mxh对lfx的询问(前缀和+素数表)
题目描述: AS WE ALL KNOW, lfx是咱们组的神仙,但是mxh想考一考lfx一个简单的问题,以此看一下lfx到底是不是神仙.但是lfx要准备补考,于是请你来帮忙回答问题: 给定一个整数N ...
- Python容器
列表 list 1.列表的格式为,把值放入[ ]中 >>> lis = ['a', 1, ['a', 'c', 1]] 2.列表中可以嵌套任何类型 索引 因为列表是有序的,那么我们可 ...
- Java基础之一反射
反射是框架设计的灵魂 (使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码)) 一.反射的概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够 ...
- 【kindle笔记】之 《活着》-2018-2-5
[kindle笔记]读书记录-总 2018-2-5 今天凌晨一口气看完了<活着>,没想到竟然是个赤裸裸的悲剧,心情不太好地睡去. 福贵,一个小人物,坎坷无比的一生. 当你以为真他妈惨,真是 ...
- alibaba druid
FAQ · alibaba/druid Wikihttps://github.com/alibaba/druid/wiki/FAQ sql 连接数不释放 ,Druid异常:wait millis 40 ...
- SSH上传/下载本地文件到linux服务器
在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件 scp username@servername:/path/filename /var/www/local_dir(本 ...
- connect、resource和dba三种标准角色
授权语句:grant connect,resource,dba to zwserver 经过授权以后,用户拥有connect.resource和dba三个角色的权限: (1)Connect 角色,是授 ...