2013年6月22日

java多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?

摘要: 多线程有两种实现方法,分别是继承Thread类与实现Runnable接口同步的实现方面有两种,分别是synchronized,wait与notify先看一下java线程运行时各个阶段的运行状态java实现多线程有两种方法1、继承Thread类2、实现Runnable接口这两种方法的共同点:不论用哪种方法,都必须用Thread(如果是Thead子类就用它本身)产生线程,然后再调用start()方法。两种方法的不同点:1、继承Thread类有一个缺点就是单继承,而实现Runnable接口则弥补了它的缺点,可以实现多继承2、继承Thread类必须如果产生Runnable实例对象,就必须产生多个Run 阅读全文

posted @ 2013-06-22 23:09 淇水na个弯 阅读(12483) 评论(0) 推荐(1) 编辑

arrayList LinkedList HashMap HashTable的区别

摘要: ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查找非常麻烦 要丛第一个索引开始Hashtable和HashMap类有三个重要的不同之处。第一个不同主要是历史原因。Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。也许最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。这就意味着,虽然你可以不用采取任何特殊的行为就可以在一个多线程的 阅读全文

posted @ 2013-06-22 23:02 淇水na个弯 阅读(286) 评论(0) 推荐(0) 编辑

java中堆和堆栈的区别

摘要: java中堆和堆栈的区别(一)1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Java的垃圾收集器会自动收走这些不再使用的数据。但缺点是,由于要在运行时动态分配内存,存取速度较慢。 3. Java中的数据类型有两种。 一种是基本类型(primitive types), ... 阅读全文

posted @ 2013-06-22 22:58 淇水na个弯 阅读(248) 评论(0) 推荐(0) 编辑

2013年6月17日

hibernate的优化

摘要: 1.使用双向一对多关联,不实用单项一对多2.不用一对一,使用一对多3.配置对象缓存,不使用集合缓存 阅读全文

posted @ 2013-06-17 22:48 淇水na个弯 阅读(103) 评论(0) 推荐(0) 编辑

Hibernate3提供的属性的延迟加载功能

摘要: Hibernate3增强了对实体属性的延迟加载功能,要实现这个功能,分两个步骤1.在hbm配置文件上对某个property设置lazy=true<property name="resume" type="java.lang.String" column="resume" lazy="true"/>2.需要对拥有resume的实体类二进制class文件进行强化处理(会嵌入很多CGLIB代码) Ant脚本如下:<projectname="hibernateSample"defaul 阅读全文

posted @ 2013-06-17 22:32 淇水na个弯 阅读(253) 评论(0) 推荐(0) 编辑

servlet与CGI的区别

摘要: 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。 阅读全文

posted @ 2013-06-17 22:30 淇水na个弯 阅读(209) 评论(0) 推荐(0) 编辑

过滤器和拦截器的区别

摘要: 过滤器,是在java web中,你传入的request,response提前过滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的 action进行业务逻辑,比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入servlet或者 struts的action前统一设置字符集,或者去除掉一些非法字符拦截器,是在面向切面编程的就是在你的service或者一个方法,前调用一个方法,或者在方法后调用一个方法比如动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串,甚至在你抛 阅读全文

posted @ 2013-06-17 22:15 淇水na个弯 阅读(190) 评论(0) 推荐(0) 编辑

2013年6月16日

Struts1、2种如何防止表单重复提交和两者的区别

摘要: 使用token指令牌就行了.在进入标签之前的action中通过saveToken方法保存指令牌.在表单提交后的action中判断这个token是否存在,如果存在允许插入,并通过resetToken把token重置,如果不存在,则表示重复提交,就可以直接返回错误页显示错误信息了.使用token有一个前提,就是表单必须使用html:form标签来完成==============================struts1、2的区别/**Action类Struts1要求Action类继承一个抽象类,Struts1使用抽象类编程而不是接口Struts2可以实现Action接口也可以不实现,Strut 阅读全文

posted @ 2013-06-16 22:56 淇水na个弯 阅读(956) 评论(0) 推荐(0) 编辑

Spring的5种事物配置方式

摘要: Spring事务配置的五种方式 前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分。 DataSource、TransactionManager这两部分只是会根据数据访问方式有所变化,比如使用Hibernate进行数据访问时,DataSource实际为 阅读全文

posted @ 2013-06-16 22:44 淇水na个弯 阅读(187) 评论(0) 推荐(0) 编辑

2013年6月3日

Hibernate cascade的问题(关联操作)

摘要: cascade属性的可能值有 all: 所有情况下均进行关联操作,即save-update和delete。 none: 所有情况下均不进行关联操作。这是默认值。 save-update: 在执行save/update/saveOrUpdate时进行关联操作。 delete: 在执行delete 时进行关联操作。 all-delete-orphan: 当一个节点在对象图中成为孤儿节点时,删除该节点。比如在一个一对多的关系中,Student包含多个book,当在对象关系中删除一个book时,此book即成为孤儿节点。像你的问题,设置成save-update就可以了 阅读全文

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

导航