Java入门到实践系列(2)——Java环境搭建
一、上集回顾
在《Java入门到实践系列(1)——Java简介》中提到过,Java程序是运行在Java虚拟机的,也展示过下面这张图。

JDK:Java程序开发工具包。
JRE:Java运行时环境。
JVM:Java虚拟机。
从这张图可以看出,JDK包含JRE,JRE包含JVM。而我们作为Java开发人员,肯定是要安装JDK的啦。
二、JDK的安装
JDK1.8官网下载地址:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
以下截图是Windows10为例的安装步骤
1、下载jdk安装包

害,很久没有从下载了,这次特地删了重新安装。原来的官网下载地址也不好使了,现在下载还要注册登录Oracle账号,有丶麻烦!
2、安装
双击打开安装包
我下载的文件名是jdk-8u261-windows-x64.exe,这里的8是大版本,就是我们俗称的jdk1.8。u是Update的首字母,261呢是小版本,也就是jdk1.8的261次更新。
上篇文章中也提到,我们在企业中用到的还是jdk1.8为主,所以我们只需要下载1.8版本的,至于后面的小版本,不是很重要,因为每次的重大语法更新之类的,都是在大版本里更新的,小版本主要是修复bug的。
直接点击下一步

安装路径用默认的就行啦~

剩下的一路傻瓜式安装,就不截图了,安装路径默认就行啦!
三、环境变量的配置
直接上图

步骤:右键我的电脑-》属性-》高级系统设置-》环境变量-》'用户变量'底下的新建按钮
变量名:JAVA_HOME
变量值:JDK的安装路径,如果你在安装时修改了安装路径,按你实际的来
这里略微解释一下为什么我放在上面的用户变量而不是系统变量。
系统环境变量,对所有用户起作用,而用户环境变量只对当前用户起作用。
加在系统环境变量,可能要重启才会生效。而用户变量可以不用重启!我体验过!
添加完Java之家(JAVA_HOME)的环境变量之后,要在path的环境变量下添加"%JAVA_HOME%\bin",就是引用了我们刚刚定义的JAVA_HOME那个环境变量的值。

好像完事了呀!!!那。。怎么知道有没有安装成功呢?
四、验证是否安装成功
打开cmd命令行。这个都会吧???不会百度一下~
输入java -version

显示出了版本号就算安装成功啦~
为啥我要把HotSpot给框起来呢?这里就是区别你安装的是OpenJdk还是OracleJdk的标志。详细看下方科普!
科普
其实我在企业中的真实开发,有碰到过jdk小版本不兼容的问题,这里也跟大家分享一下。比如我同事使用的是jdk1.8.0_91,而我是jdk1.8.0_212。项目在他的电脑上可以正常运行,但是在我电脑上运行报错(可能这里你对这些还没有什么概念,后期会介绍编译异常和运行时异常)。
当时就觉得很奇怪,Java的版本更新应该是向前兼容的呀。。为什么91版本可以,212版本不行。后来一顿百度,发现是他是OpenJdk,而我是OracleJdk!
主要原因是我的OracleJdk不支持我那个项目的某些东西,导致我无法启动项目。但是大家不要惊慌,也不要去纠结是下载OracleJdk还是OpenJdk。
大兄弟,随便用就完事儿了嗷!
一般你碰不到这个问题,毕竟我那个是少数情况下发生的。
OpenJDK和OracleJDK有什么区别和联系?
科普贴:
https://blog.csdn.net/bisal/article/details/104832084/
讲的比较详细,包括了如何查看自己的版本是OpenJDK还是OracleJDK的方法。

