首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

仅在尚未运行的情况下启动Java程序

在尚未运行的情况下启动Java程序,可以使用Java虚拟机(JVM)来实现。JVM是一个运行时环境,可以在其上运行Java程序。在启动Java程序时,可以使用以下命令:

代码语言:txt
复制
java -jar <jar文件名>

其中,<jar文件名>是要运行的Java程序的jar文件名。

此命令将启动JVM,并在其上运行指定的Java程序。在运行Java程序时,可以使用以下命令行参数:

  • -classpath-cp:指定Java程序的类路径。
  • -D<名称>=<值>:设置Java系统属性。
  • -jar:指定要运行的jar文件。
  • -Xmx<大小>:设置Java堆内存的最大大小。
  • -Xms<大小>:设置Java堆内存的初始大小。
  • -Xss<大小>:设置Java线程栈的大小。

例如,要运行一个名为myapp.jar的Java程序,并设置其类路径为/usr/lib/myapp,可以使用以下命令:

代码语言:txt
复制
java -cp /usr/lib/myapp -jar myapp.jar

在运行Java程序时,可以使用以下Java虚拟机参数:

  • -XX:+UseG1GC:使用G1垃圾收集器。
  • -XX:+UseParallelGC:使用并行垃圾收集器。
  • -XX:+UseSerialGC:使用串行垃圾收集器。
  • -XX:+UseConcMarkSweepGC:使用CMS垃圾收集器。
  • -XX:+UseCompressedOops:使用压缩的对象指针。
  • -XX:+UseLargePages:使用大页面。
  • -XX:+UseNUMA:使用非统一内存访问(NUMA)。
  • -XX:+UseStringDeduplication:使用字符串去重。
  • -XX:+UseTLAB:使用线程本地分配缓冲区(Thread Local Allocation Buffer,TLAB)。
  • -XX:+UseBiasedLocking:使用偏向锁定。
  • -XX:+UseFastAccessorMethods:使用快速访问器方法。
  • -XX:+OptimizeStringConcat:优化字符串连接。
  • -XX:+UseCodeCacheFlushing:使用代码缓存刷新。
  • -XX:+UseCompressedClassPointers:使用压缩的类指针。
  • -XX:+UseG1GCConcurrentStart:使用并发启动G1垃圾收集器。
  • -XX:+UseStringCache:使用字符串缓存。
  • -XX:+UseSuperWord:使用超级字(SuperWord)。
  • -XX:+UseLoopPredicate:使用循环预测。
  • -XX:+UseCountedLoopSafepoints:使用计数的循环安全点。
  • -XX:+UseTypeSpeculation:使用类型推测。
  • -XX:+UseInlineCaches:使用内联缓存。
  • -XX:+UseCondCardMark:使用条件卡标记。
  • -XX:+UseOptoBiasInlining:使用优化的偏向内联。
  • -XX:+UseTypeProfile:使用类型配置文件。
  • -XX:+UseLoopUnswitching:使用循环出口。
  • -XX:+UseEliminateAllocations:使用消除分配。
  • -XX:+UseEliminateLocks:使用消除锁。
  • -XX:+UseEliminateNestedLocks:使用消除嵌套锁。
  • -XX:+UseEliminateSpeculation:使用消除推测。
  • -XX:+UseEliminateThreadLocal:使用消除线程本地。
  • -XX:+UseEliminateSafePoints:使用消除安全点。
  • -XX:+UseEliminateFrame:使用消除帧。
  • -XX:+UseEliminateAllocations:使用消除分配。
  • -XX:+UseEliminateLocks:使用消除锁。
  • -XX:+UseEliminateNestedLocks:使用消除嵌套锁。
  • -XX:+UseEliminateSpeculation:使用消除推测。
  • -XX:+UseEliminateThreadLocal:使用消除线程本地。
  • -XX:+UseEliminateSafePoints:使用消除安全点。
  • -XX:+UseEliminateFrame:使用消除帧。
  • -XX:+UseEliminateRedundantChecks:使用消除冗余检查。
  • -XX:+UseEliminateRedundantChecks:使用消除冗余检查。
  • -XX:+UseEliminateRedundantChecks:使用消除冗余检查。
  • -XX:+UseEliminateRedundantChecks:使用消除冗余检查。
  • -XX:+UseEliminateRedundantChecks:使用消除冗余检查。
  • -XX:+UseEliminateRedundantChecks:使用消除冗余检查。
  • -XX:+UseEliminateRedundantChecks
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Intellij运行Java程序启动等待BUG分享

