在Ubuntu16.04.4和Windows10上安装jdk
在Ubuntu16.04.4和Windows10上安装jdk
一、在Ubuntu16.04.4上安装jdk
1.下载jdk安装包
首先我们在oracle官网上下载jdk-8u161-linux-x64.tar.gz,当然也可以下载其他版本的。

2.创建java的安装目录,并且解压该安装包,这里没有固定的解压目录,很类似于windows。
sudo mkdir /usr/lib/jvm
sudo tar -zxvf jdk-8u161-linux-x64.tar.gz /usr/lib/jvm
3.配置环境变量
编辑.bashrc文件,这个文件是针对某一具体用户的,因为Linux是多用户多任务操作系统,所以我们如果配置全局的环境变量就不能这样做了,一般是在/etc/profile中配置。
sudo gedit ~/.bashrc
环境变量如下,注意不要照搬照抄,需要修改到真正的安装目录之下:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
这一步的配置是非常重要的,决定着我们安装的成败,最后不要忘了source一下,使得环境生效:
source ~/.bashrc
4、检验是否成功
在这里我们可以通过在shell中使用echo $JAVA_HOME来判断是否生效,然后使用java -version来判断java是否安装成功,另外,我们可以java一下来判断。
二、在Windows上安装jdk
前面步骤一样,注意安装jdk和jre一定不能在jdk目录之下安装jre,不然目录就会被破坏,造成不可挽回的后果(只能重装),如下所示的安装最好了:


安装完毕之后,配置环境变量:

首先我们看清楚环境变量的种类,在上面的是用户个人的,换了其他的用户就不能使用了,下面的是共用的,我们一般使用下面的,其次,我们按照规范:
@1、新建变量,然后增加:
JAVA_HOME
D:\software_setup\java_setup\jdk

@2、新建变量CLASSPATH:
CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

@3、前面两个需要新建,最后一个使用系统自带的:PATH
PATH
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

@4、完成之后,进行测试:
出现如下内容算是配置成功,如果只使用java则不一定成功,那是因为在安装Java的时候,已经自动将jre中的Java写到了环境变量PATH中。


@5、如果出错,就是没找到这个软件jar,那么使用echo命令测试,看看是否设置的环境变量生效:

注意:如果是在win10最新版上安装java,一定要注意在PATH下的写法规则,不能在一行之内写两个路径,不然不能识别成功,也就是说javac之后找不到目录,应该类似下面的写法才可以。

如果全部设置正确还不生效,那么考虑重启一下计算机,因为win10最新版的系统有的时候需要重启才能使得设置生效。
三、在Windows上安装JDK11版本
到了这个版本,安装变得更加简单和快捷了,我们首先下载该安装包:

之后我们进行安装,安装的步骤和之前的类似,需要注意的是安装之后我们发现没有提示我们安装JRE了,并且在安装的结果之中,我们也发现目录结构有了重大的变化:

源文件也到了这个地方:

安装完成之后我们还需要进行环境变量配置,方法是一样的:

还是需要设置JAVA_HOME以及PATH,但是在PATH中我们只需要输入如下内容即可:

最后我们检验一下,可以看到这个版本是长期维护的LTS:

