摘要:
任何语言、框架的发展都是为了降低程序之间的依赖性和耦合性,使重用性达到最高。 在我们平时的四层框架中,界面层page、action层、业务逻辑层service、数据访问层dao,虽然分层明确,代码清晰,但是层与层之间有着很高的依赖性,比如service层处理业务逻辑构造sql语句时需要引用dao层的对象,调用dao层的方法执行sql语句,而action层处理界面动作的时候又要引用service层的对象,调用service层的方法,这样一来,实例action对象的时候要同时实例至少一个service对象和一个dao对象,这样依赖性太强,因此我们把他们做成接口,只在类里写各层的引用,而不对引... 阅读全文
摘要:
俗话说,人多好办事!在程序里也是这样,如果是同一 个应用程序需要并行处理多件任务,那就可以创建多条线程。但是人多了,往往会出现冲突,使得这个工作无法再进行下去了,(三个和尚没水喝啊!)这就是“死锁”。 死锁,举个形象的例子,就像3(A、B、C)个人在玩3个球(1、2、3),规则很简单:每个人都必须先拿到自己左手边的球,才能拿自己右边的球,两手都有球之后,才能把球都放下。这个游戏看起来似乎可以永远进行下去,但是若干局之后,如果三个人刚好都只拿到左手边的球,都等着那右手边的球,但是因为谁都不能放手,那么这三个人(线程)都将陷入无尽的等待中了,这就是传说中的“死锁”。 下面就用Java举例,例子中已 阅读全文
摘要:
Spring MVCPKStruts2struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置。spring3 mvc可以认为已经100%零配置了(除了配置spring mvc-servlet.xml外)。Spring MVC和Struts2的区别:1. 机制:spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了(Filter可认为是Servlet的一种“变种”,它主要用于对用户请求进 阅读全文
摘要:
当我们打开一个网页时,浏览器要向网站服务器发送一个HTTP请求头,然后网站服务器根据HTTP请求头的内容生成当次请求的内容发送给浏览器。你明白HTTP请求头的具体含意吗?下面一条条的为你详细解读,先看某一次HTTP请求头的具体内容:Accept-Language: zh-cn,zh;q=0.5Accept-Charset: GB2312,utf-8;q=0.7,*;q=0.7Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encoding: gzip, deflateUser-Agent 阅读全文
摘要:
/*** nio不同于传统的 stream i/o, nio 是一种 block i/o* * nio 将最耗时的I/O操作(提取/填充缓冲区)的动作转回给操作系统* * 传统的 i/o 一次一个字节的处理数据(一个输入流产生一个字节的数据,一个输出流消费一个字节的数据,流式数据创建过滤器很容易,确定是比较慢)* * nio采用的块的方式来处理数据,每一个操作都在一步中产生或者消费一个数据块* * nio库中,所有的数据都是用缓冲区处理的。读取数据的时候,它是直接到缓冲区中的。写入数据的时候,它是写入到缓冲区中的。任何时候访问NIO中的数据,都是将其放入到缓冲区中的* * 缓冲区实质上是一个数 阅读全文
摘要:
一、人物简介 李昌钰博士(Henry Chang-Yu Lee,1938年11月22日-)是世界知名的刑事鉴识专家。 李于中国江苏省如皋出生,国共内战结束后,他随母亲迁往台湾。1960年于中央警官学校(现在的中央警察大学)取得警察科学学位,并于台北市警局工作,同年他获晋升为警长,成为中华民国史上最年轻的警长。 1964年赴美国留学,并在1972年于纽约市立大学约翰·杰伊学院刑事科学系取得学士学位。之后又先后获纽约大学生物化学及分子化学硕士学位(1974年)和博士学位(1975年)。 李昌钰现在是美国康涅狄格州科学咨询中心的名誉主席(Chief Emeritus for Scienti 阅读全文
摘要:
本文转自:http://blog.csdn.net/zhouxinhong/article/details/7518230一、数据库事务的定义数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、 一致性、隔离性和持久性)属性。 1. 原子性(atomic),事务必须是原子工作单元;对于其数据修改,要么全都执 阅读全文
摘要:
人们都说:思想的高度决定人生的高度,对此,我深信不疑!工作了三年有余,偶尔也会有一些思绪、想法愿意和同行讨论,但苦于没有找到一个地方让思路得到延长,2012年10月20日,突然间想到自己应该,也必须写点什么了,我会将自己遇到的和之前没有理解透彻的,尽可能多的拿出来和同行分享,让思想能够找到伙伴,让思想变得更长、更宽。博客园,我陪你一起走! 阅读全文