Linux系统安装Java

2023-11-04

1、下载JDK

下载网址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

下拉,找到jdk8

使用Xshell远程连接虚拟机:

2、 先新建一个文件夹,目录是/usr/local/java

mkdir /usr/local/java

点击xftp:

将widows系统中的下载的jdk,传人到Linux系统中/usr/local/java目录下。

3、命令行进入/usr/local/java文件夹

cd /usr/local/java

 解压:tar zxvf 压缩包名称 (例如: tar zxvf jdk-8.0251-linux-x64.tar.gz )后面的名称可以只输入一个 tar zxvf j ,然后使用 Tab 按键自动补全文件名
 删除压缩包:rm -f 压缩包名称 (例如  rm -f jdk-8.0251-linux-x64.tar.gz )

4、环境变量配置

1. 编辑 /etc/profile 文件

vi /etc/profile

2. 按 Insert 或者 I  键,切换成编辑模式。
找到内容末尾,按图片输入下面一段话。
在 unset i 的前面输入

export JAVA_HOME=/usr/local/java/jdk1.8.0_251
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

(!!!注意:JAVA_HOME的路径是你实际解压后的JDK的路径,千万别写错了)

3. 按 Esc 退出编辑模式,输入 :wq 保存并退出

5、 生效环境变量


对于/etc/profile编写完成之后是不够的,还需要最后一个步骤,就是让刚刚我们修改的文件变成有效起来,所以我们再输入一个命令,让修改生效。
生效命令:

source /etc/profile

6、验证是否成

java -version

7、编写一个java程序:

在/root/haha目录下输入:vim TestFor.java

public class TestFor{
    public static void main(String[] args){
        int random =0;
        while (random<100){
          random=random *10;
        }
    }
}

注意:主类TestFor需要与类名相同

编译:javac TestFor.java

运行:java TestFor

由于程序中编写的是死循环,故非常消耗cpu,运行之后,top查看cpu使用率100%,

Linux系统cpu 100%排查:

  • 查消耗cpu最高的进程PID

  • 根据PID查出消耗cpu最高的线程号

  • 根据线程号查出对应的java线程,进行处理。

可以看到:cpu使用率最高的进程PID为:102386

top -Hp 102386    显示一个进程的线程运行信息列表。按下P,进程按照cpu使用率排序

可以看到PID 为102387的线程耗用cpu最高。

这是十进制的数据,需要转化为十六进制:printf "%x\n" 102387

为:18ff3

之所以要转化为16进制,是因为堆栈里,线程id是用16进制表示的。

根据线程号查出对应的java线程,进行处理

执行命令,导出进程快照

查看堆栈,找到线程在干嘛

工具:pstack/jstack/grep

方法:jstack 102386 | grep ‘18ff3’ -C5 --color

· 打印进程堆栈

· 通过线程id,过滤得到线程堆栈

可以看到,问题出在TestFor.java文件中个第5行。

代码为死循环;

定位结束。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux系统安装Java 的相关文章

随机推荐