当前位置: 首页 > news >正文

制作京东一样的网站外贸推广公司

制作京东一样的网站,外贸推广公司,阳江企业网站建设,武昌网站建设公司Java启动命令是所有java应用程序的入口,通过它来启动Java运行时环境,并加载相关的class。不过由于IDE的盛行,我们Java程序员中的大多数并不是非常的了解Java启动命令。本文希望做一个Java启动命令的汇总,和各位同道分享&#xff0…

Java启动命令是所有java应用程序的入口,通过它来启动Java运行时环境,并加载相关的class。不过由于IDE的盛行,我们Java程序员中的大多数并不是非常的了解Java启动命令。本文希望做一个Java启动命令的汇总,和各位同道分享,也便于日后作为自己的参考。

Java启动命令语法

Java启动命令有两个,java以及javaw,它们的唯一区别是javaw不会启动一个控制台窗口(启动失败的时候会弹出附有错误信息的窗口),而java会。不希望有控制台的时候用javaw,其它时候用java。它们的语法结构都一样,只需要记住其中一个即可。调用程序有两种方式,指定Class以及指定jar文件,具体的语法如下:

  • java [options] class [arguments]
  • java [options] -jar file.jar [arguments]
  • javaw [options] class [arguments]
  • javaw [options] -jar file.jar [arguments]

其中[options]表示Java运行环境的可选配置信息,会影响java运行环境,是性能调优的关键所在,可以传多个选择项。class表示的是包含main函数的class名称(含包名)。-jar和file.jar配对使用,-jar指示用jar方式启动,而file.jar表示的时jar文件的名称,替换为自己的jar文件名字即可。[arguments]表示的是程序自身的参数,会被传到main函数的参数数组里面,为程序自己所使用。

Java启动命令可选项(options)

Java启动命令可选项(options)大致可分为标准和非标准两种,非标准的可选项不保证在所有平台上都实现,并且未来的版本中可能会被修改且不告知,总之就是不稳定(Unstable)。不过有的非标准可选项还是非常有用的,后面我们会谈到。

标准可选项(Standard options)

  • -client-server
    以clien或者server模式启动,二选一,Java运行时环境会依场景来优化自己的配置策略。值得指出的是64位的Java不支持client模式,默认就是server。不同平台的默认配置可以参考Server-Class Machine Detection

  • -cp-classpath
    最重要的可选项之一,指定Java运行时环境搜索class的路径。-cp只是-classpath的简写,做相同的事情,用其中之一即可。多个路径用英文里面的分号分隔。如果-cp和-classpath都没有使用,CLASSPATH环境变量也没用设定,那么就是当前路径(.)。

  • -Dproperty=value
    设定系统属性值,比如编码-Dfile.encoding=UTF-8。可以设定一些系统使用的属性,也可以用来向程序传递值,比如程序的根目录。 可以通过System.getProperty("keyname")来获取属性。

  • -help-?
    都是要求显示帮助信息

  • disableassertions[:packagename...|:classname]da[:packagename...|:classname]
    禁用断言,可以指定包名(注意包后面的三个点)或者class的名称。默认就是禁用的。da只是disableassertions的缩写,使用方法完全一样。 禁用包: da:org.slf4j...
    禁用类: da:org.slf4j.LoggerFactory

  • enableassertions[:packagename...|:classname]ea[:packagename...|:classname]
    启用断言,可以指定包名(注意包后面的三个点)或者class的名称。ea只是enableassertions的缩写,使用方法完全一样。 启用包: ea:org.slf4j...
    启用类: ea:org.slf4j.LoggerFactory

  • disablesystemassertionsdsa
    禁用系统类(syetem class)断言

  • enablesystemassertionsesa
    启用系统类(syetem class)断言

  • -version-showversion
    这两个都显示Java的版本信息,不过后者会把help的信息也显示出来。

  • verbose:class, verbose:gc, "verbose:jni"
    verbose:class显示class加载信息,verbose:gc显示Java垃圾回收的信息。verbose:jni显示JNI(Java Native Interface)信息。

  • -agentlib:agentlibname[=options]-agentpath:pathtoagent[=options]
    都是加载本地代理库(Native Agent Library),-agentlib只需要library的名称,且会根据不同的操作系统转为对应的文件(Windows为DLL)。 -agentpath指定library的绝对路径。

非标准可选项(Nonstandard Options)

