java后台应用程序有哪些_非GUI Java应用程序的正确后台进程行为是什么?

Java命令行应用程序在不占用资源的情况下进行后台工作的正确方法是什么?它应该在循环中使用sleep()还是更优雅/有效的方式?

解决方法:

一些启发式:

>不要试图在您的应用程序中做出调度决策.操作系统的调度程序比你的更好.让它完成它的工作.

>如果您不需要,请不要进行民意调查.例如,而不是睡n秒,然后醒来检查一个未阻塞的套接字,阻塞套接字.第二种策略在操作系统的调度程序中运行得更好.

>如果不需要,请不要使用庞大的堆,并尽量不要同时分配大量的内存.颠簸应用程序往往会对系统性能产生负面影响.

>使用缓冲I / O.总是.如果您认为需要非缓冲I / O,请绝对确定您是对的. (你可能错了.)

>不要产生很多线程.线程非常昂贵;超过某一点,更多线程将降低您的应用程序的性能配置文件.如果你有很多工作要做,请学习并使用java.util.concurrent.

当然,这只是一个入门名单……

标签:java,background

来源: https://codeday.me/bug/20190713/1452794.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值