国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

理解環(huán)境變量 JAVA_TOOL_OPTIONS

jackzou / 3228人閱讀

摘要:在有些場景為了安全考慮環(huán)境變量是被禁用的,比如系統(tǒng)中但有效用戶或組不是實際時則禁用此環(huán)境變量。

JAVA_TOOL_OPTIONS是何物

有些應(yīng)用不方便設(shè)置JVM參數(shù),如命令行應(yīng)用、通過JNI(Java Native Interface)API調(diào)用虛擬機的應(yīng)用、腳本嵌入虛擬機中的應(yīng)用等。這種情況環(huán)境變量JAVA_TOOL_OPTIONS就非常有用了,它會被JNI API的JNI_CreateJavaVM函數(shù)使用。

Note:
在有些場景為了安全考慮環(huán)境變量JAVA_TOOL_OPTIONS是被禁用的,比如Solaris系統(tǒng)中但有效用戶ID或組ID不是實際ID時則禁用此環(huán)境變量。

因為JAVA_TOOL_OPTIONS是被被JNI_CreateJavaVM調(diào)用的,顧名思義是創(chuàng)建VM,因此有些參數(shù)是不能被設(shè)置的如選擇虛擬機運行模式-client或-server。

各種OPTIONS的區(qū)別

也許你經(jīng)常遇到JAVA_OPTS、_JAVA_OPTIONS和JAVA_TOOL_OPTIONS,那么他們有什么不同呢?

JAVA_OPTS:常用于一些應(yīng)用的配置,如Tomcat,但它一般不作為環(huán)境變量,也不能被JVM識別的,是那些應(yīng)用的自定義配置;

_JAVA_OPTIONS:也是作為環(huán)境變量來替代命令行參數(shù)的,但它是JVM廠家自定義的,可以覆蓋JAVA_TOOL_OPTIONS,但各廠家的不同,_JAVA_OPTIONS是Oracle的JVM,而IBM的則是用IBM_JAVA_OPTIONS。

JAVA_TOOL_OPTIONS:是標準的,所有虛擬機都能識別和應(yīng)用的。

如果想驗證上面的不同也不難,如果設(shè)置了JVM能識別的環(huán)境變量,JVM會有"Picked up"的提示的,如:

export JAVA_OPTS=zhaiqiafneng
export JAVA_TOOL_OPTIONS="-Xmx512m -Xms64m" 

java -version 

JVM會打印:

Picked up JAVA_TOOL_OPTIONS: -Xmx512m -Xms64m
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

可見JAVA_TOOL_OPTIONS能被JVM識別,而JAVA_OPTS不能被識別。

可以通過設(shè)置-Xmx的值觸發(fā)“Too small initial heap”異常連檢測覆蓋(當然你也可以通過其他方式):

export JAVA_TOOL_OPTIONS="-Xmx512m -Xms64m"
export _JAVA_OPTIONS="-Xmx1k -Xms1k"

java -version

JVM會打印

Picked up JAVA_TOOL_OPTIONS: -Xmx512m -Xms64m
Picked up _JAVA_OPTIONS: -Xmx1k -Xms1k
Error occurred during initialization of VM
Too small initial heap

可見_JAVA_OPTIONS覆蓋了JAVA_TOOL_OPTIONS.

解決的經(jīng)典問題

JAVA_TOOL_OPTIONS用于解決的經(jīng)典問題是使用命令行導(dǎo)致中文亂碼,如:

........
/HController.java:181: error: unmappable character for encoding GBK

                                    // ???后的發(fā)???
                                              ^

/HController.java:181: error: unmappable character for encoding GBK

                                    // ???后的發(fā)???
                                               ^

.......

通過設(shè)置環(huán)境變量JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"一般可以解決,如果不能解決,就要根據(jù)你具體的編碼來設(shè)置下就好。

更多原創(chuàng)文章可關(guān)注我的個人博客:宅前瘋 或微信公眾賬號:zhaiqianfeng

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/66756.html

相關(guān)文章

  • Maven 常用技巧總結(jié)

    摘要:用于將集成至標準的構(gòu)建生命周期中,此時執(zhí)行時就會執(zhí)行指定的操作,從而實現(xiàn)自定義打包。插件的已棄用會自動執(zhí)行生命周期。可執(zhí)行文件執(zhí)行時出現(xiàn)亂碼使用生成的可執(zhí)行文件,在中執(zhí)行時出現(xiàn)亂碼,項目編碼統(tǒng)一為,日志使用框架。得到的是當前的絕對路徑。 「博客搬家」 原地址: 簡書 原發(fā)表時間: 2017-04-06 1. 設(shè)置 Java JDK 的版本為「JDK 1.8」 可以修改 pom.x...

    niceforbear 評論0 收藏0
  • 變量對象和執(zhí)行環(huán)境理解

    摘要:正文執(zhí)行環(huán)境的理解執(zhí)行環(huán)境或者執(zhí)行上下文后面簡稱定義了變量或者函數(shù)有權(quán)訪問的其他數(shù)據(jù),決定了他們各自的行為。最后全局環(huán)境的變量對象總結(jié)活動對象和變量對象是執(zhí)行環(huán)境在不同生命期的不同叫法。未進入執(zhí)行階段之前,變量對象中的屬性都不能訪問。 背景 夯實基礎(chǔ)才是進步的根源,基礎(chǔ)不牢地動山搖!!于是乎,結(jié)合《javascript高級程序設(shè)計》來點基礎(chǔ)的學(xué)習(xí)和理解。本文主要會有兩部分。rt!! 正...

    everfly 評論0 收藏0
  • 形象化模擬作用域鏈,深入理解js作用域、閉包

    摘要:至此作用域鏈創(chuàng)建完畢。好了,通過深入理解作用域鏈,我們能跟好的理解的運行機制和閉包的原理。 前言 理解javascript中的作用域和作用域鏈對我們理解js這們語言。這次想深入的聊下關(guān)于js執(zhí)行的內(nèi)部機制,主要討論下,作用域,作用域鏈,閉包的概念。為了更好的理解這些東西,我模擬了當一個函數(shù)執(zhí)行時,js引擎做了哪些事情--那些我們看不見的動作。 關(guān)鍵詞: 執(zhí)行環(huán)境 作用域 作用域鏈 變...

    txgcwm 評論0 收藏0

發(fā)表評論

0條評論

jackzou

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<