Java安装

Table of Contents

linux下安装

卸载openjdk

查看java环境

> 一些开发版的CentOS 7会自带OpenJDK,我们一般用自己的jdk,把系统自带的卸载。先看看有没有安装java -version

  [linuxidc@localhost ~]$ java -version
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

查找他们的安装位置


[linuxidc@localhost ~]$ rpm -qa | grep java
java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64
Python-javapackages-3.4.1-11.el7.noarch
tzdata-java-2018e-3.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.191.b12-0.el7_5.x86_64
javapackages-tools-3.4.1-11.el7.noarch

删除全部,noarch文件可以不用删除

[root@localhost ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64
[root@localhost ~]# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.191.b12-0.el7_5.x86_64

检查有没有删除

[linuxidc@localhost ~]$ java -version
bash: java: 未找到命令...

如果还没有删除,则用yum -y remove去删除他们。

java

解压到/usr/local

  mv jdk-8u191-linux-x64.tar.gz /usr/local
tar -xzf jdk-8u191-linux-x64.tar.gz

添加到.bashrc


#Java Env
export JAVA_HOME=/usr/local/jdk1.8.0_191
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

使java生效`source ~/.bashrc`

解决 Creation of SecureRandom instance for session ID阻塞

vim /usr/local/jdk1.8.0_191/jre/lib/security/java.security

把 securerandom.source=file:/dev/random
替换为
securerandom.source=file:/dev/./urandom

说明

  • 这里值为何要在 dev 和 random 之间加一个点呢?是因为一个 JDK 的 bug,有人反馈即使对 securerandom.source 设置为 dev/urandom 它也仍然使用的 /dev/random,有人提供了变通的解决方法,其中一个变通的做法是对 securerandom.source 设置为 /dev./urandom 才行。也有人评论说这个不是 bug,是有意为之。

常用注解

  -----------常用注解--------

--定义Bean的注解
@Controller
@Controller("Bean的名称")
定义控制层Bean,如Action

@Service
@Service("Bean的名称")
定义业务层Bean

@Repository
@Repository("Bean的名称")
定义DAO层Bean

@Component
定义Bean, 不好归类时使用.



--自动装配Bean (选用一种注解就可以)

@Autowired  (Srping提供的)
默认按类型匹配,自动装配(Srping提供的),可以写在成员属性上,或写在setter方法上



@Autowired(required=true)
一定要找到匹配的Bean,否则抛异常。 默认值就是true


@Autowired
@Qualifier("bean的名字")
按名称装配Bean,与@Autowired组合使用,解决按类型匹配找到多个Bean问题。

Date: 2022-10-26 Wed 16:58

Author: yangk

Created: 2023-01-03 Tue 12:43

hello-world