2013年6月3日

Hibernate的延迟加载

摘要: lazy,延迟加载Lazy的有效期:只有在session打开的时候才有效;session关闭后lazy就没效了。lazy策略可以用在:* <class>标签上:可以取值true/false* <property>标签上,可以取值true/false,这个特性需要类增强* <set>/<list>等集合上,可以取值为true/false/extra* <one-to-one>/<many-to-one>等标签上,可以取值false/proxy/no-proxy6.1 get和load的区别:* get不支持延迟加载,而loa 阅读全文

posted @ 2013-06-03 13:23 淇水na个弯 阅读(128) 评论(0) 推荐(0) 编辑

2013年5月29日

HashMap与Hashtable的区别

摘要: HashTable的应用非常广泛,HashMap是新框架中用来代替HashTable的类,也就是说建议使用HashMap,不要使用HashTable。可能你觉得HashTable很好用,为什么不用呢?这里简单分析他们的区别。1.HashTable的方法是同步的,HashMap未经同步,所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。2.HashTable不允许null值(key和value都不可以),HashMap允许null值(key和value都可以)。3.HashTable有一个contains(Objectvalue),功能和containsV 阅读全文

posted @ 2013-05-29 15:59 淇水na个弯 阅读(142) 评论(0) 推荐(0) 编辑

Spring中的设计模式

摘要: Spring中的设计模式应该说设计模式是我们在写代码时候的一种被承认的较好的模式。好的设计模式就像是给代码造了一个很好的骨架,在这个骨架里,你可以知道心在哪里,肺在哪里,因为大多数人都认识这样的骨架,就有了很好的传播性。这是从易读和易传播来感知设计模式的好处。当然设计模式本身更重要的是设计原则的一种实现,比如开闭原则,依赖倒置原则,这些是在代码的修改和扩展上说事。说到底就是人类和代码发生关系的四种场合:阅读,修改,增加,删除。让每一种场合都比较舒服的话,就需要用设计模式。下面来简单列举Spring中的设计模式:1. 简单工厂又叫做静态工厂方法(StaticFactory Method)模式,但 阅读全文

posted @ 2013-05-29 13:07 淇水na个弯 阅读(139) 评论(0) 推荐(0) 编辑

2013年5月23日

Java事务处理全解析(八)——分布式事务入门例子(Spring+JTA+Atomikos+Hibernate+JMS)

摘要: 在本系列先前的文章中,我们主要讲解了JDBC对本地事务的处理,本篇文章将讲到一个分布式事务的例子。请通过以下方式下载github源代码:git clone https://github.com/davenkin/jta-atomikos-hibernate-activemq.git本地事务和分布式事务的区别在于:本地事务只用于处理单一数据源事务(比如单个数据库),分布式事务可以处理多种异构的数据源,比如某个业务操作中同时包含了JDBC和JMS或者某个操作需要访问多个不同的数据库。Java通过JTA完成分布式事务,JTA本身只是一种规范,不同的应用服务器都包含有自己的实现(比如JbossJTA) 阅读全文

posted @ 2013-05-23 21:46 淇水na个弯 阅读(283) 评论(0) 推荐(0) 编辑

Java事务处理全解析(七)—— 像Spring一样使用Transactional注解(Annotation) Java事务处理全解析(七)—— 像Spring一样使用Transactional注解(Annotation)

摘要: 首先定义Transactional注解:在本系列的上一篇文章中,我们讲到了使用动态代理的方式完成事务处理,这种方式将service层的所有public方法都加入到事务中,这显然不是我们需要的,需要代理的只是那些需要操作数据库的方法。在本篇中,我们将讲到如何使用Java注解(Annotation)来标记需要事务处理的方法。package davenkin.step6_annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation 阅读全文

posted @ 2013-05-23 21:39 淇水na个弯 阅读(211) 评论(0) 推荐(0) 编辑

Java事务处理全解析(六)—— 使用动态代理(Dynamic Proxy)完成事务