Java入门到实践系列(2)——Java环境搭建的更多相关文章
- Java入门到实践系列(1)——Java简介
一.Java的发展历史 Java是由SUN公司的开发人员James Gosling及其领导的一个开发小组与1995年开发并推出的一门高级编程语言.经过二十几年的发展已经成为最受程序员欢迎.使用最为普遍 ...
- 【转】RHadoop实践系列之一:Hadoop环境搭建
RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...
- php从入门到放弃系列-01.php环境的搭建
php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...
- MyBatis学习系列一之环境搭建
目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入.MyBat ...
- Java入门之JDK的安装和环境变量的配置
Java的版本 1. Java SEjava se 以前称为J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.Java SE是基础包,但是也包含了支持 Jav ...
- 【java开发】ubuntu常用命令及环境搭建
学习第一天,今天内容相对简单,主要就是ubuntu一些常用命令及常规操作,后续涉及到环境的搭建,也会在本文再更. ubuntu环境搭建 第一种 也是最简单最方便的 通过vm虚拟机软件,下载iso镜像进 ...
- [Java] SSH框架笔记_框架分析+环境搭建+实例源码下载
首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...
- 基于Selenium2+Java的UI自动化(1) - 原理和环境搭建
一.Selenium2的原理 Selenium1是thoughtworks公司的一个产品经理,为了解决重复烦躁的验收工作,写的一个自动化测试工具,其原理是用JS注入的方 式来模拟人工的操作,但是由于J ...
- 【Java探索道路安全系列:Java可扩展的安全架构】一间:Java可扩展的安全体系结构开始
笔者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell [ ...
随机推荐
- BFC 生成 特性 解决的问题
BFC( 块级格式化上下文 ) 块级格式化上下文,它是指一个独立的块级渲染区域, 只有 Blocklevel BOX 参与,该区域拥有一套 渲染规则来约束块级盒子的布局,且与区域外部无关. 如何生成 ...
- Vue你不得不知道的异步更新机制和nextTick原理
前言 异步更新是 Vue 核心实现之一,在整体流程中充当着 watcher 更新的调度者这一角色.大部分 watcher 更新都会经过它的处理,在适当时机让更新有序的执行.而 nextTick 作为异 ...
- 初识:LevelDB
初识:LevelDB 上篇文章缘起:BigTable可以说是已经把论文Bigtable: A Distributed Storage System for Structured Data中的内容掰扯的 ...
- Vue开发者必会的基础知识盘点
你会Vue吗,你看以下知识点你掌握了多少?实际工作中是否运用的得心应手?如果是,那么恭喜你! Vue中的数据和DOM已经被关联起来,所有的东西都是响应式的.注意我们不再和HTML直接交互.一个Vue应 ...
- javascript : 递归遍历数组
我们假设有一个对象数组. 这个对象数组里的对象,有一个叫children的key,value也是一个对象数组. 这个数组里面可能还有children... 现在我们想递归遍历它. 上代码. test_ ...
- 微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
(一) 准备工作 (1) 登录注册 注册账号:这就不谈了,只需要注意使用一个全新的邮箱,别之前注册过公众号小程序等就可以了 https://mp.weixin.qq.com/wxopen/waregi ...
- 动态DP,ddp
动态DP?动态动态规划? 个人理解:动态DP,就是普通DP加修改操作,然后就变成了个毒瘤题. 直接就着例题写吧. 例题 P4719 [模板]"动态 DP"&动态树分治 求树 ...
- flask下直接展示mysql数据库 字段
在工作中,会导出一份mysql的html来查看,用的是就是路过秋天大神的那个工具,所以想自己用那个样式直接在后端写一个页面做展示! 前端页面 from flask import Flask,reque ...
- xctf-pwn level3
这道题研究了很久,总算是理解了got表和plt表的关系和作用 checksec看防护 main函数里提示了vunlnerable函数 查看一下vulnerable函数 可以利用read函数栈溢出,但是 ...
- raw目录的位置是D:\android_projects\qrscan\app\src\main\res\raw
D:\android_projects\qrscan\app\src\main\res\raw 这里可以放数据库文件和音频文件 文件名为sp.mp3 引用方法: MediaPlayer mp = Me ...