JAVA项目运行报错:Unrecognized VM option ‘PermSize=128m‘

问题描述

Linux服务器运行java项目,项目启动后报错:Unrecognized VM option 'PermSize=128m'

Unrecognized VM option 'PermSize=128m'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

 

无法识别的VM选项“MaxPermSize=256m”

错误:无法创建Java虚拟机

错误:发生致命异常。程序将退出。


原因分析:

这里问题分析,项目使用的是 jdk8,基本上是 JDK 版本配置问题。

jdk8(含)以后,永久代被移除了,所以虚拟机的启动参数MaxPermSize(最大永久代大小)不可用。

 在服务器终端,java -version 查看 JDK 版本

java -version

 显示为jdk1.8 

java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

查看系统环境变量 JAVA_HOME

more /etc/profile

果然版本有问题 

JAVA_HOME=/usr/local/jdk-20
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

解决方案:

修改JAVA_HOME环境变量,改为jdk1.8

vim /etc/profile
JAVA_HOME=/usr/local/jdk1.8.0_191
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

刷新环境变量

source /etc/profile

最后重启项目,问题解决

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: jdk、jre、jvm 都是 Java 开发运行环境相关的概念。jdk 是 Java Development Kit 的缩写,是 Java 开发工具包,包含了编译器、调试器、文档生成器等开发工具。jre 是 Java Runtime Environment 的缩写,是 Java 运行环境,包含了 JVMJava 库等运行时环境。而 JVMJava Virtual Machine 的缩写,是 Java 虚拟机,是 Java 程序运行的基础,它将 Java 代码编译成字节码并执行。简单来说,jdk 包含了 jre,jre 包含了 JVM。 ### 回答2: JDK(Java Development Kit),JRE(Java Runtime Environment)和JVMJava Virtual Machine)是Java开发运行环境中的重要组件。 JDK是用于开发Java应用程序的软件包。它包含了编译Java源代码的编译器(javac)和其他开发工具,以及Java类库,使开发人员能够创建、编译和调试Java程序。JDK中还包含了JRE。 JRE是用于在计算机上运行Java应用程序的环境。它包含了Java虚拟机(JVM)和Java类库,可以执行已经编译的Java字节码。JRE只包含运行Java程序所需的最低限度文件。 JVMJava虚拟机,是Java程序在计算机上运行的核心组件。它是一个能够执行Java字节码的虚拟计算机,负责解释和执行Java程序。JVM是跨平台的,可以在不同操作系统上运行相同的Java程序。JVM还负责Java程序的内存管理、垃圾回收和线程管理等任务。 因此,JDK包含了JRE,而JRE则包含了JVM。简而言之,JDK提供了完整的开发环境,JRE是用于执行Java程序的最小运行环境,而JVM负责在计算机上解释和执行Java字节码。三者之间有着密切的关系,构成了Java程序开发运行的基础。 ### 回答3: JDK(Java Development Kit)是Java开发工具包的缩写,它包含了开发Java程序所需要的工具和软件。 JRE(Java Runtime Environment)是Java运行时环境的缩写,它是运行Java程序所必需的软件。 JVMJava Virtual Machine)是Java虚拟机的缩写,它是一种虚拟计算机,能够执行Java字节码文件(.class文件)。JVM可以在不同的操作系统上运行,提供了内存管理、垃圾回收等功能。 JDK、JRE、JVM之间的关系如下:JDK包含JRE,同时还包含了开发Java程序所需要的编译器(javac)、调试器(jdb)等工具。JDK中的编译器可以将Java源代码(.java文件)编译成Java字节码文件(.class文件),而JVM可以解释和执行这些Java字节码文件。所以可以说,JDK是开发Java程序的工具包,其中包括了编译器和运行环境,而JRE只是运行Java程序所必需的运行环境。而JVM则是Java程序运行的环境,提供了虚拟计算机来执行Java程序。 总之,JDK是开发Java程序的工具包,包含了编译器和运行环境;JRE是运行Java程序所必需的运行环境;而JVMJava程序的执行环境,能够解释和执行Java字节码文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gzzz__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值