首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
Java
J2SE / 基础类
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
java资源占用问题
[无满意答案结贴,结贴人:rogerliu0303]
加为好友
发送私信
在线聊天
rogerliu0303
该用户很懒,没有设置昵称
等级:
可用分等级:
乞丐
总技术分:
0
总技术分排名:
312798
揭贴率:
62.50%
发表于:
2008-08-22 17:14:47
楼主
package shutdownr;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Date time1_set=new Date();
Date time2_set=new Date();
Date time_now=new Date();
time_now.getTime();
time1_set.setHours(23);
time1_set.setMinutes(30);
time1_set.setSeconds(00);
time2_set.setHours(4);
time2_set.setMinutes(59);
time2_set.setSeconds(59);
while(true)
{
if(time1_set.compareTo(time_now)==-1&&time2_set.compareTo(time_now)==-1)
{
try
{
Runtime.getRuntime().exec("shutdown -s -t 1");
}
catch(Exception e)
{
System.out.println("error");
}
}
}
}
}
写了一个定时关机程序,但是资源占用非常高,cpu占用率50%,内存占用9900k多。
期待高手帮忙改进下代码,减少点资源的使用啊
问题点数:
20
回复次数:
12
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
fosjos
无聊的菜鸟程序员
等级:
可用分等级:
掌柜
总技术分:
16938
总技术分排名:
833
发表于:
2008-08-22 17:27:57
1
楼 得分:
0
用while(true),不耗资源才怪
Timer定时器就可以了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
rogerliu0303
该用户很懒,没有设置昵称
等级:
可用分等级:
乞丐
总技术分:
0
总技术分排名:
312798
发表于:
2008-08-22 17:36:40
2
楼 得分:
0
Timer还做不到我想要的功能。
我不是要在一定时间内关机,而是要系统到了特定时间就关机。所以需要程序不断的访问系统时间,与设定时间进行对比。
有什么好办法
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zzhua100
孤独行
等级:
可用分等级:
贫农
总技术分:
136
总技术分排名:
75998
发表于:
2008-08-22 17:44:17
3
楼 得分:
0
我晕
1.你这样能关机吗?
就如:
while(true)
{
if(1 == 2)
System.out.println("来输出我啊");
}
你说能有结果吗
2.能占资源吗?一直用计算机作者循环,计算机的速度是多少
3.程序时间比的不好,好多方法都还是过时了。
下面一个例子:
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zzhua100
孤独行
等级:
可用分等级:
贫农
总技术分:
136
总技术分排名:
75998
发表于:
2008-08-22 17:57:59
4
楼 得分:
0
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zzhua100
孤独行
等级:
可用分等级:
贫农
总技术分:
136
总技术分排名:
75998
发表于:
2008-08-22 17:59:01
5
楼 得分:
0
怎么没发成功,加了
Calendar cal = new GregorianCalendar(); //指定关机时间
cal.set(Calendar.HOUR_OF_DAY, 12);
cal.set(Calendar.MINUTE, 25);
cal.set(Calendar.SECOND, 25);
//每天在12:25:25秒关机 ,以秒来计算
while(true)
{
Calendar now = new GregorianCalendar(); //当前时间
if(now.get(Calendar.HOUR_OF_DAY) == cal.get(Calendar.HOUR_OF_DAY)) //首先比较小时
{
if(now.get(Calendar.MINUTE) == cal.get(Calendar.MINUTE)) //比较分钟
{
if(now.get(Calendar.SECOND) == cal.get(Calendar.SECOND)) //比较秒
{
try
{
Runtime.getRuntime().exec("shutdown -s -t 1");
}
catch(Exception e)
{
System.out.println("error");
}
}
}
}
try {
Thread.currentThread().sleep(1000); //让当前线程谁一秒,应为是以秒计算的
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
popyy0101
龙葵
等级:
可用分等级:
贫农
总技术分:
179
总技术分排名:
63937
发表于:
2008-08-22 18:05:11
6
楼 得分:
0
用Timer可以吧
Timer里有个参数是延迟多少时间执行某个任务 你把这个参数设为(特定时间-当前时间) 不就行了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
bentu610
笨兔
等级:
可用分等级:
贫农
总技术分:
70
总技术分排名:
110584
发表于:
2008-08-22 18:09:39
7
楼 得分:
0
或者用多线程吧
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hbjzdsy
等级:
可用分等级:
长工
总技术分:
3
总技术分排名:
272757
发表于:
2008-08-22 18:42:22
8
楼 得分:
0
引用 6 楼 popyy0101 的回复:
用Timer可以吧
Timer里有个参数是延迟多少时间执行某个任务 你把这个参数设为(特定时间-当前时间) 不就行了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yuezhonghero
年少不狂
等级:
可用分等级:
短工
总技术分:
0
总技术分排名:
312798
发表于:
2008-08-22 22:43:23
9
楼 得分:
0
这个设置不好,万一因为电脑时间错误重新设置后,不是没在预想的时间关机了吗
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yuezhonghero
年少不狂
等级:
可用分等级:
短工
总技术分:
0
总技术分排名:
312798
发表于:
2008-08-22 22:44:49
10
楼 得分:
0
我指的是6楼那位朋友说的“参数设为(特定时间-当前时间)“
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
popyy0101
龙葵
等级:
可用分等级:
贫农
总技术分:
179
总技术分排名:
63937
发表于:
2008-08-23 11:18:57
11
楼 得分:
0
我觉得不应该把电脑时间错误这样的特殊情况加进去
如果考虑这种情况 那思路就只能是随时对比系统时间 这样的方法避免不了while(true)的使用 肯定耗费资源
如果非要考虑的话 只能建两个线程了 其中一个线程对比时间 这样性能会好一点
总之不能while(true)
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
popyy0101
龙葵
等级:
可用分等级:
贫农
总技术分:
179
总技术分排名:
63937
发表于:
2008-08-24 13:15:11
12
楼 得分:
0
对了 Timer的schedule方法中有一种是带日期的参数 你把一个Date传进去就能实现到某个时间执行任务了
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友