jvm

it2025-03-04  28

常量池:https://zhuanlan.zhihu.com/p/52710835

jvm问题排查命令:https://my.oschina.net/feichexia/blog/196575

系统变量和环境变量:

java -jar app -Dfoo="bar" System.getProperty 返回的一定是一个字符串。

Java 中,我们使用 ProcessBuilder 类来创建新进程,该类有一个名为 environment 的方法,此方法返回一个 Map,不过这个映射不是只读的,这样就可以向其添加新元素: ProcessBuilder pb = new ProcessBuilder(args); Map<String, String> env = pb.environment(); env.put("log_dir", "/tmp/log"); Process process = pb.start();

区别 这两者本质上都是提供 字符串类型 键值 信息的映射,区别在于: 我们可以在运行时变更 系统属性(Properties),但是 环境变量(Environment Variables)仅是操作系统环境变量的一个不可变拷贝。 仅 Java 平台包含这个 系统属性 特性,而 环境变量 则是操作系统层面提供,全局可用的 - 运行在同一个机器上的所有应用都可以访问。 系统属性 在打包应用时就必须存在1,而 环境变量 则任意时刻都可以在操作系统中创建。

https://blog.csdn.net/neweastsun/article/details/81590821 and https://blog.xiayf.cn/2019/06/25/java-prop-env/

Java提供了System类的静态方法getenv()和getProperty()用于返回系统相关的变量与属性,getenv方法返回的变量基本都是跟系统相关:JAVA_HOME,getProperty方法返回的变量基本都是跟java程序有关:java.version。

最新回复(0)