非标准的可选项都以-X开始,其中的部分选项如下:

  • -X
    显示所有非标准选项的信息。看看都有些什么非标准选项吧。java -X

  • -Xms<size>
    设置Java堆的初始化大小。例如 -Xms1024m,Java堆的初始化大小就设置为1G。

  • -Xmx<size>
    设置Java堆的最大值。例如 -Xmx3072m,Java堆的最大值就设置为3G。

  • -Xss<size>
    设置Java线程栈的值。例如 -Xss128m,Java线程栈的值就设置为128兆。

  • -Xnoclassgc
    禁用Java垃圾回收器。

  • -Xincgc
    启用Java增量式垃圾回收器。

  • -Xmixed
    解释模式和编译模式混合执行

  • -Xint
    仅解释模式执行

  • -Xshare:on-Xshare:off-Xshare:auto 设定类数据共享CDS(Class data sharing)是否开启。-Xshare:on要求一定要用共享的类数据;-Xshare:auto表示让系统自己判断 是否有类共享数据,有就用,没有不用;-Xshare:off禁用共享类数据。

  • -Xcheck:jni
    针对JNI函数做额外的检查

不稳定(Unstable)的选项

不稳定的选项当然是非标准的,都以-XX开头。这一类参数有很多,暂时只列其中的几个:

  • -XX:PermSize<=size>-XX:MaxPermSize<=size>
    设置Java永久保存区域(Permanent Generation Space)的大小。PermSize设置初始值,MaxPermSize设置最大值。 该区域主要存储class的信息,且不会被 垃圾回收器回收,如果加载的class过多,就会报错:java.lang.OutOfMemoryError: PermGen space。 -XX:PermSize=64m -XX:MaxPermSize=128m,表示Java永久保存区域大小初始化问为64兆,最大为128兆。

  • -XX:+UseParallelGC
    开启并行Java回收器

  • -XX:+PrintGCDetails
    显示比-verbose:gc更多更准确的垃圾回收信息

  • -XX:+TraceClassLoading
    显示类加载以及卸载的信息

程序参数(arguments)

class或者jar文件之后的字符串会传给main函数的String[] args参数,多个参数用空格隔开。如果某一个参数包含多个单词,那么需要用引号包起来。当有很多程序参数,且有的必填,有的可选的时候,如果不设计好,顺序是很头疼的问题。一种解法是传键值对(key=value),完全不用在意参数的顺序。在main函数里面把键值对解析成Map,然后再校验以及使用。简单的示例代码如下:

public static void main(String[] args) {Map<String, String> arguments = getArguments(args);for (String key : arguments.keySet()) {System.out.println(key + "=" + arguments.get(key));}}public static Map<String, String> getArguments(String[] args) {Map<String, String> arguments = new HashMap<String, String>();if (args == null || args.length == 0) {return arguments;}for (String arg : args) {int index = arg.indexOf("=");// 没有=,或者=是第一个,都出错。if (index < 1) {throw new RuntimeException("param must be key value pair");}String key = arg.substring(0, index);String value = arg.substring(index + 1);arguments.put(key, value);}return arguments;}

参考链接

  • Launches Java application
  • Server-Class Machine Detection
  • IBM User Guide for Java
http://www.ds6.com.cn/news/3452.html

相关文章:

  • 做恒指网站做一个电商平台大概需要多少钱
  • 手机网站商城建设免费发布推广的平台有哪些
  • 创意做网站公司排名优化软件
  • 织梦网站建设博客营销推广方式有哪些
  • 老专家个人网站企业建站都有什么网站
  • 朝阳市做网站的公司宁波seo排名优化价格
  • 搜狗搜索引擎推广seo整站怎么优化
  • 评论回复网站怎么做百度如何发布作品
  • php网站开发工程师教程seo技术外包公司
  • 怎么给人介绍自己做的网站百度搜索词热度查询
  • wordpress上传视频慢seo项目是什么
  • 石大网页设计与网站建设seo内容优化是什么意思
  • 一整套vi系统包括哪些泉州seo按天收费
  • 政府门户网站建设需求临汾网络推广
  • 国外免费b2b网站大全黄页长春网站搭建
  • 假赌博网站怎么做抖音关键词优化
  • 广州网站设计公司兴田德润在哪儿百度推广登录账号首页
  • 关于做网站的总结上海网站排名优化怎么做
  • 广州站改造最新消息百度竞价
  • 目录搜索引擎网站济南seo优化外包服务公司
  • 手机能建设网站吗拉新人拿奖励的app
  • 专业网站建设科技公司seo优化方案项目策划书
  • 先锋网站大全免费b2b网站深圳网络优化公司
  • cms网站开发php做网络推广需要多少钱
  • 浏阳网站建设tvshownseo教程视频
  • 苏州工业园区发布vue seo 优化方案
  • 网站的切换语言都是怎么做的关键字
  • 太原制作网站的工作室网址收录查询
  • 智慧景区网站服务建设html静态网页制作
  • 网站 购买重庆seo网络推广关键词