最近公司新配了一台Mac本,性能相比之前自己Mac本提升了很多,在配置基础运行环境之后,我运行了一下自己项目,发现了一个巨大问题。 我居然无意中触发了一个JDKBUG。...按照网上大佬排查流程,我走了一遍,发现在启动之前我做了一些事情,有一些配置初始化程序,如下: /** * 创建日志文件夹和数据存储文件夹 */ static {...使IDE缓存无效。 我还发现给定消息仅在代码这一部分存在-github -project,所以我更改了JVM选项以给InteliJ更多内存。...3.运行测试用例,打印出java.net.InetAddress.getLocalHost()结果 预期实际行为: 预期 - 返回本地主机地址(以毫秒为单位) 实际 - 延迟5秒后返回本地主机地址...由于Java程序获取本机地址时候出现错误,导致5s等待(这个应该是默认超时时间),然后再加上重试机制,所以报告等待时间基本都是5s整数倍。

58730
  • Java程序运行原理及JVM启动是多线程吗?

    Java程序运行原理及JVM启动是多线程吗? A:Java程序运行原理     Java通过java命令会启动java虚拟机。...启动JVM,等于启动了一个应用程序,也就是启动了一个进程。     该进程会自动启动一个 “主线程” ,然后主线程去调用某个类 main 方法。所以 main方法运行在主线程中。...在此之前所有程序都是单线程。 B:JVM启动是多线程吗?     垃圾回收线程也要先启动,否则很容易会出现内存溢出。     ...19 * 20 * 在java就业班中会有如何解决高并发? 21 * 22 * Java程序运行原理: 23 * 通过java命令会启动 java虚拟机。...启动 JVM,等于启动了一个应用程序,也就是启动了一个进程。 24 * 该进程会自动启动一个 “主线程”,然后主线程去调用某个类 main方法。所以 main方法运行在主线程中。

    1.9K20

    Android从启动程序运行发生事情

    想了半天,从大二上学期自学Android以来还没有对Android从启动程序运行期间进行一个完整归纳,刚好最近又学到了一些新东西,那就以这篇博客为媒介,总结一下从Android启动程序运行期间发生所有事吧...接下来就可以B一下从点击APP图标开始到APP内部程序运行起来流程了。...进程定义 UNIX标准把进程定义为:“一个其中运行着一个或多个进程地址控件和这些线程所需要系统资源”。目前,可以简单把进程看做正在运行程序。...通过更改onStartCommand方法返回值,将service设置为粘性service,那么当service被kill时候就会将服务状态返回到最开始启动状态,也就是运行状态,所以这个时候也就会再次重新运行...ART虚拟机会在程序安装时直接把所有的字节码全部转化为机器码,虽然这样会导致安装时间边长,但是程序运行效率提升非常大。  【疑问:那在Android5.0之后系统上,反射会不会没影响了?

    1.1K10

    eclipse运行java程序_如何在Eclipse中运行简单Java程序?「建议收藏」

    大家好,又见面了,我是你们朋友全栈君。 正如您可能从问题本身可以理解那样,我是Java新手。...我进行了一个练习,编写一个Java程序,该程序接收一个字符,将其打印并输出Unicode表中下一个字符。...(c + 1); System.out.println(c + “\t” + c1); } 我了解此代码基本概念,但是我试图在Eclipse中运行此代码,但遇到一个令人讨厌错误: 线程“主”中异常...java.lang.ArrayIndexOutOfBoundsException:MainClass.main处为0(MainClass.java:9) 注意:我尚未运行实际上会接收某些内容作为参数Java...程序,因此我认为这是一个愚蠢初学者错误……这是我尝试在Eclipse中编译完整代码: public class MainClass { /** * @param args */ public

    2.7K30

    Windows开机自启动运行Javajar包

    ,命名可自定义即可,如:xxxx.bat,但必须以.bat结尾 2 web-start.bat里面的内容如下 @echo off setlocal set appName=C:/MyProgram/java-service...; (2)javaw可以后台运行jar文件,这种方式运行完就会自动关闭窗口后台运行。...可以用jps命令查看程序pid; (3)jar包启动JVM参数可根据自己实际情况进行调整; (4)编辑好命令后,双击运行保证能够正常运行。...3 开机或者重启测试 在完成前面的步骤后,这样就能在开机后直接启动jar包了。 我们重新启动电脑,看是否会开机自启动。 开机后会出现cmd命令行窗口。..."Start C:/MyProgram/java-service/web-core.jar ..." 请按任意键继续. . 然后通过任务管理器或者jps命令查看服务是否启动

    3.5K10

    Docker针对运行JAVA程序优化

    大多数服务现在已经使用容器启动 Jar包也不例外 很多人放在docker之后会发现 一段时间宿主机运行内存变得很小,其实jar包运行用不了太大内存,但是如果你不给他进行参数限制的话 ,他就会一直占用你宿主机...运行内存 导致你宿主机内存变得很少 方法: 上图是进行优化过,优化前基本大多数服务已经使用到了2G多 找你启动文件,或者启动方式,这里使用脚本启动 主要加JVM参数进行启动 java...Duser.timezone=GMT+8 -Dfile.encoding=utf-8 -Xms1024m -Xmx1024m -jar jar包名称 修改后重启容器 docker restart 容器名字 你会发现宿主机运行内存会多出很多...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/101940.html原文链接:https://javaforall.cn

    68920

    Java程序是如何运行「建议收藏」

    大家好,又见面了,我是你们朋友全栈君。 当我们写完一个Java程序时候,他是怎么被计算机运行呢?本篇文章就来介绍下Java程序是如何运行。...包括Java程序设计语言,Java虚拟机,Java API类库三个部分。 jre:Java程序运行时环境。Java SE API类库中子集合Java虚拟机。...jvm:执行Java程序核心组件,是jre中一部分 Java技术体系包含内容如图: 当你不需要编写Java程序时候,你电脑上是不需要安装jdk,只需要安装jre即可。...我们都知道Java程序需要先由javac编译成可被Java虚拟机所识别的字节码,然后再由Java虚拟机运行。所以Java是编译型和解释型语言结合。...所以如果需要在不同平台上运行文件,那么只需要在操作系统上安装相应版本Java虚拟机即可。这也就是为什么Java程序是一次编译到处运行原理。

    58230

    在 ASP.NET Core 程序启动运行代码

    一、前言 在进行 Web 项目开发过程中,可能会存在一些需要经常访问静态数据,针对这种在程序运行过程中可能几乎不会发生变化数据,我们可以尝试在程序运行前写入到缓存中,这样在系统后续使用时就可以直接从缓存中进行获取...既然需要在程序运行前将静态数据写入到缓存中,毫无疑问我们需要在程序运行前执行一些自定义功能代码,那么在本章中,我将会介绍如何在 ASP.NET Core 项目中,实现在程序启动前执行某些特定功能代码...例如在这个基于 .NET Framework 构建 MVC 项目模板中,在程序运行前需要执行注册路由信息、注册过滤器、注册使用 bundle 压缩后 js、css 文件等等。 ?...不知你是否找到了这个类中对于我们最重要一点,在 Main 方法中,我们是先构建、再去运行,因此,我们是不是可以在构建完成后,先等一等,把我们想要实现功能先调用了,再去运行我们程序。...从上面的图中可以看到,在我们 Web 应用宿主程序还未启动之前,控制台就已经打印出了我们自己设定信息,之后,才是启动我们 Web 应用,这里是请求我们 API 接口。

    2.3K10

    Java魔法堂:以Windows服务形式运行Java程序

    一、前言                               由于防止维护人员误操作关闭Java控制台程序,因此决定将其改造为以Windows服务形式运行。...  JavaServiceWrapper以守护进程或windows服务方式运行java程序。...JSW提供四种方案改造原有项目,以实现守护进程或windows服务方式运行。而且还提供JVM监控功能和自动重启功能,反正十分强大样子。  ...方式1:WrapperSimpleApp   用于通过同一个类实现启动和关闭程序。   官方推荐使用该方式加工原有项目,好处是简单,且不用修改原有项目的代码。...方式2:WrapperStartStopApp   用于像tomcat那样,启动程序和关闭程序是分开项目。该方式同样不用修改原来项目的代码。   3.

    1.6K60

    Java 程序运行过程中内存分析

    作为 java 程序员,都应该知道 Java 程序运行在 JVM(Java Virtual Machine,Java 虚拟机)上,可以把 JVM 理解成 Java 程序和操作系统之间桥梁,JVM 实现了... Java 平台无关性,由此可见 JVM 重要性。...所以在学习 Java 内存分配原理时候一定要牢记这一切都是在 JVM 中进行,JVM 是内存分配原理基础与前提。...---- Java 程序运行过程中涉及到以下内存区域: 栈 存放局部变量,可保存基本数据类型值,还可以保存引用类型变量,即对象引用(也可以理解为对象指针) ---- 堆 存放动态产生数据,比如...创建出来对象只包含各自属性(成员变量),并不包括方法。因为同一个类所实例化对象,非静态成员变量,存储在每个对象各自堆中,但是他们共享该类方法,并不是每创建一个对象就需要把方法复制一次。

    90760

    Java程序员必备基础:Java代码是怎么运行

    个人原创+1博客:点击前往,查看更多 链接:https://segmentfault.com/a/1190000022042333 作为一名Java程序员,我们需要知道Java代码是怎么运行。...Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序抽象计算机,是Java语言运行环境。...因此,在运行Java程序之前,需要编译器把代码编译成java虚拟机所能识别的指令程序,这就是Java字节码,即class文件。...初始化 到了初始化阶段,才真正开始执行类中定义Java字节码。在这个阶段,则根据程序员通过程序制定主观计划去初始化类变量和其他资源。 创建对象 Java虚拟机是如何执行字节码呢?...我们先来看一下运行时创建对象。 Java是面向对象编程语言,程序运行是以对象为调用单位。 字节码文件加载到虚拟机方法区后,在程序运行过程,通过 class字节码文件创建与其对应对象信息 。

    1.1K10

    win10在html上运行javaapplet程序

    toc Applet是采用Java编程语言编写小应用程序,该程序可以包含在 HTML(标准通用标记语言一个应用)页中,与在页中包含图像方式大致相同。...含有Applet网页HTML文件代码中部带有 和这样一对标记,当支持Java网络浏览器遇到这对标记时,就将下载相应小应用程序代码并在本地计算机上执行该Applet...下面我对在win10上运行java applet 可能出现问题进行简单说明。...1.用记事本编写java程序 新建一个文本文档,最好保存在一个盘根目录,方便后续查找 [在这里插入图片描述] import java.applet.Applet; import java.awt.Graphics...[在这里插入图片描述] 这是还是没有显示出要.java内容,接着进行下一步操作 将该html文件设置为java打开 打开控制面板-->程序-->java [在这里插入图片描述] [在这里插入图片描述]

    2.3K40

    一个简单java程序运行全过程

    精品专栏 死磕Java并发 作者:某人喵星人 原文:https://www.cnblogs.com/dqrcsc/p/4671879.html 简单说来,一个java程序运行需要编辑源码、编译生成...这样能在java虚拟机上运行字节码文件就生成了 启动java虚拟机运行字节码文件 ?...在命令行中输入 javaStudent 这个命令,就启动了一个 java 虚拟机,然后加载 Student.class 字节码文件到内存,然后运行内存中字节码指令了。...我们从编译到运行 java 程序,只输入了两个命令,甚至,如果使用集成开发环境,如 eclipse,只要 ctrl+s 保存就完成了增量编译,只需要按下一个按钮就运行java 程序。...以上,就是一个简单程序运行大致过程

    2.2K20

    JAVA 应用程序运行机制数据类型

    JAVA 应用程序运行机制  计算机高级编程语言类型:       编译型       解释型 java 是两种语言结合: java程序组成: java源文件、字节码文件、机器码指令 JDK...1.0   1996年 JDK 1.2   1998年  java2 JDK 1.5   2005年 十周年 JDK 1.8   2014年   (生产环境 ) JDK 1.9   2017年 JDK...变量名称 = 常量(10是一个常量,整数类型为int) ;         int x = 10 ;    // 定义了一个整型变量x         x = 20 ;        // 改变了x已有内容...        int min = Integer.MIN_VALUE ; // 获取int最小值         System.out.println(max) ;    // 2147483647...        long max = Integer.MAX_VALUE ; // 获取int最大值         long min = Integer.MIN_VALUE ; // 获取int最小值

    29720
    领券