任务跟踪java代码 java代码追踪

java代码帮忙注释下!O(∩_∩)O谢谢要考试了,不懂啊!可以的话每段后面注释下!

import java.awt.*;

成都创新互联网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都网站制作、成都网站建设,APP应用开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。成都创新互联深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

import javax.swing.*;

import java.awt.event.*;

import javax.swing.event.*;

/**

* 继承JFrame 实现 MouseMotionListener,ActionListener

*

*/

public class Exe10_1 extends JFrame implements MouseMotionListener,

ActionListener {

JLabel tracer;//声明一个JLabel

JButton start;//声明一个JButton

boolean tracing = true;// 定义一个Boolean变量

/**

* 构造函数

*/

public Exe10_1() {

super("鼠标跟踪");//设置JFrame的title

setBounds(300, 300, 300, 300); // JFrame大小

setLayout(new FlowLayout()); //JFrame的布局为FlowLayout

tracer = new JLabel();//给刚才声明的JLabel赋值

tracer.setPreferredSize(new Dimension(100, 30));//

tracer.setBackground(Color.blue);//设置背景色

tracer.setForeground(Color.white);//设置前景色

tracer.setOpaque(true);

addMouseMotionListener(this);//整个JFrame监听鼠标事件

add(tracer); //JFrame添加JLabel

start = new JButton("停止跟踪");//Jbutton初始化的名字为“停止跟随”

start.addActionListener(this);//JButton添加监听事件

add(start);//JFrame添加JLabel

setVisible(true);//JFrame的可见性

setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//右上角的【关闭】按钮

}

/* (当按下鼠标 不放开时 滑动鼠标 JLabel上打印内容)

* @see java.awt.event.MouseMotionListener#mouseDragged(java.awt.event.MouseEvent)

*/

public void mouseDragged(MouseEvent e) {

tracer.setText("(x,y) = (" + e.getX() + "," + e.getY() + ")");

}

/* (鼠标在JFrame上滑动时 JLabel上打印内容)

* @see java.awt.event.MouseMotionListener#mouseMoved(java.awt.event.MouseEvent)

*/

public void mouseMoved(MouseEvent e) {

tracer.setText("(x,y) = (" + e.getX() + "," + e.getY() + ")");

}

/* (鼠标监听事件处理)

* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)

*/

public void actionPerformed(ActionEvent e) {

if (tracing == true) {

removeMouseMotionListener(this);//JFrame移除监听鼠标事件

start.setText("继续跟踪");//JLabel重新设置Text

tracing = false;

} else {

addMouseMotionListener(this);//JFrame添加鼠标事件监听

start.setText("停止跟踪");//JLabel重新设置Text

tracing = true;

}

}

/** 程序入口

* @param args

*/

public static void main(String[] args) {

Exe10_1 frame = new Exe10_1();//生成一个Exe10_1的实例 实例名为:frame

}

}

希望对你有帮助

java代码启动一个定时任务

在应用里经常都有用到在后台跑定时任务的需求。举个例子,比如需要在服务后台跑一个定时任务来进行非实时计算,清除临时数据、文件等。在本文里,3种不同的实现方法:

普通thread实现

TimerTask实现

ScheduledExecutorService实现

1.普通thread

这是最常见的,创建一个thread,然后让它在while循环里一直运行着,通过sleep方法来达到定时任务的效果。这样可以快速简单的实现,代码如下:

public class Task1 {

public static void main(String[] args) {

// run in a second

final long timeInterval = 1000;

Runnable runnable = new Runnable() {

public void run() {

while (true) {

// ------- code for task to run

System.out.println("Hello !!");

// ------- ends here

try {

Thread.sleep(timeInterval);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

};

Thread thread = new Thread(runnable);

thread.start();

}

}

2.用Timer和TimerTask

上面的实现是非常快速简便的,但它也缺少一些功能。

用Timer和TimerTask的话与上述方法相比有如下好处:

当启动和去取消任务时可以控制

第一次执行任务时可以指定你想要的delay时间

在实现时,Timer类可以调度任务,TimerTask则是通过在run()方法里实现具体任务。

Timer实例可以调度多任务。

当Timer的构造器被调用时,创建了一个线程,这个线程可以用来调度任务:

import java.util.Timer;

import java.util.TimerTask;

public class Task2 {

public static void main(String[] args) {

TimerTask task = new TimerTask() {

@Override

public void run() {

// task to run goes here

System.out.println("Hello !!!");

}

};

Timer timer = new Timer();

long delay = 0;

long intevalPeriod = 1 * 1000;

// schedules the task to be run in an interval

timer.scheduleAtFixedRate(task, delay,

intevalPeriod);

} // end of main

}

3.ScheduledExecutorService

ScheduledExecutorService是从Java SE 5的java.util.concurrent里,做为并发工具类被引进的,这是最理想的定时任务实现方式。

相比于上两个方法,它有以下好处:

相比于Timer的单线程,它是通过线程池的方式来执行任务的

可以很灵活的去设定第一次执行任务delay时间

提供了良好的约定,以便设定执行的时间间隔

通过ScheduledExecutorService#scheduleAtFixedRate展示这个例子,通过代码里参数的控制,首次执行加了delay时间:

import java.util.concurrent.Executors;

import java.util.concurrent.ScheduledExecutorService;

import java.util.concurrent.TimeUnit;

public class Task3 {

public static void main(String[] args) {

Runnable runnable = new Runnable() {

public void run() {

// task to run goes here

System.out.println("Hello !!");

}

};

ScheduledExecutorService service = Executors

.newSingleThreadScheduledExecutor();

service.scheduleAtFixedRate(runnable, 0, 1, TimeUnit.SECONDS);

}

}

如何跟踪java代码的执行

很简单,单元测试啊!引入包 import org.junit.Test;

比如下面这个测试函数,不是main函数,但是你可以执行它并测试输出。注意要有@标识,这是注释,必要的。还有就是可以打断点啊!断点就是执行停止的地方,可以是程序某个模块,某个变量值等。

@Test

public void selectUserByID() {

// 得到SqlSession实例,便于执行增删改查、事务提交回滚等操作。

SqlSession session = getSqlSessionFactory().openSession();

try {

userPOJO user = (userPOJO) session.selectOne("mapper.userPOJO.selectByName", 2);

System.out.println(user);

} finally {

session.close();

}

}

在Java中如何设置一个定时任务的代码应该怎么写?

指定定时任务的代码如下:

public void schedule(TimerTask task,Date time)

比如,我们希望定时任务2006年7月2日0时0分执行,只要给第二个参数传一个时间设置为2006年7月2日0时0分的Date对象就可以了.

有一种情况是,可能我们的程序启动的时候,已经是2006年7月3日了,这样的话,程序一启动,定时任务就开始执行了.

schedule最后一个重载的方法是

public void schedule(TimerTask task,Date firstTime,long period)

既然号称是定时任务,我们肯定希望由我们来指定任务指定的时间,显然上面的方法就不中用了,因为我们不知道程序什么时间开始运行,就没办法确定需要延时多少.没关系,schedule四个重载的方法还没用完呢.用下面这个就OK了。


分享名称:任务跟踪java代码 java代码追踪
文章路径:http://hbruida.cn/article/dososde.html