关于Java中使用的System对象,我们经常使用的是Systme.out.print ,而且也仅仅知道这是一个可以在控制台打印出语句,而没有去深究它的内在实现原理。下面我就详细地介绍System对象。

1.JDK中有如下定义:.The System class contains several useful class fields and methods. It cannot be instantiated. 
也就是说System对象是不能被实例化的,只能通过调用它的属性和方法来使用它。

2.System中的属性 Systme.in 是InputStream类型的,可以接受控制台输入的信息; System.out 和 System.err 都是PrintStream类型的 ,可以在控制台输出信息。

3.System.getProperties() 返回的是Properties类型的对象,而返回的信息是Java虚拟机启动过程中所要加载的环境配置信息。可以通过下面的代码获取和输出信息,由于Properties是HashTable的一个子类,因此可以通过Map方法取出该集合中的元素

Java代码

[java] view plaincopy
  1. package javase.day18;
  2. import java.util.Properties;
  3. public class SystemDemo {
  4. public static void main(String[] args) {
  5. // TODO Auto-generated method stub
  6. Properties prop=System.getProperties();
  7. for(Object key:prop.keySet()){
  8. String keyStr=(String)key;
  9. String value=prop.getProperty(keyStr);
  10. System.out.println(keyStr+" --- "+value);
  11. }
  12. }
  13. }

结果:

控制台输出系统环境配置信息:

java.runtime.name --- Java(TM) SE Runtime Environment
sun.boot.library.path --- C:\Java\developerEnv\Java\jdk1.6.0_16\jre\bin
java.vm.version --- 14.2-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
sun.java.launcher --- SUN_STANDARD
user.country --- CN
sun.os.patch.level --- Service Pack 3
java.vm.specification.name --- Java Virtual Machine Specification
user.dir --- D:\workspace\BlackHorse
java.runtime.version --- 1.6.0_16-b01
java.awt.graphicsenv --- sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs --- C:\Java\developerEnv\Java\jdk1.6.0_16\jre\lib\endorsed
os.arch --- x86
java.io.tmpdir --- C:\DOCUME~1\CHENGR~1\LOCALS~1\Temp\
line.separator --- 
......

......

......

使用以下代码也可以使控制台输出系统环境配置信息:

[java] view plaincopy
  1. public class SystemDemo {
  2. public static void main(String[] args) {
  3. System.getProperties().list(System.out);
  4. }
  5. }

4.可以通过System对象在系统中自定义一些特有的信息:

System.setProperty(myKey , myValue);

另外需要注意的一点是: 所谓的 system porperty,system 指的是 JRE (runtime)system,不是指 OS。 
System.setProperty("net.jxta.tls.principal", "client"); 
System.setProperty("net.jxta.tls.password", "password"); 
System.setProperty("JXTA_HOME",System.getProperty("JXTA_HOME","client")); 
可以利用系统属性来加载多个驱动

java基础学习笔记——system相关推荐

  1. 【Java基础学习笔记】- Day11 - 第四章 引用类型用法总结

    Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 Java基础学习笔记 - Day11 - 第四章 引用类型用法总结 4.1 class作为成员变量 4.2 interface作为成 ...

  2. Java中大数据数组,Java基础学习笔记之数组详解

    摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...

  3. 尚学堂JAVA基础学习笔记_2/2

    尚学堂JAVA基础学习笔记_2/2 文章目录 尚学堂JAVA基础学习笔记_2/2 写在前面 第10章 IO技术 1. IO入门 2. IO的API 3. 装饰流 4. IO实战 5. CommonsI ...

  4. 【已完结!】Java基础--学习笔记(零起点打开java世界的大门)--博客汇总表【附:视频、工程源码、资料、详细笔记】

    java零基础入门到精通(2019版)[黑马程序员] 视频+资料(工程源码.笔记)[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:z ...

  5. Java基础学习笔记(二)_Java核心技术(进阶)

    本篇文章的学习资源来自Java学习视频教程:Java核心技术(进阶)_华东师范大学_中国大学MOOC(慕课) 本篇文章的学习笔记即是对Java核心技术课程的总结,也是对自己学习的总结 文章目录 Jav ...

  6. Java基础学习笔记(三)_Java核心技术(高阶)

    本篇文章的学习资源来自Java学习视频教程:Java核心技术(高阶)_华东师范大学_中国大学MOOC(慕课) 本篇文章的学习笔记即是对Java核心技术课程的总结,也是对自己学习的总结 文章目录 Jav ...

  7. Java基础(学习笔记)

    其他文章链接 Java基础 Java集合 多线程 JVM MySQL Redis docker 计算机网络 操作系统 文章目录 前言 1.⾯向对象和⾯向过程的区别 2.Java 和 C++的共性与区别 ...

  8. Java基础学习笔记(完结)

    Java基础 前言 一.Java基础语法 1.注释 2.标识符 3.数据类型 4.类型转换 5.变量.作用域.常量 6. 运算符 二.Scanner与流程控制 1. Scanner对象 2. 流程控制 ...

  9. 【学习记录-java】Java基础学习笔记

    学习Java的一些笔记 前言 java中字符串的比较 Stream 流之 sorted 运算符 Java包(package)的命名规范&规则 SWITCH CASE java中import作用 ...

最新文章

  1. oracle distinct关键字过滤掉重复记录
  2. CVPR‘22 最新106篇论文分方向整理|包含目标检测、动作识别、图像处理等32个方向
  3. 高通Vuforia优化目标检测与跟踪稳定性
  4. python动态生成数据库表_Python-Flask:动态创建表的示例详解
  5. HTML5 云知梦自觉,记录知识 点
  6. 电子工业版了解计算机教案,三年级上册信息技术教案-4.1计算机中的文件和文件夹|电子工业版(宁夏)...
  7. 【golang】golang获取客户端ip
  8. R语言 数据抽样(数据失衡处理、sample随机抽样、数据等比抽样、交叉验证抽样)
  9. OSChina 周五乱弹 —— IG wxz 请联系小小编辑付钱删帖
  10. java实习面试题整理
  11. 龙芯CPU频率为什么上不去?
  12. malloc、calloc、realloc
  13. 【总结】1361- package.json 与 package-lock.json 的关系
  14. (中石油七)问题 J: 位置2016(水题)
  15. IDE新建gradle liferay workspace项目没有项目目录问题解决方案
  16. 第五代TTS语音芯片SYN8086性能再突破
  17. A5931三相无传感器 BLDC 风扇驱动器 IC
  18. 基于Wallpaper Engine的html插件罗盘时钟实现及简易桌面替换
  19. leaflet 实现左卷帘效果 (代码示例045)
  20. 小鹅通课程下载(一)

热门文章

  1. x265笔记_4_CompressCTU源码分析
  2. 查看变量 IFS 的值
  3. Vue-axios使用QS(QueryString)插件,Vue-axios无法发送参数给后端(包含但不限于php)。
  4. 连接已失效_电信运营商物联网连接管理平台的研究及对比分析
  5. DNA配对找对象?为了让年轻人结婚生孩子,日本有多拼?
  6. matlab二维色温图,怎样在二维摄影画面中营造纵深立体感?试试这9个用光构图技巧吧...
  7. 计算机视觉(2)随记
  8. sas mysql乱码_SAS 数据步 常见错误汇总之1-上
  9. reading 摘录二
  10. 天天生鲜项目实战(一)