java程序一直运行_程序如何一直保持运行的?

问这个问题不知道大家会不会觉得提问者是个傻子(还请各位大佬轻喷 = =)...但是这个问题确实是困扰着我!

问题的起因是这样的,先看下面这段代码

public static void main(String[] args) {

System.out.println(1);

}

运行这段代码的时候,程序开始运行--->控制台输出1--->程序结束,这段代码在运行完成之后就自动停止了,也就是说我可以理解为程序有开始、有结束。那么如何让程序不自动结束呢?(Java)我了解到的方法有 while true 死循环,或者 wait()

public static void main(String[] args) {

System.out.println(1);

while (true) {}

}

public static void main(String[] args) {

Object object = new Object();

System.out.println(1);

synchronized (object) {

try {

object.wait();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

这两种方法都不会主动停止,但是感觉是不是有点太丑了?比如tomcat或者nginx等web容器不太可能写这种比较“无脑”的代码,不可能监听端口的时候是一遍一遍的“无脑”循环监听吧?,所以我就很疑惑,它们是怎么一直在后台运行的?当然,他们的具体实现肯定很复杂,我并不是想知道他们的具体实现(因为太菜估计也实现不了(ーー゛)),而是想了解一下这种想法,在这里请教一下各位大佬,这是怎么个思想或者我要从哪个方面去入手才可能了解这个问题?

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值