您的位置:

java任务,java任务队列

本文目录一览:

java程序员职责是什么?

很多对Java程序员感兴趣的朋友,总是在思考一个问题,我能不能成为一名Java程序员,能不能跟做不做是两回事。JAVA程序员广义上是指一群以JAVA为谋生手段的软件开发人员。狭义的说,是指拥有SUN公司JAVA认证的程序员。通常要求程序员精通java基础,java高级编程,及常用java设计模式,并深入理解mvc编程模式,了解uml相关知识。那么,作为一个java程序员,他们的工作职责是什么呢?

一、 java程序员工作 职责:

1、 参与公司项目的设计、开发与维护;

2、 具有独立完成模块开发工作的能力;

3、 较好的沟通能力,能积极应对工作,具备较好的抗压性;

4、 能够快速接受并掌握新知识;敢于面对和克服困难,具有分析和解决问题的能力;

5、 做事认真负责,有责任心,有良好的团队合作精神。

二、Java开发程序员工作职责

1、完成软件系统代码的实现,编写代码注释和开发文档;

2、辅助进行系统的功能定义,程序设计;

3、根据设计文档或需求说明完成代码编写,调试,测试和维护;

4、分析并解决软件开发过程中的问题;

5、协助测试工程师制定测试计划,定位发现的问题;

6、配合项目经理完成相关任务目标。

三、Java测试程序员工作职责

1、 具备扎实的软件测试理论基础,熟悉测试方法,测试流程;

2、熟练编写测试用例和执行测试用例,会使用禅道进行bug 管理, 熟练使用配置管理工具SVN;

3、 会用数据库查询,了解接口测试,熟悉linux;

4、熟悉数据库Oracle基本的增删改查以及配置监听等;

5、 熟悉SQL,会使用fiddler、httpwatch等工具进行接口测试。

java定时任务没有执行完又到执行时间了

代码错误。多数是代码错误导致java定时任务没有执行完又到执行时间了。

1、首先打开java检查代码是否错误。

2、其次打开网络诊断器进行测试网络连接是否异常。

3、最后点击重新运行java即可。

java的几种定时任务

java定时任务有三种:

- JDK自带 :JDK自带的Timer以及JDK1.5+ 新增的ScheduledExecutorService;

- Quartz    :简单却强大的JAVA作业调度框架

- Spring3.0以后自带的task :可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多;

代码参考:

JDK 自带的定时器实现

schedule(TimerTask task, Date time) 特定时间执行

public static void main(String[] args) {

for (int i = 0; i 10; ++i) {

new Timer("timer - " + i).schedule(new TimerTask() {

@Override

public void run() {

println(Thread.currentThread().getName() + " run ");

}

}, new Date(System.currentTimeMillis() + 2000));

}

}

Quartz 定时器实现

2.1  通过maven引入依赖(这里主要介绍2.3.0)  注意:shiro-scheduler中依赖的是1.x版本  如果同时使用会冲突

!-- --

dependency

groupIdorg.quartz-scheduler/groupId

artifactIdquartz/artifactId

version2.3.0/version

/dependency

2.2 创建Job类

public class TestJob implements Job{

@Override

public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {

println(Thread.currentThread().getName() + " test job begin " + DateUtil.getCurrentTimeStr());

}

}

2.3 调度任务

public static void main(String[] args) throws InterruptedException, SchedulerException {

Scheduler scheduler = new StdSchedulerFactory().getScheduler();

// 开始

scheduler.start();

// job 唯一标识 test.test-1

JobKey jobKey = new JobKey("test" , "test-1");

JobDetail jobDetail = JobBuilder.newJob(TestJob.class).withIdentity(jobKey).build();

Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("test" , "test")

// 延迟一秒执行

.startAt(new Date(System.currentTimeMillis() + 1000))

// 每隔一秒执行 并一直重复

.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(1).repeatForever())

.build();

scheduler.scheduleJob(jobDetail , trigger);

Thread.sleep(5000);

// 删除job

scheduler.deleteJob(jobKey);

}

3.Spring 相关的任务调度

3.1 配置文件实现

spring-schedule.xml

task:scheduler id="myScheduler" pool-size="10" /

task:scheduled-tasks scheduler="myScheduler"

task:scheduled ref="job" method="test" cron="0 * * * * ?"/

/task:scheduled-tasks

3.2注解实现

spring-schedule.xml

task:scheduler id="myScheduler" pool-size="10" /

// 启用注解

task:annotation-driven scheduler="myScheduler"/

@Component 

public class Task{    

@Scheduled(cron="0/5 * *  * * ? ")   //每5秒执行一次

public void execute(){  

DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  

System.out.println(sdf.format(DateTime.now().toDate())+"*********B任务每5秒执行一次进入测试");    

}     

}