摘要: Java动态代理的基本原理为:被代理对象需要实现某个接口(这是前提),代理对象会拦截对被代理对象的方法调用,在其中可以全然抛弃被代理对象的方法实现而完成另外的功能,也可以在被代理对象方法调用的前后增加一些额外的功能。在本篇文章中,我们将拦截service层的transfer方法,在其调用之前加入事务准备工作,然后调用原来的transfer方法,之后根据transfer方法是否执行成功决定commit还是rollback。首先定义一个TransactionEnabledProxyManager类:package davenkin.step5_transaction_proxy;import da 阅读全文

posted @ 2013-05-23 21:21 淇水na个弯 阅读(263) 评论(0) 推荐(0) 编辑

Java事务处理全解析(五)—— Template模式

摘要: 在本系列的上一篇文章中,我们讲到了使用TransactionManger和ConnectionHolder完成线程安全的事务管理,在本篇中,我们将在此基础上引入Template模式进行事务管理。这是一个关于Java事务处理的系列文章,请通过以下方式下载github源代码:git clonehttps://github.com/davenkin/java_transaction_workshop.gitTemplate模式大家应该都很熟悉,比如Spring就提供了许多Template,像JdbcTemplate和JmsTemplate等。Template模式的基本思想是:在超类里将完成核心功能的 阅读全文

posted @ 2013-05-23 21:11 淇水na个弯 阅读(254) 评论(1) 推荐(0) 编辑

java多线程总结

摘要: 以前没有写笔记的习惯,现在慢慢的发现及时总结是多么的重要了,呵呵。虽然才大二,但是也快要毕业了,要加油了。这一篇文章主要关于java多线程,主要还是以例子来驱动的。因为讲解多线程的书籍和文章已经很多了,所以我也不好意思多说,呵呵、大家可以去参考一些那些书籍。我这个文章主要关于实际的一些问题。同时也算是我以后复习的资料吧,。呵呵大家多多指教。同时希望多结交一些技术上的朋友。谢谢。-------------------------------------------------------------------------------------------------------------- 阅读全文

posted @ 2013-05-23 20:59 淇水na个弯 阅读(144) 评论(0) 推荐(0) 编辑

2013年5月22日

Java事务处理全解析(四)—— 成功的案例(自己实现一个线程安全的TransactionManager) Java事务处理全解析(四)—— 成功的案例(自己实现一个线程安全的TransactionManager) Java事务处理全解析(四)—— 成功的案例(自己实现一个线程安全的Trans

摘要: 在本系列的上一篇文章中我们讲到,要实现在同一个事务中使用相同的Connection对象,我们可以通过传递Connection对象的方式达到共享的目的,但是这种做法是丑陋的。在本篇文章中,我们将引入另外一种机制(ConnectionHolder)来完成事务管理。这是一个关于Java事务处理的系列文章,请通过以下方式下载github源代码:git clonehttps://github.com/davenkin/java_transaction_workshop.gitConnectionHolder的工作机制是:我们将Connection对象放在一个全局公用的地方,然后在不同的操作中都从这个地方 阅读全文

posted @ 2013-05-22 22:04 淇水na个弯 阅读(238) 评论(0) 推荐(0) 编辑

Java事务处理全解析(三)——丑陋的案例

摘要: 在本系列的上一篇文章中,我们看到了一个典型的事务处理失败的案例,其主要原因在于,service层和各个DAO所使用的Connection是不一样的,而JDBC中事务处理的作用对象正是Connection对象,所以不同DAO中的操作不在同一个事务里面,从而导致事务失败。从中我们得出了教训:要避免这种失败,我们可以使所有操作共享一个Connection对象,这样应该就没有问题了。请通过以下方式下载本系列文章的github源代码:git clonehttps://github.com/davenkin/java_transaction_workshop.git在本篇文章中,我们将看到一个成功的,但是 阅读全文

posted @ 2013-05-22 22:03 淇水na个弯 阅读(193) 评论(0) 推荐(0) 编辑

导航