- 浏览: 543260 次
- 性别:
- 来自: 湖南娄底
文章分类
- 全部博客 (252)
- C#资料 (0)
- java资料 (22)
- 数据库资料 (0)
- Java :开发中遇到的问题 (4)
- 书写属于我的人生 (6)
- spring (6)
- hibernate (16)
- struts (17)
- SSH (5)
- Linux操作系统 (1)
- Ext (5)
- Jquery (9)
- Tomcat部署出错 (2)
- xml (5)
- JSON (5)
- javascript 专题 (5)
- 开发环境配置 (2)
- web 开发 (27)
- Eclipse (7)
- Integration (1)
- 解决方案搜罗 (7)
- 网站收藏 (8)
- 测试框架 (1)
- iframe 专题 (6)
- JSTL (2)
- 各种插件收集 (2)
- 权限设计模型探讨 (1)
- DWR (1)
- log4j (3)
- java (11)
- java 格式化 (1)
- 软件工程 (2)
- 乱码专题 (1)
- UML (4)
- java 设计模式 篇 (1)
- 用法收集 (0)
- sourceforge apache solutions (2)
- Struts2 + JPA + Spring 开发 (1)
- 自定义工具箱 (0)
- IDE (4)
- opencms (1)
- jeecms (1)
- ant (0)
- maven (2)
- 数据库连接池 (0)
- spring MVC (0)
- android (1)
- web-server (1)
- iphone-开发环境 (1)
- iphone-软件开发 (6)
- iPhone-软件设计 (1)
- iphone-应用 (3)
- iPhone-设置 (2)
- iphone-软件开发-设计模式篇 (0)
- iphone-软件开发-OC基础 (9)
- iphone-软件开发- UI篇 (9)
- iphone-软件开发-工具类篇 (1)
- iphone-软件开发-第三方篇 (0)
- iphone-软件开发-特效篇 (2)
- iphone-软件开发-动画篇 (1)
- oracle (1)
- Java-Security (0)
- Three20 UI (1)
- IOS-HOW-TO-专题 (1)
- Mark-Develope Issues (1)
- iphone-软件开发- 资料参考篇 (1)
- C 语言-基本语法 (0)
- Java Servlet (2)
- Eclipse optimization (1)
- IOS Basic (0)
- ecl (0)
- FRONT-HTML (0)
- FRONT-JS (0)
- PHP (0)
最新评论
-
qq_29862421:
[[color=brown]color=yellow][url ...
java 上传图片同时获得图片的宽和高 -
hhb19900618:
NSString <==> NSNumber 之前 ...
OC 常用数据类型之间的转换 -
baohuan_love:
果然能解决问题,感谢分享
Tomcat Error Page配置 与 Error Page在IE下不能转发的问题 -
唐丽梅6313:
很细致。。
键盘样式风格有关设置-iOS开发 -
olived:
哥哥,为什么我的没有破解成功,总是提示许可文件丢失!!QQ:3 ...
[软件测试解决方案] soapUI 4.0.1破解方法
JVM系统属性(System.getProperty())和环境变量(System.getenv());
// 系统属性
String javaVersion = System.getProperty("java.version");
String javaVendor = System.getProperty("java.vendor");
String javaVendorUrl = System.getProperty("java.vendor.url");
String javaHome = System.getProperty("java.home");
String javaVmSpecificationVersion = System.getProperty("java.vm.specification.version");
String javaVmSpecificationVendor = System.getProperty("java.vm.specification.vendor");
String javaVmSpecificationName = System.getProperty("java.vm.specification.name");
String javaVmVersion = System.getProperty("java.vm.version");
String javaVmVendor = System.getProperty("java.vm.vendor");
String javaVmName = System.getProperty("java.vm.name");
String javaSpecificationVersion = System.getProperty("java.specification.version");
String javaSpecificationVendor = System.getProperty("java.specification.vendor");
String javaSpecificationName = System.getProperty("java.specification.name");
String javaClassVersion = System.getProperty("java.class.version");
String javaClassPath = System.getProperty("java.class.path");
String javaLibraryPath = System.getProperty("java.library.path");
String javaIoTmpdir = System.getProperty("java.io.tmpdir");
String javaCompiler = System.getProperty("java.compiler");
String javaExtDirs = System.getProperty("java.ext.dirs");
String osName = System.getProperty("os.name");
String osArch = System.getProperty("os.arch");
String osVersion = System.getProperty("os.version");
String fileSeparator = System.getProperty("file.separator");
String pathSeparator = System.getProperty("path.separator");
String lineSeparator = System.getProperty("line.separator");
String userName = System.getProperty("user.name");
String userHome = System.getProperty("user.home");
String userDir = System.getProperty("user.dir");
注解:
java.version | Java 运行时版本 |
java.home | Java 的安装目录 |
java.class.version | Java 类格式的版本号 |
java.class.path | Java 类的查找路径 |
java.io.tmpdir | 默认的临时目录 |
java.compiler | Java 所使用的及时编译器 |
java.ext.dirs | Java 扩展包的目录 |
os.name | 操作系统的名称 |
os.arch | 操作系统的体系结构 |
os.version | 操作系统的版本 |
file.separator | 文件分隔符(Unix 下为'/') |
path.separator | 路径分隔符(Unix 下为':') |
line.separator | 换行符(Unix 下为'/n') |
user.name | 用户帐号名 |
user.home | 用户目录 |
user.dir |
用户当前的工作目录
|
- 取得操作系统的环境变量
注意,这次是获取操作系统的环境变量,而不是获取JVM相关的一些变量。
也许是为了营造JVM就是操作系统平台的气氛,抑或是为了强调 Java的平台无关性,不知几时起Java已经把System.getenv(String)函数废弃了。所以一般来说Java只能获取它自己定义的一些 变量,而无法与操作系统的环境变量交互,只能在运行靠java的“-D”参数来设置要传递给它的一些变量。
所以唯一的办法只能先判断操作系统,然后用操作系统的命令来调出环境变量列表,设法获得该输出列表。
- 代码实现
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;public class SystemValue {
/**
* 使用System获取系统相关的值
*/
public static void getSystemProperties() {
Properties pp = System.getProperties();
System.out.println("System's Properties:");
System.out.println();
java.util.Enumeration en = pp.propertyNames();
while (en.hasMoreElements()) {
String nextE = (String) en.nextElement();
System.out.print(nextE + "=" + pp.getProperty(nextE));
System.out.println();
}
}public static void getCustomProperties(String key) {
Map map = getEnv();
System.out.println(key + "=" + map.get(key));
}public static Map getEnv() {
Map map = new HashMap();
Process p = null;
Runtime r = Runtime.getRuntime();
String OS = System.getProperty("os.name").toLowerCase();
System.out.println("OS="+OS);
try {
if (OS.indexOf("windows 9") > -1) {
p = r.exec("command.com /c set");
} else if ((OS.indexOf("nt") > -1)
|| (OS.indexOf("windows 20") > -1)
|| (OS.indexOf("windows xp") > -1)) {
p = r.exec("cmd.exe /c set");
} else {
// Unix
p = r.exec("env");
}
BufferedReader br = new BufferedReader(new InputStreamReader(p
.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
String[] str = line.split("=");
map.put(str[0], str[1]);
}
} catch (IOException ioe) {
ioe.printStackTrace();
}
return map;
}public static void main(String[] args) {
// getSystemProperties();
getCustomProperties("JAVA_HOME");
}
}
发表评论
-
IO与文件读写---使用Apache commons IO操纵底层读写
2012-10-18 09:59 0【一】Apache commons IO包之IOUtils ... -
Java中使用Runtime和Process类运行外部程序
2012-05-10 19:07 0http://www.cnblogs.com/xxpal/ar ... -
AVA环境变量设置图文教程
2012-04-12 21:39 13041、在【我的电脑】上按右键,选择【属性】 2、选 ... -
Java编程中“为了性能”尽量要做到的一些地方
2012-04-06 23:23 0最近的机器内存又爆 ... -
Java 理论与实践: 正确使用 Volatile 变量
2012-03-04 11:38 795Java 语言中的 volatile 变量可以被看作是一种 “ ... -
java获得实例对象的几种方法
2012-03-04 10:29 1032// 1.new Dog d1 = new Dog() ... -
文件读写锁
2012-03-04 09:42 0一个读写锁支持多个线程同时访问一个对象,但是在同一时刻只有一个 ... -
使用Bouncy Castle API加密和解密
2012-02-13 17:50 750315.3.2 使用Bouncy Castle API加密和解密 ... -
使用Bouncy Castle API创建消息摘要
2012-02-13 17:48 136115.3.1 使用Bouncy Castle API创建消息摘 ... -
利用SATSA高级API进行加解密
2012-02-13 17:47 118015.2.3 利用SATSA高级API进行加解密 除了S ... -
java 加密技术总结
2012-02-13 15:46 962Important Notes In order to ... -
通过反射机制获取位于同一个包下的接口的所有实现类
2012-01-15 00:43 7153public class ClassUtils { ... -
java 反射机制--Phase 1
2012-01-15 00:40 0如何通过反射来获得当前实例的所有成员方法,成员变量,构造函数? ... -
Java数字证书
2012-01-09 20:42 966生成密钥库的参数说明: CN(Common Name名 ... -
java 的继承机制
2011-10-30 10:51 4291.interface 和 interface之间 java接 ...
相关推荐
标题中提到了JVM原理、JVM调优、JVM内存模型和JAVA并发,这些都是Java虚拟机(JVM)相关的核心概念。JVM是运行Java字节码的虚拟计算机,为Java提供了一个跨平台的环境,确保Java程序可以在不同的操作系统上运行而...
Java虚拟机(JVM)执行子系统是Java平台的核心组件之一,它的主要功能是加载、链接并执行Java类文件中的字节码。在深入理解JVM执行子系统之前,我们需要了解Java类文件结构,以及JVM如何与这些类文件交互。 ### ...
SAP JVM 8.1 64位是一个专为SAP系统设计的Java虚拟机,它基于Oracle的Java Development Kit (JDK) 进行优化,以满足SAP应用程序的特定需求。SAP JVM旨在提高性能、可靠性和安全性,同时确保与SAP产品的无缝集成。...
### JVM执行子系统原理 #### 一、类文件结构与字节码指令 **Class类文件结构** Class文件是Java程序编译后产生的文件,...希望这些内容能够帮助读者更好地掌握JVM的相关知识,为进一步的研究和实践打下坚实的基础。
此外,熟悉《JVM Specification》和相关的开源项目(如OpenJDK)是进阶学习的宝贵资源。通过实践,如分析JavaCore和dump文件,可以增强故障排查能力,有效应对内存泄漏、性能瓶颈等常见问题。 总之,JVM不仅是Java...
5. **本机库(Native Library)**:包含操作系统和硬件相关的功能。 ### 类加载过程 类加载分为加载、验证、准备、解析和初始化五个阶段。这个过程确保了只有正确无误的类能够被加载到JVM中。 ### 内存管理 1. **...
JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器...
1. **环境变量设置**:通过设置`CATALINA_OPTS`环境变量,可以在系统级别全局地调整Tomcat中JVM的内存参数。 2. **编辑catalina.bat**:在Tomcat的bin目录下,直接修改catalina.bat文件,替换或添加`-Xmx`, `-Xms`,...
下面将详细讨论SAP JVM的关键组成部分和相关知识点。 1. **SAP JVM的特性**: - **64位支持**:64位版本的JVM可以访问超过4GB的内存,这对于处理大量数据或运行内存密集型应用至关重要。 - **性能优化**:SAP JVM...
此外,JVM的相关技术,如垃圾收集机制、运行时性能优化等,在Android平台上同样有着广泛的应用。 综上所述,JVM和Java特性共同构成了Java技术生态的核心,它们不仅为Java开发者提供了强大的开发工具和语言特性,...
"JVM.zip"可能是一个包含了与JVM相关的工具或示例代码的压缩包,特别是用于获取运行中的JVM系统的参数。这通常是开发人员为了监控和优化Java应用程序性能的重要手段。 在Java中,`SystemInfo`类的出现很可能是为了...
2. **本地JVM监控**:启动后,jvisualvm会自动检测当前系统的JVM实例,并显示相关的监控信息。 3. **远程JVM监控**:与jconsole类似,需要在远程JVM上启动特定的服务,并在jvisualvm中输入服务地址进行连接。 #####...
JVM中的线程是Java程序运行时的执行路径,它依赖操作系统的原生线程实现。在JDK 1.2之后,线程模型为“1:1模型”,即每个Java线程映射到一个操作系统原生线程。 ### 直接内存 直接内存不属于JVM的内存,它属于操作...
【标题】"Tomcat JVM参数调优...总的来说,JVM参数调优是一个涉及内存分配、垃圾回收效率和系统资源平衡的复杂过程。适当的调优能确保Tomcat在处理大量并发请求时保持高效和稳定,同时避免内存问题导致的服务中断。
在JVM启动参数中添加`-Dcom.sun.management.jmxremote`等相关选项。 - **连接远程JVM**:在VisualVM的"Remote"选项卡中,输入远程主机的IP地址、端口号和认证信息,然后点击"Connect"。 - **监控远程应用**:连接...
你可能听说过与Java语言相关的Java虚拟机(JVM)。那么,这里所说的“虚拟”到底意味着什么呢? 通常情况下,Java源文件的扩展名为`.java`,类似于C语言源文件的`.c`扩展名。例如,如果我们的Java程序源代码全部...
JVM的主要组成部分包括类加载器子系统、执行引擎子系统、运行时数据区域组件和本地接口组件。 ##### 2.2 Sun JVM Sun Microsystems 开发的JVM是最常见的JVM实现之一。它支持Java标准版(Java SE)、企业版(Java EE...
总的来说,HeadAnalyzer 4.1.4是WebSphere环境下Java性能调优的重要工具,通过深入解析dump文件,它能帮助我们更好地理解和解决JVM相关的问题,提升系统的稳定性和性能。同时,配合`license`文件,可能还涉及到软件...
Java虚拟机(JVM)是Java程序运行的基础,它是一个抽象的计算机系统,负责执行Java字节码。本文将深入探讨JVM的工作...这本《JVM工作原理学习笔记》应包含了这些内容的详细讲解,对于学习和提升JVM相关知识极具价值。