四、总结
安装java的方法有很多种,在不同的环境下可以使用不同的方法来安装,这是最官方的一种安装方法,其实和windows里面的安装是一样的,各种配置都差不多,并且这种安装java的方式比较干净,不会产生一些我们不知道文件,便于我们之后的移除。
在Ubuntu16.04.4和Windows10上安装jdk的更多相关文章
- windows上安装ubuntukylin16.04并且在ubuntukylin上安装jdk
1.安装ubuntukylin16.04 教程链接:http://jingyan.baidu.com/article/f71d60379824041ab641d19d.html 我是完全按照这个教程来 ...
- 在Ubuntu16.04.4上安装jdk
在Ubuntu16.04.4上安装jdk 一.安装步骤 1.下载jdk安装包 首先我们在oracle官网上下载jdk-8u161-linux-x64.tar.gz,当然也可以下载其他版 ...
- Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...
- 【软件安装与环境配置】ubuntu16.04+caffe+nvidia+CUDA+cuDNN安装配置
前言 博主想使用caffe框架进行深度学习相关网络的训练和测试,刚开始做,特此记录学习过程. 环境配置方面,博主以为最容易卡壳的是GPU的NVIDIA驱动的安装和CUDA的安装,前者尝试的都要吐了,可 ...
- 在windows10上安装caffe和tensorflow
最近在Windows10上安装了caffe和tensorflow,折腾了好久.在此记录一下. 安装caffe的过程已在另一篇博客中进行了记录,在此不再赘述.而tensorflow也是非常简单的,也不再 ...
- 在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法
在ubuntu16.04+python3.5情况下安装nltk,以及gensim时pip3安装不成功的解决办法,我刚开始因为不太会用linux命令,所以一直依赖于python 的pip命令,可是怎么都 ...
- windows10上安装mysql详细图文教程
在windows10上安装mysql详细图文教程 这篇文章主要介绍了在windows10上安装mysql详细图文教程,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧 环境:windw ...
- Ubuntu16.04中Mysql 5.7 安装配置
记录在Ubuntu 16.04安装Mysql 5.7时遇到的一些问题. Mysql安装 使用如下命令进行安装: 1 sudo apt-get install mysql-server mysql-cl ...
- Ubuntu16.04下LAMP环境的安装与配置
Ubuntu16.04下LAMP环境的安装与配置 最近做个实验需要用到Ubuntu环境的靶场,所以这里介绍下Ubuntu环境下LAMP的安装与配置,话不多说,我们gkd! 1.Apache2的安装 首 ...
随机推荐
- docker 配置 overlay 存储
1.查看overlay模块是否安装 lsmod | grep over 2.将OverlayFS加到module目录下 echo "overlay" > /etc/modul ...
- springboot整合websocket后运行测试类报错:javax.websocket.server.ServerContainer not available
springboot项目添加websocket依赖后运行测试类报如下错误: org.springframework.beans.factory.BeanCreationException: Error ...
- Jmeter_RabbitMQ性能测试
[前言] RabbitMQ消息的传递并非使用HTTP协议,而是AMQP协议,因此除非开发暴露一个HTTP请求接口出来,否则无法直接使用HTTP请求发送json串数据,实现数据publish到MQ中. ...
- Pangolin库的使用
使用Pangolin画出相机的轨迹(包括朝向). 数据集结构data.csv: #timestamp, p_RS_R_x [m], p_RS_R_y [m], p_RS_R_z [m], q_RS_w ...
- 使用memcache或redis限制某个用户或者某ip用户一段时间内最大投票次数
实现每个用户在某网站10分钟内最多投票5次 function isFrequently($key){ $t = 60*10; $n = 5; $mem = new Memcache(); $mem-& ...
- Linux动态库的导出控制
在实际工作中,许多软件模块是以动态库的方式提供的.做为模块开发人员,我们不仅要掌握如何编写和构建动态库,还要了解如何控制动态库的导出接口,这样,我们可以向模块的用户仅导出必要的接口,而另一些内部接口, ...
- GCD介绍:Dispatch_source
[转自:GCD介绍(三): Dispatch Sources] 何为Dispatch Sources 简单来说,dispatch source是一个监视某些类型事件的对象.当这些事件发生时,它自动将一 ...
- Java_多线程
线程(Thread) 1.线程是CPU进行资源调度的最小单位 2.线程是进程实际运行的单位,处理进程中无数的小任务 3.线程共享代码和数据空间 4.一个进程可以并发多个线程,线程之间切换系统开销很小 ...
- iOS开发debug跟release版本NSLog屏蔽方法
简单介绍以下几个宏: 1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持).宏前面加上##的作用在于,当可变参 ...
- canvas+js+面向对象的圆形封装
效果: Circle.js /* 1. 封装属性: x, y r, fillStyle strokeStyle opacity 2.render */ function Circle(option) ...