java启动参数
① javaWeb程序启动时怎么获取或设置系统参数
方法都是想出来的,介绍一种, 可以把要在启动时运行的放在一个单独的Servlet的init()方法中 在web.xml中配置这个servlet的load-on-startup 属性值大于等于0就行了,如果小于0或不设置则是在访问此servlet时才加载 至于设置为几如果要优先其他执行那就设置的低些,相反就设置高些 程序启动时会根据load-on-startup的值由低到高顺序加载
② 启动JAVA程序时,参数-Xms及Xmx有什么用
-Xms是用来设置你的应用程序能够使用的最大内存数,如果程序要花很大内存的话,那就需要修改增加此数的值。
Xms是用它来设置程序初始化的时候内存栈的大小,增加这个值的话你的程序的启动性能会得到提高。
所以根据程序的大小,还有电脑的实际配置,来进行这两个的参数配置即可,参数的单位都是m(兆)。
Java简介
Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
主要组成
Java由四方面组成:
●Java编程语言,即语法。
●Java文件格式,即各种文件夹、文件的后缀。
●Java虚拟机(JVM),即处理*.class文件的解释器。
●Java应用程序接口(Java API)。
体系
Java分为三个体系,分别为:
Java SE(J2SE,Java2 Platform Standard Edition,标准版),
JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企业版),
Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。
③ linux 如何查看java启动参数
public static void main(String args[]){
//args 就是命令行参数
}
环境参数
System
static Map<String,String>
getenv()
Returns an unmodifiable string map view of the current system environment.
static Properties
getProperties()
Determines the current system properties.
④ 怎么给JVM加启动参数
有时候程序会碰到java.lang.OutOfMemoryError,这个主要是JVM启动参数没有配好引起的,打开eclipse的eclipse.ini会看到如下参数:
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
-vmargs:用来说明后面的就是JVM的参数了
-Xms:JVM初始分配的堆内存
-Xmx:JVM最大允许分配的堆内存,按需分配
-XX:PermSize:JVM初始分配的非堆内存
-XX:MaxPermSize:JVM最大允许分配的非堆内存,按需分配
⑤ 如何修改jvm启动参数
用java命令查看。
用java -option进行修改参数。
还有tomcat,eclipse启动时通过配置文件加载的。
详细如下:
安装Java开发软件时,默认安装包含两个文件夹,一个JDK(Java开发工具箱),一个JRE(Java运行环境,内含JVM),其中JDK内另含一个JRE。如果只是运行Java程序,则JRE已足够;而JDK则只有开发人员才用到。
一、配置JVM内存
1.配置JVM内存的参数
-XmxJavaHeap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;
-XmsJavaHeap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
2.如何配置JVM内存分配:
(1)当在命令提示符下启动并使用JVM时(只对当前运行的类生效)
java-Xmx128m-Xms64m-Xmn32m-Xss16mTest
(2)当在集成开发环境下(如eclipse)启动并使用JVM时:
第一种设置方法:
在eclipse根目录下打开eclipse.ini,默认内容为(这里设置的是运行当前开发工具的JVM内存分配):
-vmargs-Xms40m-Xmx256m-vmargs表示以下为虚拟机设置参数,可修改其中的参数值,,另外,eclipse.ini内还可以设置非堆内存,如:-XX:PermSize=56m,-XX:MaxPermSize=128m。
此处设置的参数值可以通过以下配置在开发工具的状态栏显示:
在eclipse根目录下创建文件options,文件内容为:org.eclipse.ui/perf/showHeapStatus=true
修改eclipse根目录下的eclipse.ini文件,在开头处添加如下内容:
-debugoptions-vmjavaw.exe重新启动eclipse,就可以看到下方状态条多了JVM信息。
第二种设置方法:
打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效)
编辑当前使用的JRE,在缺省VM参数中输入:-Xmx128m-Xms64m-Xmn32m-Xss16m
第三种设置方法:
打开eclipse-运行-运行-Java应用程序(只对所设置的java类生效)
选定需设置内存分配的类-自变量,在VM自变量中输入:-Xmx128m-Xms64m-Xmn32m-Xss16m
注:如果在同一开发环境中同时进行了第二种和第三种设置,则第二种设置生效,第三种设置无效,如:
开发环境的设置为:-Xmx256m,而类Test的设置为:-Xmx128m-Xms64m,则运行Test时生效的设置为:
-Xmx256m-Xms64m
(3)当在服务器环境下(如Tomcat)启动并使用JVM时(对当前服务器环境下所以Java程序生效):
a.设置环境变量:
变量名:CATALINA_OPTS
变量值:-Xmx128m-Xms64m-Xmn32m-Xss16m
b.打开Tomcat根目录下的bin文件夹,编辑catalina.bat,将其中的%CATALINA_OPTS%(共有四处)替换为:-Xmx128m-Xms64m-Xmn32m-Xss16m
二、查看配置JVM内存信息
Runtime.getRuntime().maxMemory();//最大可用内存,对应-Xmx
Runtime.getRuntime().freeMemory();//当前JVM空闲内存
Runtime.getRuntime().totalMemory();//当前JVM占用的内存总数,其值相当于当前JVM已使用的内存及freeMemory()的总和
关于maxMemory(),freeMemory()和totalMemory():
maxMemory()为JVM的最大可用内存,可通过-Xmx设置,默认值为物理内存的1/4,设值不能高于计算机物理内存;
totalMemory()为当前JVM占用的内存总数,其值相当于当前JVM已使用的内存及freeMemory()的总和,会随着JVM使用内存的增加而增加;
freeMemory()为当前JVM空闲内存,因为JVM只有在需要内存时才占用物理内存使用,所以freeMemory()的值一般情况下都很小,而JVM实际可用内存并不等于freeMemory(),而应该等于maxMemory()-totalMemory()+freeMemory()。及其配置JVM内存分配。
⑥ java启动参数重复时,是前面的参数生效还是后面的生效
Java的参数实际上是传给main的字符串数组的,所以所有参数都会生效,相当于这个数组含有如下内容。
至于程序要使用哪些参数就不知道了。如果使用的是后面的前面的就没用。
jvm的参数里应该是后面的参数生效,因为后面的参数会覆盖前面的参数。
⑦ java main函数怎么设置参数
如果用抄命令的方式运袭行java程序,在运行命令后面添加参数值即可,例如:
普通java运行命令:java helloworld
加参数运行命令:java helloworld 张三
普通java运行命令:java -jar test.jar
加参数运行命令:java -jar test.jar 张三
张三就是第一个参数,第二个参数依次挂在后面即可,在mian函数的args参数中可以获取到的。
如果是eclipse这样的开发环境,应该可以找到配置程序启动参数的地方。例如:
elipse配置方式为:Run As-->Run Configurations->Arguments->Program arguments 中输入 参数值即可,空格隔开。
其他开发工具类似。