我是Java的初学者,并且一直在研究各种解决方案来解决这个问题,并且使自己陷入困境。我尝试过使用Threads,然后发现了这个Timer类,到目前为止,它一直没有成功。如果您可以
使用main方法 发布 可执行代码, 这样我就可以看到它正常工作并从那里开始玩,那将很棒。
doSomething()
doSomething()
再次通话。可能使用的是:http :
//docs.oracle.com/javase/6/docs/api/java/util/Timer.html
如果您只想使用Timer,则可以执行以下操作:
public class TestClass {
public long myLong = 1234;
public static void main(String[] args) {
final TestClass test = new TestClass();
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
test.doStuff();
}
}, 0, test.myLong);
}
public void doStuff(){
//do stuff here
}
}
很抱歉,您的标识不正确。
另外,如果您需要安排代码的执行时间,请查看Guava
Services,
因为它确实可以使您的代码更加清晰,并且可以抽象出创建线程,安排时间等的样板。
顺便说一句,我没有麻烦生成随机数等,但是我认为您可以弄清楚如何包括该部分。我希望这足以使您走上正确的道路。
作为记录,如果您要使用Guava,它将看起来像这样:
class CrawlingService extends AbstractScheduledService {
@Override
protected void runOneIteration() throws Exception {
//run this alot
}
@Override
protected void startUp() throws Exception {
//anything you need to step up
}
@Override
protected void shutDown() throws Exception {
//anything you need to tear down
}
@Override
protected Scheduler scheduler() {
return new CustomScheduler() {
@Override
protected Schedule getNextSchedule() throws Exception {
long a = 1000; //number you can randomize to your heart's content
return new Schedule(a, TimeUnit.MILLISECONDS);
}
};
}
}
您只需创建一个名为new CrawlingService.start()的主体即可。而已。
我想用Java编写一个注释,它在执行带注释的方法之前和之后执行一些东西,类似于Spring中的aspects。 我已经尝试过Spring方面,但它只适用于bean(正如这家伙在这里提到的),我想保持独立于Spring框架。 将字符串写入控制台的简单类: 相关注释: 而我需要像这样的东西(由Spring相位推断) 我想要以下输出: 你好 你好吗 世界 编辑: 我创建了以下方面(没有注释),但它不起作
我想在调用非公共方法(bar)后执行一些特定操作。此方法在另一个方法(foo)中调用。请注意,“bar”和“foo”都是在第三方jar文件中定义的。 我试图在面向方面的编程中使用Spring使用注释来做到这一点。然而,我不能这样做。 在调用jar文件中的特定函数之后,有人能告诉我如何做特定的事情(调用特定函数)吗?
我需要重写执行程序的执行方法,我需要改变线程超过核心池大小的行为,只有当队列已满时才会创建。 然而,在实时应用程序中,这种行为是不可取的,因为它会导致队列中存在的任务无休止地等待。 我已将execute方法更改如下: 尝试实现:核心线程-
批处理是重复的动作-无论是作为一个简单的优化,或作为工作的一部分。策划和归纳重复以及提供一个相当于迭代器的框架,Spring Batch提供RepeatOperations接口,这个RepeatOperations接口看起来像是这样: public interface RepeatOperations { RepeatStatus iterate(RepeatCallback callba
查看编译器生成的x86程序集,我注意到(无符号)整数除法有时被实现为整数乘法。这些优化似乎遵循以下形式: 例如,执行除以9: 除以3将使用与<code>0x55555555 1</code>的乘法,依此类推。 利用< code>mul指令将结果的高部分存储在< code>edx寄存器中这一事实,可以使用与幻值的单次乘法来获得除法的最终结果。(尽管这种优化有时在最后与逐位移位结合使用。) 我想了解一
我怎么能在最后运行一些逻辑,而不是收集。 我可以像 我如何在过滤后运行最后的逻辑。 谢谢,拉维