一、上集回顾

在《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环境搭建的更多相关文章

  1. Java入门到实践系列(1)——Java简介

    一.Java的发展历史 Java是由SUN公司的开发人员James Gosling及其领导的一个开发小组与1995年开发并推出的一门高级编程语言.经过二十几年的发展已经成为最受程序员欢迎.使用最为普遍 ...

  2. 【转】RHadoop实践系列之一:Hadoop环境搭建

    RHadoop实践系列之一:Hadoop环境搭建 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来 ...

  3. php从入门到放弃系列-01.php环境的搭建

    php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...

  4. MyBatis学习系列一之环境搭建

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 学习一个新的知识,首先做一个简单的例子使用一下,然后再逐步深入.MyBat ...

  5. Java入门之JDK的安装和环境变量的配置

    Java的版本 1. Java SEjava se 以前称为J2SE.它允许开发和部署在桌面.服务器.嵌入式环境和实时环境中使用的 Java 应用程序.Java SE是基础包,但是也包含了支持 Jav ...

  6. 【java开发】ubuntu常用命令及环境搭建

    学习第一天,今天内容相对简单,主要就是ubuntu一些常用命令及常规操作,后续涉及到环境的搭建,也会在本文再更. ubuntu环境搭建 第一种 也是最简单最方便的 通过vm虚拟机软件,下载iso镜像进 ...

  7. [Java] SSH框架笔记_框架分析+环境搭建+实例源码下载

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  8. 基于Selenium2+Java的UI自动化(1) - 原理和环境搭建

    一.Selenium2的原理 Selenium1是thoughtworks公司的一个产品经理,为了解决重复烦躁的验收工作,写的一个自动化测试工具,其原理是用JS注入的方 式来模拟人工的操作,但是由于J ...

  9. 【Java探索道路安全系列:Java可扩展的安全架构】一间:Java可扩展的安全体系结构开始

    笔者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell [ ...

随机推荐

  1. 深入浅出AQS源码解析

    最近一直在研究AQS的源码,希望可以更深刻的理解AQS的实现原理.虽然网上有很多关于AQS的源码分析,但是看完以后感觉还是一知半解.于是,我将自己的整个理解过程记录下来了,希望对大家有所帮助. 基本原 ...

  2. ffmpeg源码编译环境搭建

    ffmpeg是视频开发最常用到的开源软件,FFmpeg功能强大,用途广泛,提供几乎所有你能够想到的与视频开发相关的操作,许多商业软件都以ffmpeg为基础进行开发定制. FFmpeg: FFmpeg ...

  3. Python+selenium自动化测试之浏览器基础操作

    **​​前言** 本文主要讲解webdriber框架,Selenium 就像真实用户所做的一样,Selenium 测试可以在 Windows.Linux 和 Macintosh上的 Internet ...

  4. idea 自动生成try/catch代码块的快捷键

    好像每个人的快捷键可能不同:我的是  Alt+Shift+Z 网上查的是  Ctrl+Alt+T 如果都不是可以点选工具栏生成try/catch(并可查看到自己的快捷键是什么):Code->Su ...

  5. vs coed的使用(二) 如何运行cpp文件(不用插件比如code runner)

    一.前提 1.配置好编译运行的环境,比如系统变量.vs code的settings.json 2.检查配置好的环境没有问题 我配置结果 [环境变量] [系统变量] 确定settings.json里面的 ...

  6. java 多线程的售票问题

    java 多线程的售票问题 对票的库存进行操作 public class Tickets implements Runnable{ private int ticket = 100; public v ...

  7. Spring的SchedulingConfigurer实现定时任务

    前提:在做业务平台的时候我们经常会遇到,某些跟时间打交道的需要修改状态,比如说在时间区间之前,属于未生效状态,区间之内属于有效期,区间之后,属于过期,或者需要每天 每周 每月,甚至是年为单位的做一些固 ...

  8. Python灰帽子:黑客与逆向工程师的Python编程之道PDF高清完整版免费下载|百度云盘

    百度云盘免费下载:Python灰帽子:黑客与逆向工程师的Python编程之道PDF高清完整版免费下载 提取码:8nki 目录  · · · · · · 第1章 搭建开发环境 11.1 操作系统要求 1 ...

  9. php实现导出数据分类合并单元格功能

    <?php $conn = mysql_connect("localhost","root","root"); $db = mysql ...

  10. jmeter跨线程组session保持

    @@@@@@@@@@@@@@@ 是金子早晚会被挖光的 http请求由于无状态的特性,所以在请求时需要带上身份信息,关于session和cookie的验证机制会在其他笔记中再记录,这里不讨论. 心路历程 ...