zoukankan      html  css  js  c++  java
  • java的System.getProperty()方法可以获取的值

    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

    文件分隔符(在 UNIX 系统中是“/”)

    path.separator

    路径分隔符(在 UNIX 系统中是“:”)

    line.separator

    行分隔符(在 UNIX 系统中是“/n”)

    user.name

    用户的账户名称

    user.home

    用户的主目录

    user.dir

    用户的当前工作目录

    获取的代码示例:

    1. public class SystemProperty {  
    2.     public static void main(String args[]) {     
    3.     System.out.println("java_vendor:" + System.getProperty("java.vendor"));     
    4.     System.out.println("java_vendor_url:"     
    5.              + System.getProperty("java.vendor.url"));     
    6.     System.out.println("java_home:" + System.getProperty("java.home"));     
    7.     System.out.println("java_class_version:"     
    8.              + System.getProperty("java.class.version"));     
    9.     System.out.println("java_class_path:"     
    10.             + System.getProperty("java.class.path"));     
    11.     System.out.println("os_name:" + System.getProperty("os.name"));     
    12.     System.out.println("os_arch:" + System.getProperty("os.arch"));     
    13.     System.out.println("os_version:" + System.getProperty("os.version"));     
    14.     System.out.println("user_name:" + System.getProperty("user.name"));     
    15.     System.out.println("user_home:" + System.getProperty("user.home"));     
    16.     System.out.println("user_dir:" + System.getProperty("user.dir"));     
    17.     System.out.println("java_vm_specification_version:"     
    18.             + System.getProperty("java.vm.specification.version"));     
    19.     System.out.println("java_vm_specification_vendor:"     
    20.             + System.getProperty("java.vm.specification.vendor"));     
    21.     System.out.println("java_vm_specification_name:"     
    22.             + System.getProperty("java.vm.specification.name"));     
    23.     System.out.println("java_vm_version:"     
    24.             + System.getProperty("java.vm.version"));     
    25.     System.out.println("java_vm_vendor:"     
    26.             + System.getProperty("java.vm.vendor"));     
    27.     System.out     
    28.             .println("java_vm_name:" + System.getProperty("java.vm.name"));     
    29.     System.out.println("java_ext_dirs:"     
    30.             + System.getProperty("java.ext.dirs"));     
    31.     System.out.println("file_separator:"     
    32.             + System.getProperty("file.separator"));     
    33.     System.out.println("path_separator:"     
    34.             + System.getProperty("path.separator"));     
    35.     System.out.println("line_separator:"     
    36.             + System.getProperty("line.separator"));     
    37. }     

    =======================================================================

    System.setProperties( "proxySet", "true" ); 
    System.setProperties( "proxyHost", "192.168.31.117" ); 
    System.setProperties( "proxyPort", "80" ); 
    这里的proxySet,proxyHost,proxyPort等等这些系统的属性名称是从哪里知道的?

      ——通过JDK文档中对java.lang.system的static Properties getProperties()方法的介绍,可以获知所有可用属性的含义。

      ——根本没有proxySet,proxyHost和proxyPort,这些是user defined property,那么用户定义的属性如何起作用的?

    ***JavaVM实现Proxy的方法***

          要想让java应用使用代理连接网络,只需要设置一下system properties,有两种方法可以设置,一是直接在java代码里面调用System.setProperty()方法,还有就是通过-D选项添加java虚拟机参数,如  java -Dhttp.proxyHost=192.168.254.254     -Dhttp.proxyPort=9000 ,当然也可以指定不使用代理访问的网站或者主机,http.nonProxyHosts属性指定不使用代理访问的域。示例如下所示:

          System.setProperty("http.proxyHost", "192.168.254.254");

          System.setProperty("http.proxyPort", "9000");

          System.setProperty("http.nonProxyHosts", "localhost");

          如果你想使用ftp代理可以以相同的方式设定如下系统属性:ftp.proxyHost, ftp.proxyPort, and 使用socket代理可以设定socks.ProxyHost socks.ProxyPort也可以使用如下代码:

    1. Properties sysProperties = System.getProperties();   
    2. //Specify proxy settings   
    3. sysProperties.put("proxyHost", "myhost");//myhost设置为代理的地址   
    4. sysProperties.put("proxyPort", "myport");//myport设置为代理端口  
    5. sysProperties.put("proxySet",  "true");  

    补充:

          Java网络代理服务器环境变量
          Java 是一种面向对象的网络语言,Java 的JVM已经提供了可以设置与网络代理服务相关的环境变量,这些环境变量是按照键值名(Key)和值(Value)实现配置的。而这些环境变量与应用程序息息相关。比如:大家比较熟悉的classpath环境变量等。从表面上看,JVM的环境变量有点类似Windows的*.ini,该环境变量是按照纯文本的格式存储的。

          Http 代理服务是目前Internet环境下,应有最为广泛的代理服务。一般的网络浏览器,如:微软的IE和网景的Netscape都提供对Http代理服务的配置选项。在Java应用程序中,对Http代理服务的使用是通过配置Java 虚拟机的JVM的环境变量来实现的。针对http代理服务,Java 虚拟机提供了如下环境变量:

          http.proxySet 该环境变量用以设置应用程序是否使用http协议代理,值为True/False。 
                注意:在设置环境变量时候,变量值True/False是按照字符串的形式进行设置的。 
          http.proxyHost 该环境变量用以设置应用程序所使用的http协议代理服务器的主机,比如:我们使用 http://172.14.10.34 作为http的代理服务器主机。 
          http.proxyport 该环境变量用以设置应用程序所使用的http协议代理服务器的主机的端口号。比如:我们使用 http://172.14.10.34 的8080端口作为http的代理服务器。

    如:将Java应用程序的Http代理服务器设为http://172.14.10.34,端口为8080,可以使用如下代码: 
    String host="http://172.14.10.34";
    String port="8080";
    System.setproperty("http.proxySet", "true");
    System.setproperty("http.proxyHost", host);
    System.setproperty("http.proxyport", port);


    一旦设置好了Java应用程序的http代理环境变量,Java应用程序就可以通过http代理服务透明地访问与http相关的网络资源。

     

  • 相关阅读:
    我的DBA之路:MYSQL数据类型
    我的DBA之路:MYSQL架构
    我的DBA之路:安装MySQL
    Java多线程系列之:显示锁
    Java多线程系列之:原子操作CAS
    Java多线程系列之:线程的并发工具类
    Java并发AQS原理分析(二)
    Java并发AQS原理分析(一)
    MySQL聚集索引和非聚集索引
    快速失败机制--fail-fast
  • 原文地址:https://www.cnblogs.com/snailrun/p/2656791.html
Copyright © 2011-2022 走看看