线程安全的重要思想就是,多线程并发不出问题。 什么时候多线程并发会出问题,存在临界资源,也就是有状态的公共资源。如果这些公共资源的访问是线程互斥的,就是线程安全的,如果不是,就是线程不安全的。 例如: Class A{ int temp; public void setTemp(int i){ temp =i; } public int getTemp(){ return temp; } temp还不算是类A的实例的有状态的公共资源,什么情况下是呢?如果多个线程访问一个类A的实例,所有类A内的存取temp的方法必须是synchronized才是线程安全的 ...
  • 00:49
  • 浏览 (427)
  • 评论 (0)
2006-12-27

Spring tests 增加对Hibernate Session的支持

关键字: spring hibernate test
这个问题的关键在于,AbstractTransactionalDataSourceSpringContextTests缺乏对hibernate session的处理,需要对其进行扩展, 不知道测试代码是怎么写的,只是很奇怪没有session支持,测试怎么跑的起来。 扩展基本思路是在事务开始后,结束前把测试方法包装在 HibernateTemaplate.executeWithSession(...){ public Object doInHibernate(Session session) { runTest(); session.flush();//synchornize database ...
  • 00:46
  • 浏览 (642)
  • 评论 (0)
参见 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="lobHandler"> <ref bean="oracleLobHandle" /> </property> <bean id="nativeJdbcExtractor" class="org.springfra ...
  • 00:44
  • 浏览 (1759)
  • 评论 (2)
2006-12-24

TDD理解

TDD是先确认问题的边界,确认需要解决的问题,明确问题如何算被解决,然后再进行设计具体解决问题。 似乎很多时候明确问题边界是和解决具体问题难以具体划清的,所以有了重构这一过程让整个过程重复迭代下去。首先确定一些基本问题,明确问题如何算被解决,具体设计解决,再深入提出问题...。 这里确实有一个系统思考的要求,先解决哪些问题,再解决哪些问题,前后问题之间具有关联性,相互影响,这可以被认为是一种总体设计。 算法是解决一些通用问题的方法。当TDD遇到算法的时候,就有一个这样的问题,如何去定义问题。不同的人对同一的问题有不同的看法,会有不同的问题拆分,TDD整个迭代过程也会截然不同,产生的结果也会不 ...
  • 15:40
  • 浏览 (490)
  • 评论 (0)
Godlikeme
搜索本博客
其他分类
存档
最新评论