欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

idea為java程序添加啟動參數(shù)的問題解析(program?arguments,vm?arguments,Environment?variable)并在程序中獲取使用

 更新時間:2023年09月19日 12:05:33   作者:T-OPEN  
這篇文章主要介紹了idea為java程序添加啟動參數(shù)的問題解析(program?arguments,vm?arguments,Environment?variable)并在程序中獲取使用,本文給大家分享問題描述及解決方法,需要的朋友可以參考下

一、問題描述

1. 開發(fā)環(huán)境

  • idea2019
  • jdk1.8
  • win10
    在實際的項目開發(fā)中我們經(jīng)常需要為java程序添加一些啟動參數(shù)(又叫java啟動命令),比如虛擬機(jī)參數(shù),環(huán)境變量等等。

2. Java啟動命令可選項(options)

java啟動命令可選項顧名思義就是java啟動參數(shù),當(dāng)你不加這個參數(shù)時 jvm會選擇默認(rèn)的配置進(jìn)行啟動。Java啟動命令可選項(options)大致可分為標(biāo)準(zhǔn)非標(biāo)準(zhǔn)兩種,非標(biāo)準(zhǔn)的可選項不保證在所有平臺上都實現(xiàn),并且未來的版本中可能會被修改且不告知,總之就是不穩(wěn)定(Unstable)。不過有的非標(biāo)準(zhǔn)可選項還是非常有用的。

標(biāo)準(zhǔn)可選項(Standard options) 使用最多的就是 -Dkey=value 設(shè)定系統(tǒng)屬性值,比如編碼 -Dfile.encoding=UTF-8 。可以設(shè)定一些系統(tǒng)使用的屬性,也可以用來向程序傳遞一些自定義的參數(shù)。 可以通過System.getProperty(“keyname”) 來獲取屬性。

非標(biāo)準(zhǔn)可選項(Nonstandard Options)主要是設(shè)置一些虛擬機(jī)的參數(shù), 非標(biāo)準(zhǔn)的可選項一般都是以 -X 開始,同時他還包含一個不穩(wěn)定的不穩(wěn)定(Unstable)的選項 不穩(wěn)定的選項一般都是以 -XX 開頭。

具體的java啟動命令可參考:Java啟動命令大觀

二、解決方案

idea的添加啟動參數(shù)的過程如下:

1. 打開需要添加啟動參數(shù)的對話框

第一步

2. 找到你需要的添加啟動的參數(shù)的如果沒有需要自己新建

在這里插入圖片描述

注意

VM options 需要以 -D 或 -X 或 -XX 開頭,每個參數(shù)最好使用空格隔開。
program arguments 每個參數(shù)需要以空格隔開。否則將會被識別成一個參數(shù),自己用的時候還得手動處理。
Environment variable 沒有前綴,優(yōu)先級低于 VM options ,即如果VM options 有一個變量和 Environment variable中的變量的key相同,則以VM options 中為準(zhǔn),(如果用命令行啟動,這個參數(shù)需要在運行java類以前使用 set JAVA_HOME=D:\jdk1.8.0_05 這種方式進(jìn)行臨時修改,這種方式只在當(dāng)前cmd窗口有效,點擊看詳情 設(shè)置臨時的java環(huán)境變量)。

java提供了System類的靜態(tài)方法getenv()和getProperty()用于返回系統(tǒng)相關(guān)的變量與屬性,**getenv()**方法返回的變量大多于系統(tǒng)相關(guān),

  • getProperty() 方法返回的變量大多與java程序有關(guān)。
  • System.getenv() 方法是獲取指定的環(huán)境變量的值。
  • System.getenv(String name) 接收參數(shù)為任意字符串,當(dāng)存在指定環(huán)境變量時即返回環(huán)境變量的值,否則返回null。
  • System.getProperty() 是獲取系統(tǒng)的相關(guān)屬性,包括文件編碼、操作系統(tǒng)名稱、區(qū)域、用戶名等,此屬性一般由jvm自動獲取,不能設(shè)置。

System.getProperty(String key) 接收參數(shù)為任意字符串,當(dāng)存在指定屬性時即返回屬性的值,否則返回null。具體應(yīng)用如下:

package com.ratel.mongo;
import java.util.Map;
import java.util.Properties;
/**
 * @業(yè)務(wù)描述:
 * @package_name: com.ratel.mongo
 * @project_name: springboot-mongo
 * @author: ratelfu@qq.com
 * @create_time: 2020-08-30 10:11
 * @copyright (c) ratelfu 版權(quán)所有
 */
public class MyTest {
    //*program arguments 其實就是對應(yīng)的args參數(shù)
    public static void main(String[] args) {
        //打印傳進(jìn)來的 program arguments
        for (String arg : args) {
            System.out.println(arg);
        }
        //獲取java相關(guān)的環(huán)境變量
        String myVMarg = System.getProperty("MyVMarg");
        System.out.println("System.getProperty(\"MyVMarg\")----->"+myVMarg);
        Properties properties = System.getProperties();
        System.out.println("System.getProperties():=======>"+properties);
        //獲取運行jvm的平臺相關(guān)環(huán)境變量
        Map<String, String> getenv = System.getenv();
        System.out.println("System.getenv():----->"+getenv);
        String myVMarg1 = System.getenv("MyVMarg");
        System.out.println("System.getenv(\"MyVMarg\")=======>"+myVMarg1);
    }
}

運行結(jié)果如下圖:

在這里插入圖片描述

三、參考鏈接

Java啟動命令大觀

到此這篇關(guān)于idea為java程序添加啟動參數(shù)(program arguments,vm arguments,Environment variable),并在程序中獲取使用的文章就介紹到這了,更多相關(guān)idea為java程序添加啟動參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論