工作日记8/10

今天看了一篇关于jdk中并发操作的文章:

http://www.ibm.com/developerworks/cn/java/j-lo-activeobject/#icomments

 

主要介绍了activeobject模式在java中的应用,带出了java.util.concurrent package中一些类的介绍,比如ScheduledExecutorService (结合了schedule和并发的功能)。

 

最近有关注java.util.concurrent这个package,发现好多东东平时都没怎么用,比如java.util.concurrent.atomic对一些对象的原子化包装,java.util.concurrent.locks提供一些锁的缺省实现,包括ReentrantLock, ReentrantReadWriteLock等,都是很好用的玩意。

 

说到这里,想到项目中用到的一些相关的工具:

在Spring中实现sheduling功能的quartz,可以支持crontab语法

 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  <property name="triggers">
   <list>
    <ref bean="scheduleJobTrigger" />
   </list>
  </property>
 </bean>

 <bean id="scheduleJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  <property name="jobDetail" ref="scheduleJob" />
  <property name="cronExpression">
   <value>0 0 22 ? * MON-FRI</value>
  </property>
 </bean>

 

 <bean id="scheduleJob"
  class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  <property name="targetObject" ref="jobHandler" />
  <property name="targetMethod" value="execute" />
 </bean>

 <bean name="jobHandler" class="com.jianda.MyClass">
 </bean>

 

还有一个就是object pool的实现,用的是apache commons里的一个组件。

核心就是几个类:GenericObjectPool(GenericObjectPool.Config),PoolableObjectFactory(需要自己实现)

GenericObjectPool.Config poolConfig = new GenericObjectPool.Config();

// set value for poolConfig

 

//create a connnection pool

connectionPool = new GenericObjectPool(MyPoolableObjectFactory, poolConfig);

 

 

// get object from pool

MyObject objectInPool = (MyObject)connectionPool.borrowObject();

 

// return back to pool after fininshing using

connectionPool.returnObject(objectInPool);

 

得到一个体会,新技术一定要多学,多用,用了几次以后才能真正掌握它。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值