當程式中需要使用與作業系統相關的變數(例如:檔案分隔符號、換行符號)時,Java提供了System類別的靜態方法getenv()和getProperty()用於傳回系統相關的變數與屬性,getenv方法回傳的變數大多於系統相關,getProperty方法傳回的變數大多與java程式有關。
系統屬性和環境變數都是名稱與數值之間的對應。兩種機制都能用來將使用者定義的資訊傳遞給 Java進程。環境變數產生更多的全域效應,因為它們不僅對Java子程序可見,而且對於定義它們的程序的所有子程序都是可見的。在不同的作業系統上,它們的語意有細微的差別,例如,不區分大小寫。因此環境變數更可能有意料不到的副作用。程式中盡可能使用系統屬性。環境變數應該在需要全域效應的時候使用,或是在外部系統介面要求使用環境變數時使用(例如 PATH)。
1、環境變數getenv() :用於取得目前系統環境的字串對映視圖;測試程式碼及運作結果如下:
publicclass Test { publicstaticvoid main(String[] args) { Map<String, String> map = System.getenv(); for(Iterator<String> itr = map.keySet().iterator();itr.hasNext();){ String key = itr.next(); System.out.println(key + "=" + map.get(key)); } } }
USERPROFILE :用户目录 USERDNSDOMAIN :用户域 PATHEXT :可执行后缀 JAVA_HOME :Java安装目录 TEMP :用户临时文件目录 SystemDrive :系统盘符 ProgramFiles :默认程序目录 USERDOMAIN :帐户的域的名称 ALLUSERSPROFILE :用户公共目录 SESSIONNAME :Session名称 TMP :临时目录 Path :path环境变量 CLASSPATH :classpath环境变量 PROCESSOR_ARCHITECTURE :处理器体系结构 OS :操作系统类型 PROCESSOR_LEVEL :处理级别 COMPUTERNAME :计算机名 Windir :系统安装目录 SystemRoot :系统启动目录 USERNAME :用户名 ComSpec :命令行解释器可执行程序的准确路径 APPDATA :应用程序数据目录
2、系統屬性getProperty() :目前的系統屬性。測試程式碼及運行結果如下:
publicclass Test { publicstaticvoid main(String[] args) { Properties props = System.getProperties(); props.list(System.out); } }
java.version Java :运行时环境版本 java.vendor Java :运行时环境供应商 java.vendor.url :Java供应商的 URL java.home :Java安装目录 java.vm.specification.version: Java虚拟机规范版本 java.vm.specification.vendor :Java虚拟机规范供应商 java.vm.specification.name :Java虚拟机规范名称 java.vm.version :Java虚拟机实现版本 java.vm.vendor :Java虚拟机实现供应商 java.vm.name :Java虚拟机实现名称 java.specification.version :Java运行时环境规范版本 java.specification.vendor :Java运行时环境规范供应商 java.specification.name :Java运行时环境规范名称 java.class.version :Java类格式版本号 java.class.path :Java类路径 java.library.path :加载库时搜索的路径列表 java.io.tmpdir :默认的临时文件路径 java.compiler :要使用的 JIT编译器的名称 java.ext.dirs :一个或多个扩展目录的路径 os.name :操作系统的名称 os.arch :操作系统的架构 os.version :操作系统的版本 file.separator :文件分隔符 path.separator :路径分隔符 line.separator :行分隔符 user.name :用户的账户名称 user.home :用户的主目录 user.dir :用户的当前工作目录
更多Java獲取系統屬性及環境變量相關文章請關注PHP中文網!

本文分析了2025年的前四個JavaScript框架(React,Angular,Vue,Susve),比較了它們的性能,可伸縮性和未來前景。 儘管由於強大的社區和生態系統,所有這些都保持占主導地位,但它們的相對人口

本文介紹了SnakeyAml中的CVE-2022-1471漏洞,這是一個允許遠程代碼執行的關鍵缺陷。 它詳細介紹瞭如何升級春季啟動應用程序到Snakeyaml 1.33或更高版本的降低風險,強調了依賴性更新

Java的類上載涉及使用帶有引導,擴展程序和應用程序類負載器的分層系統加載,鏈接和初始化類。父代授權模型確保首先加載核心類別,從而影響自定義類LOA

本文討論了使用咖啡因和Guava緩存在Java中實施多層緩存以提高應用程序性能。它涵蓋設置,集成和績效優勢,以及配置和驅逐政策管理最佳PRA

Node.js 20通過V8發動機改進可顯著提高性能,特別是更快的垃圾收集和I/O。 新功能包括更好的WebSembly支持和精製的調試工具,提高開發人員的生產率和應用速度。

本文探討了在黃瓜步驟之間共享數據的方法,比較方案上下文,全局變量,參數傳遞和數據結構。 它強調可維護性的最佳實踐,包括簡潔的上下文使用,描述性

本文使用lambda表達式,流API,方法參考和可選探索將功能編程集成到Java中。 它突出顯示了通過簡潔性和不變性改善代碼可讀性和可維護性等好處


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具