java.endorsed.dirs 和 java.ext.dirs 系统属性说明

本文介绍了JVM中用于覆盖J2SE平台某些类的endorsed标准替代机制,解释了为何需要这一机制及其工作原理。通过设置特殊目录,开发者可以利用最新版本的标准库进行开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JVM系统属性中有两个特殊的属性:

{java.ext.dirs} 可选包扩展机制
{java.endorsed.dirs} 包升级替换机制

相关资料:

http://docs.oracle.com/javase/1.4.2/docs/guide/extensions/spec.html
http://docs.oracle.com/javase/6/docs/technotes/guides/standards/index.html

JVM Endorsed Standards Override Mechanism

Goal

Provide a mechanism to override certain classes included in J2SE platform.

 

Reason

Those endorsed standards are defined through processes other than JCP. In other words these standards are not under the control of JCP, such as w3c and OMG.

So these standards may subject to change between releases of Java2 platform. Such a mechanism can let developers and software vendors to take advantage of

new revisions to endorsed standards.

 

Means

If JVM can find certain classes in a special directory called endorsed dir, these classes definition will override those included in J2SE platform. The

default endorsed dir locates in <java-home>\lib\endorsed [Microsoft Windows] or <java-home>/lib/endorsed [Solaris or Linux]

Here <java-home> refers to the directory where the runtime software is installed (which is the top-level directory of the Java 2 Runtime Environment or the

jre directory in the Java 2 SDK).

You can change the default location to another locations, however, by setting a JVM option called java.endorsed.dirs. Separate multiple directories with

File.pathSeparatorChar.

 

Scope

Obviously, not all platform classes can be overridden. Classes can be overridden are listed on the page of

http://java.sun.com/j2se/1.4.2/docs/guide/standards/.

 

 

/app/jdk1.8.0_192/bin/java -cp /app/BES-CLUSTER-951/node-172.16.100.235/patch/V9.5.1.2539.002.jar:/app/BES-CLUSTER-951/node-172.16.100.235/patch/V9.5.1.2539.001.jar:/app/BES-CLUSTER-951/node-172.16.100.235/lib/*:/app/BES-CLUSTER-951/node-172.16.100.235/lib/3rd/*: -Dcom.bes.enterprise.stopAgentTimeout=180 -Dclient.ssl.keyStorePassword={AES}PrzBD+FLE0Wheq7AAaghXw== -Dcom.bes.enterprise.nodeagent.process.timeout=180 -Dclient.ssl.keyStore=${com.bes.installRoot}/conf/security/client.p12 -Dclient.ssl.keyStoreType=PKCS12 -Dcom.bes.enterprise.startAgentTimeout=180 -Dcom.bes.enterprise.async.event.retainResultTimeout=300 -Djava.security.egd=file:/dev/./urandom -XX:+UnlockDiagnosticVMOptions -XX:MetaspaceSize=1028m -XX:NewRatio=2 -XX:HeapDumpPath=/toptdata/besServerLog/node-172.16.100.235/logs/dump/ -XX:LogFile=/toptdata/besServerLog/node-172.16.100.235/logs/jvm.log -XX:+HeapDumpOnOutOfMemoryError -XX:-UseVMInterruptibleIO -XX:MaxMetaspaceSize=2048m -XX:+LogVMOutput -Xmx4096m -Xms2048m -server -Djava.endorsed.dirs=/app/BES-CLUSTER-951/node-172.16.100.235/lib/endorsed -Dcom.bes.javaRoot=/app/jdk1.8.0_192 -Dcom.bes.installRoot=/app/BES-CLUSTER-951/node-172.16.100.235 -Dcom.bes.instanceRoot=/app/BES-CLUSTER-951/node-172.16.100.235 -Djava.awt.headless=true -Djava.ext.dirs=/app/jdk1.8.0_192/lib/ext:/app/jdk1.8.0_192/jre/lib/ext:/app/BES-CLUSTER-951/node-172.16.100.235/lib/ext -Djava.net.preferIPv4Stack=true -Djava.library.path=/app/BES-CLUSTER-951/node-172.16.100.235/lib:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib com.bes.enterprise.nodeagent.bootstrap.NodeAgentMain start --startinstances=false --restartinstances=true --monitorinterval=5 --syncinstances=true -instancedir /app/BES-CLUSTER-951/node-172.16.100.235 -verbose false -debug false -nodename node-172.16.100.235 -read-stdin true
06-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值