Java Main 函数启动不退出的解决方案

目录
  • 背景
  • 方案

背景

我在准备使用 JVM 的命令时候观察程序的动态,但是发现 Main 函数启动就退出了,所以也没办法直接观察,于是想到了如何让 Main 函数启动一直不退出,这样就可以该干啥就干啥啦~

方案

1、System.in.read()

简单粗暴(推荐)

public static void main(String[] args) throws IOException {
    System.out.println(1);
    System.in.read();
    System.out.println(2);
}

2、Object.wait()

这个还需要 synchronized 配合使用,繁琐

public static void main(String[] args) throws InterruptedException {
    System.out.println(1);
    Object o = new Object();
    synchronized (o) {
        o.wait();
    }
    System.out.println(2);
}

3、Thread.sleep(9999999)

让线程睡觉,睡久点,这个也还行吧,比第二种简单点,就是有时间限制,当然有些场景还真需要这种来控制动态

public static void main(String[] args) throws InterruptedException {
    System.out.println(1);
    Thread.sleep(9999999);
    System.out.println(2);
}

到此这篇关于Java Main 函数启动不退出的方法的文章就介绍到这了,更多相关Java Main 函数启动不退出内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • java中main函数你知道多少

    目录 前言 main介绍 main可以被重载吗 main可以被继承吗 main可以被调用吗 总结 前言 前段时间看到一道面试题:“main函数可以被重载么?”,当时就蒙圈了,怎么还会有这种面试题,现在面试官都这么变态么?虽然变态不过还是挺感兴趣的,于是就复习了一遍基础题 [此处坏笑表情] main介绍 我们开始学习java程序的时候,最先拍得一段代码肯定是main函数,main函数的格式如下: public static void main(String[] args){} 首先针对 main

  • Java中的main函数的详细介绍

    Java中的main函数的详细介绍 JAVA中的主函数是我们再熟悉不过的了,相信每个学习过JAVA语言的人都能够熟练地写出这个程序的入口函数,但对于主函数为什么这么写,其中的每个关键字分别是什么意思,可能就不是所有人都能轻松地答出来的了.我也是在学习中碰到了这个问题,通过在网上搜索资料,并加上自己的实践终于有了一点心得,不敢保留,写出来与大家分享. 主函数的一般写法如下: public static void main(String[] args){-} 下面分别解释这些关键字的作用: (1)p

  • 解决java main函数中的args数组传值问题

    这几天面试中有遇到关于main数组中的args数组传值的问题,一般是从命令提示符中传值,也可以直接在java代码中赋值. 而且这个数组的长度是动态的,根据传值的个数确定数组的长度. 1.从命令提示符中传值 我在桌面新建了一个文本文档重命名为TestMain.java,代码如下 public class TestMain { public static void main(String[] args) { System.out.println("hello "+args[0]); Sys

  • Java如何向主函数main中传入参数

    目录 向主函数main中传入参数 String[ ] args的含义 第一步 第二步 第三步 Java main方法传参问题 一.使用IDE集成开发环境运行Java main方法(Idea展示) 二.使用命令java -jar ***.jar方式运行Java程序 三.使用mvn命令运行Java程序并传参 四.直接执行.class文件(了解一下,很少用) 向主函数main中传入参数 String[ ] args的含义 String[ ] args 是一个数组类型的参数,向主函数中传入参数,相当于给

  • 在java中main函数如何调用外部非static方法

    使用外部方法时(不管是static还是非static),都要先new一个对象,才能使用该对象的方法. 举例如下: 测试函数(这是错误的): public class Test { public static void main(String[] args) { Employee employee = null; employee.setName("旺旺"); //有警告,况且这里也执行不下去 employee.setEmail("ww@qq.com"); emplo

  • Java Main 函数启动不退出的解决方案

    目录 背景 方案 背景 我在准备使用 JVM 的命令时候观察程序的动态,但是发现 Main 函数启动就退出了,所以也没办法直接观察,于是想到了如何让 Main 函数启动一直不退出,这样就可以该干啥就干啥啦~ 方案 1.System.in.read() 简单粗暴(推荐) public static void main(String[] args) throws IOException { System.out.println(1); System.in.read(); System.out.pri

  • springboot项目main函数启动的操作

    springboot项目main函数启动 在controller包下新建appController类 package controller; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBu

  • Java web项目启动Tomcat报错解决方案

    点击运行项目时显示 A Java Exception has occurred. 'Starting Tomcat v9.0 Server at localhost' has oncountered a problem. Server Tomcat v9.0 Server at localhost failed tostart. 并显示以下两个弹框 同时控制台报错org.apache.catalina.startup.Bootstraporg.apache.catalina.startup.Bo

  • Golang优雅保持main函数不退出的办法

    目录 高能预警 正文 问题演示: 解决办法演示 操作系统信号阻塞 上下文操作阻塞 WaitGroup阻塞 小结 总结 高能预警 本文包含演示部分,请读者自行copy代码编译体验. 参考资料:sync.WaitGroup / signal.Notify / context.CancelFunc 正文 我们有时会希望我们的程序保持执行,但是有一种情况是:我们的代码全部塞入go routine时,主函数会立刻退出,本文将和大家分享如何让main函数优雅地保持执行. 问题演示: func main()

  • JavaScript学习笔记(三):JavaScript也有入口Main函数

    在C和Java中,都有一个程序的入口函数或方法,即main函数或main方法.而在JavaScript中,程序是从JS源文件的头部开始运行的.但是某种意义上,我们仍然可以虚构出一个main函数来作为程序的起点,这样一来不仅可以跟其他语言统一了,而且说不定你会对JS有更深的理解. 1. 实际的入口 当把一个JavaScript文件交给JS引擎执行时,JS引擎就是从上到下逐条执行每条语句的,直到执行完所有代码. 2. 作用域链.全局作用域和全局对象 我们知道,JS中的每个函数在执行时都会产生一个新的

  • Java同步函数代码详解

    /* 同步函数 当函数中的代码全部放在了同步代码块中,那么这个函数就是同步函数 */ //同步函数的锁是this锁,this是一个引用,this指向的对象就是锁 //下面证明一下同步函数的锁就是this //创建两个线程,一个在同步代码块中执行,另一个在同步函数中执行 //同步代码块用的锁是obj,同步函数用的所是this //这就导致了两个线程存在两把锁,会出现上次所说的安全问题,即出现错误数据 //只有两个线程同时用一把锁,才能解决多线程的安全问题 class Ticket implemen

随机推荐