----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
Java程序在不同操作系统上运行时,要取的平台相关的属性,或者通过一些平台命令来完成一些功能,Java 中的System类和Runtime类来与运行的平台交互。
相信在学毕老师视频的同学对这段代码很熟悉:
import java.util.*;
public class SystemDemo
{
public static void main(String[] args)
{
Properties prop=System.getProperties();//确定当前的系统属性。
// Set<K> keySet() 返回此映射中包含的键的 Set 视图。
// V get(Object key) 返回指定键所映射到的值
//Properties是Hashtable的子类,也就是Map集合的一个子类对象
//可以通过map的方法取出该集合的元素
// System.setProperty("myKey","myValue");//在系统中自定义一些特有信息
// String getvalue=System.getProperty("java.runtime.version");//获取指定属性信息(java运行的版本)
// System.out.println("Value="+getvalue);
for(Object obj:prop.keySet())
{
String value=(String)prop.get(obj);
System.out.println(obj+"-------:"+value);
}
}
}
运行结果 写道
java.runtime.name-------:Java(TM) SE Runtime Environment
sun.boot.library.path-------:D:\TDDOWNLOAD\java\jre\bin
java.vm.version-------:20.0-b01
java.vm.vendor-------:Sun Microsystems Inc.
java.vendor.url-------:http://java.sun.com/
path.separator-------:;
java.vm.name-------:Java HotSpot(TM) Client VM
file.encoding.pkg-------:sun.io
user.country-------:CN
sun.java.launcher-------:SUN_STANDARD
sun.os.patch.level-------:
java.vm.specification.name-------:Java Virtual Machine Specification
user.dir-------:D:\TDDOWNLOAD\javawork\System,Math,Runtime对象\SystemDemo
java.runtime.version-------:1.7.0-ea-b113
java.awt.graphicsenv-------:sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs-------:D:\TDDOWNLOAD\java\jre\lib\endorsed
os.arch-------:x86
java.io.tmpdir-------:C:\Users\ADMINI~1\AppData\Local\Temp\
line.separator-------:
java.vm.specification.vendor-------:Sun Microsystems Inc.
user.variant-------:
os.name-------:Windows 7
sun.jnu.encoding-------:GBK
java.library.path-------:D:\TDDOWNLOAD\java\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;E:\Win7系统封装资料\[3]优化及设置\Windows7优化大师 V1.66 绿色版\;D:\TDDOWNLOAD\java\bin;
java.specification.name-------:Java Platform API Specification
java.class.version-------:51.0
sun.management.compiler-------:HotSpot Client Compiler
os.version-------:6.1
user.home-------:C:\Users\Administrator
user.timezone-------:
java.awt.printerjob-------:sun.awt.windows.WPrinterJob
file.encoding-------:GBK
java.specification.version-------:1.7
java.class.path-------:D:\TDDOWNLOAD\javawork\System,Math,Runtime对象\SystemDemo;D:\TDDOWNLOAD\java\jre\lib\rt.jar;D:\TDDOWNLOAD\java\lib\dt.jar;D:\TDDOWNLOAD\java\lib\tools.jar;D:\TDDOWNLOAD\java\jre\lib\ext\dnsns.jar;D:\TDDOWNLOAD\java\jre\lib\ext\sunec.jar;D:\TDDOWNLOAD\java\jre\lib\ext\sunjce_provider.jar;D:\TDDOWNLOAD\java\jre\lib\ext\sunmscapi.jar;D:\TDDOWNLOAD\java\jre\lib\ext\sunpkcs11.jar;D:\TDDOWNLOAD\java\jre\lib\ext\localedata.jar
user.name-------:Administrator
java.vm.specification.version-------:1.0
java.home-------:D:\TDDOWNLOAD\java\jre
sun.arch.data.model-------:32
user.language-------:zh
java.specification.vendor-------:Sun Microsystems Inc.
awt.toolkit-------:sun.awt.windows.WToolkit
java.vm.info-------:mixed mode, sharing
java.version-------:1.7.0-ea
java.ext.dirs-------:D:\TDDOWNLOAD\java\jre\lib\ext;C:\Windows\Sun\Java\lib\ext
sun.boot.class.path-------:D:\TDDOWNLOAD\java\jre\lib\resources.jar;D:\TDDOWNLOAD\java\jre\lib\rt.jar;D:\TDDOWNLOAD\java\jre\lib\sunrsasign.jar;D:\TDDOWNLOAD\java\jre\lib\jsse.jar;D:\TDDOWNLOAD\java\jre\lib\jce.jar;D:\TDDOWNLOAD\java\jre\lib\charsets.jar;D:\TDDOWNLOAD\java\jre\lib\modules\jdk.boot.jar;D:\TDDOWNLOAD\java\jre\classes
java.vendor-------:Sun Microsystems Inc.
file.separator-------:\
java.vendor.url.bug-------:http://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding-------:UnicodeLittle
sun.cpu.endian-------:little
sun.desktop-------:windows
sun.cpu.isalist-------:pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86
其中一些系统属性我们很熟悉,System类还提供获取系统所有环境变量的方法,System.getenv()看下系统变量和系统属性有什么不同,供黑马的学员对比学习一下。
import java.util.*;
public class TestSystem
{
public static void main(String[] args)
{
Map<String,String> env=System.getenv();//获取系统所有的环境变量
for(String name:env.keySet())
{
System.out.println(name+"---------->"+env.get(name));
}
}
}
运行结果对比: 写道
--------------------配置: <默认>--------------------
USERPROFILE---------->C:\Users\Administrator
ProgramData---------->C:\ProgramData
PATHEXT---------->.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
JAVA_HOME---------->D:\TDDOWNLOAD\java\
TEMP---------->C:\Users\ADMINI~1\AppData\Local\Temp
SystemDrive---------->C:
ProgramFiles---------->C:\Program Files
Path---------->C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;E:\Win7系统封装资料\[3]优化及设置\Windows7优化大师 V1.66 绿色版\;D:\TDDOWNLOAD\java\bin;
HOMEDRIVE---------->C:
PROCESSOR_REVISION---------->170a
=C:---------->C:\Program Files\JCreator Pro\CodeSnippets
_DFX_INSTALL_UNSIGNED_DRIVER---------->1
USERDOMAIN---------->PC-20111018DMXJ
ALLUSERSPROFILE---------->C:\ProgramData
DEVMGR_SHOW_DETAILS---------->1
PROCESSOR_IDENTIFIER---------->x86 Family 6 Model 23 Stepping 10, GenuineIntel
SESSIONNAME---------->Console
TMP---------->C:\Users\ADMINI~1\AppData\Local\Temp
CommonProgramFiles---------->C:\Program Files\Common Files
=::---------->::\
LOGONSERVER---------->\\PC-20111018DMXJ
PROCESSOR_ARCHITECTURE---------->x86
FP_NO_HOST_CHECK---------->NO
OS---------->Windows_NT
HOMEPATH---------->\Users\Administrator
PROCESSOR_LEVEL---------->6
1830B7BD-F7A3-4c4d-989B-C004DE465EDE---------->c4:f71da8
=D:---------->D:\TDDOWNLOAD\javawork\System,Math,Runtime对象
LOCALAPPDATA---------->C:\Users\Administrator\AppData\Local
COMPUTERNAME---------->PC-20111018DMXJ
windir---------->C:\Windows
SystemRoot---------->C:\Windows
NUMBER_OF_PROCESSORS---------->2
USERNAME---------->Administrator
PUBLIC---------->C:\Users\Public
PSModulePath---------->C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
ComSpec---------->C:\Windows\system32\cmd.exe
APPDATA---------->C:\Users\Administrator\AppData\Roaming
处理已完成。
Runtime类
Runtime类代表java程序的运行环境,每个Java程序都有一个与之对应的Runtime实例,通过该对象与运行环境相连
可以访问JVM的相关信息,如处理器数量(我的机子是双核的,数量为2),内存信息等
public class RuntimeDemo
{
public static void main(String[] args) throws Exception
{
Runtime rt=Runtime.getRuntime();
System.out.println("总内存数:"+rt.totalMemory());
System.out.println("处理器数量:"+rt.availableProcessors());
rt.exec("notepad.exe");//运行记事本程序
}
}
这里直接启动一条进程来运行操作系统命令
java还提供了一些常用类,如:String、Math等,在此不赘述了。
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
分享到:
相关推荐
通过阅读《黑马程序员------类加载器学习注意点》这篇博文,以及对`classLoader.txt`文件的分析,我们可以更深入地掌握类加载器的相关知识,这对于解决实际问题和提升系统性能具有极大的帮助。在实践中不断探索和...
JavaBean操作类的学习是Java程序员必备的技能之一,它涉及属性设置、获取、事件处理等基本概念。以下是对JavaBean及其操作的详细解释: 1. **JavaBean规范**: - **命名规则**:通常,JavaBean的类名应该以"Bean...
### 黑马程序员入学Java精华总结 #### 一、Java概述与基础知识 1. **何为编程?** - 编程是指通过编写计算机能够理解的指令来解决问题或完成特定任务的过程。这些指令通常被组织成算法,并使用某种编程语言实现。...
Java 8是Java语言发展的一个重要里程碑,引入了许多创新性的特性和改进,...黑马程序员的Java8新特性详解笔记和源码提供了深入学习这些概念的资源,结合实际的代码示例,将有助于你更好地理解和掌握Java 8的核心特性。
行时所需要的基本条件和许多 Java 基础类,例如,IO 类、GUI 控件类、网络类等。JRE 是提供给 普通用户使用的,如果你只想运行别人开发好的 Java 程序,那么,你的计算机上必须且只需安装 JRE。 JDK(Java ...
【梅兰商城项目实战】是黑马程序员推出的一个全面的电商项目开发教程,旨在帮助学员深入理解和实践电商系统的构建。这个项目实战涵盖了从需求分析、设计、编码到测试的全过程,旨在提升学员在实际开发环境中的技能和...
《黑马程序员_Java基础辅导班教程课件[第01期]第15天》是针对初学者设计的一堂深入浅出的Java编程课程,旨在帮助学员巩固和深化Java基础知识。这堂课件涵盖的内容广泛且实用,对于想要在IT行业中开启Java开发旅程的...
《黑马程序员Java面试宝典》是一本...通过《黑马程序员Java面试宝典》的学习,你可以系统地复习和掌握这些知识点,提高自己的面试竞争力。书中的问题和解答将帮助你更好地理解Java编程的本质,提升在面试中的自信心。
根据给定的文件信息,以下是对相关知识点的详细解析: ### 第一部分知识点 #### 1. 面试大概流程 面试通常分为以下几个步骤: 1. **自我介绍**:介绍自己的基本信息、教育背景、工作经历等。 2. **编程题**:通过...
本套教程“2018年黑马程序员全套Java教程”针对的是第二天的学习内容,主要涵盖了数据类型转换、算数运算符、比较运算符、逻辑运算符以及三元运算符,同时也涉及到了简单方法的定义与调用。这些知识点是Java编程的...
"黑马程序员网上图书商城中的毕业设计资料,代码,数据库设计论文等" 描述进一步细化了这些资源的来源——黑马程序员的网上图书商城,暗示这可能是一个基于在线书店的系统设计项目。资源不仅限于理论知识,还有实际...
### 黑马-JAVA中州养老项目2024语言汇编知识点概览 #### 一、基础数据开发-服务管理(Day01-Day03) **知识点概述:** 1. **服务管理的设计与实现** - 掌握服务管理模块的架构设计原则。 - 实现基于Java的...
### 黑马程序员入学Java知识 #### Java概述与基础知识 1. **何为编程?** - 编程是通过特定的计算机语言来编写指令,让计算机执行一系列任务的过程。 2. **Java语言概述,历史、特点** - **概述**:Java是一种...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。...配合"黑马程序员_(适合初学者入门的Java基础视频).txt"文本资料,学习者还可以查阅相关知识点和代码示例,进一步提高学习效率。
Java的输入/输出(IO)系统是编程中的一个重要部分,特别是在开发服务器端应用程序、文件处理以及...通过阅读"IO-黑马程序员Java学习笔记",开发者可以系统地学习并实践这些知识点,从而提升自己的Java IO编程能力。
### 黑马程序员_超全面的JavaWeb教程-视频+源码笔记 #### JavaWeb基础知识概览 在深入了解本教程之前,我们先来简要回顾一下JavaWeb的基础知识。JavaWeb是利用Java语言开发Web应用的技术集合。它主要包括Servlet、...
《黑马程序员毕向东Java基础课堂完整版文档》是一份全面且深入的Java学习资源,...通过这份文档的学习,读者能够扎实地掌握Java编程技术,为后续的Java Web开发、Android开发或其他Java相关领域的学习打下坚实的基础。
《黑马程序员JAVA面试宝典2018年5月最新...总的来说,《黑马程序员JAVA面试宝典2018年5月最新版》是一本全面覆盖Java开发各方面的面试准备书籍,它能够帮助Java开发者系统地复习和提升技能,以应对日益激烈的竞争环境。
【标题】中的“2017黑马程序员第一天Hibernate讲义,笔记,源码”表明这是一个关于Hibernate框架的初学者教程,由知名的IT培训机构黑马程序员在2017年制作,内容可能包括讲义、学习笔记以及相关的源代码示例。...
这里的模型可能包含与图书相关的实体类,如`Book`、`BorrowRecord`等,以及对应的业务处理类,它们直接与数据库进行交互,执行增删改查等操作。 2. **View(视图)**:负责展示数据,通常由JSP(JavaServer Pages)...