- 博客(50)
- 收藏
- 关注
原创 java 多线程设计模式详解
第1章 死锁条件:1)多个竞争者,2)占有并保持,3)占有顺序不固定 继承异常和可重用性:父类设置了同步,而子类没有。 lock() ..... throw exception return unlock() 在之中如果抛出异常,或返回,那么可能没有释放锁。要用try,fi...
2011-04-07 15:35:27
134
原创 Core java 7 2-1 Multithreading
Thread proorityes: highly system dependent xp 系统有level,linux没有poriority 。 不能依靠priority来完成程序正确性。 如果有好几个高priority的不会blocked的线程,容易出现低poriority线程饥饿现象。 Daemon Thread 如果只剩daemon thread 虚...
2010-07-08 18:33:17
164
原创 Core java 7 2-3 NetWorking
3.1 链接到服务器Socket s = new socket();s.getInputStream(); s.getOutputStream(); 3.2 实现服务器ServerSocket s = new ServerSocket(8189);Socket incoming = s.accept(); 多线程服务器 3.3 发送Email (用socke...
2010-07-07 15:46:20
156
原创 core java 2-2 Collections
circularArrayQueue (ArrayBlockingQueue) thread iterator 代替 enumeration删除两个元素,不能连续remove linkedlist 是双向链表listIteratorL 多一个previos() 不能有多个更改list的iterator在操作。(添加删除,set()方法除外)iterator的a...
2010-07-05 16:43:06
117
原创 java 基础
6、说出Servlet的生命周期,并说出Servlet和CGI的区别。 Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。 与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其ser...
2010-06-19 15:40:34
118
原创 挑错题
JAVA代码查错 1.abstract class Name { private String name; public abstract boolean isStupidName(String name) {} } 大侠们,这有何错误? 答案: 错。abstract method必须以分号结尾,且不带花括号。 2.public class Somet...
2010-06-19 15:00:27
223
原创 4 spring AOP (spring 2.0 技术手册)
spring2.0 提供三种AOP实现方式:1. spring1.2前版本, 实现AOP的接口,在xml配置。2. spring2.0 <aop>标签,不用实现接口3. @AspectJ的Annotation支持 JDK5.0 advices:MethodBeforeAdvice (before advice)AfterReturningAdvice...
2010-06-03 14:03:02
135
原创 10 类型检查
分为两种:传统RTTI和reflection 传统RTTI: 多态时用到。基类引用子类,调用多态方法时进行RTTI。 强制类型转换。 检查是否能转,不能转抛出异常,(运行时) 获取Class对象的方法: Class.forName(); Object.class;stiatic函数,在类首次载入时运行。(按需运行) new 一个对...
2010-05-31 11:27:21
148
原创 (zz)html简史
HTML 是 Web 统一语言,这些容纳在尖括号里的简单标签,构成了如今的 Web。1991 年,Tim Berners-Lee 编写了一份叫做 “HTML 标签”的文档,里面包含了大约20个用来标记网页的 HTML 标签。他直接借用 SGML 的标记格式,也就是后来我们看到的 HTML 标记的格式。本文讲述了 HTML 这门 Web 标记语言的发展简史。从 IETF 到 W3C: HT...
2010-05-15 13:20:25
135
jQuery $ 冲突
(function($) {</p><p> // 这里面的 $ 属于 jquery</p><p>})(jQuery); 我们的jQuery代码可以这样写:var jq = jQuery.noConflict(); //把$让给第一个实现它的库,用jq代替jq(function(){//************...
2010-04-21 10:01:45
104
Cookie的特殊字符问题(一个下午)
我们在实际使用Cookie过程中要注意一些问题: 1. Cookie的兼容性问题 Cookie的格式有2个不同的版本,第一个版本,我们称为Cookie Version0,是最初由Netscape公司制定的,也被几乎所有的浏览器支持。而较新的版本,Cookie Version 1,则是根据RFC2109文档制定的。为了确保兼容性,JAVA规定,前面所提到的涉及Co...
2010-04-01 09:16:57
280
(zz )Ant path 匹配原则
Ant path 匹配原则 路径匹配原则(Path Matching) Spring MVC中的路径匹配要比标准的web.xml要灵活的多。默认的策略实现了org.springframework.util.AntPathMatcher,就像名字提示的那样,路径模式是使用了ApacheAnt的样式路径,Apache Ant样式的路径有三种通配符匹配方法(在下面...
2010-03-31 10:13:03
139
zz多对多关系中Set的查询
一个老师教多个学生,一个学生有多个老师。class Teacher { String id; String name; Set students; }class Student { String id; String name; Set teachers; }现在要查询教某一个学生(name为xxx)的老师。HSQL方法一:(性能最优)selec...
2010-03-16 10:36:30
108
原创 类淘宝购物车的实现
要做一个类似于淘宝的购物车功能。购物车一般会通过类似于cookie的功能实现。淘宝的购物车功能的特点是购物车信息能够跟随登录用户走。也就是已经登录的用户换了电脑,他的购物车信息仍然能够显示。这样的话,自然想到把用户信息和购物车信息存到数据库中。 分析了淘宝的一些cookie值,得出淘宝购物车的cookie名称用的是 t ,值应该是类似于sessionId的32位字符串。建立一张购...
2010-02-02 14:43:07
615
原创 Eclipse快捷键大全(转载)
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对...
2010-01-29 15:11:35
103
原创 字符,字节和编码(zz)
转自:http://www.regexlab.com/zh/encoding.htm 级别:中级摘要:本文介绍了字符与编码的发展过程,相关概念的正确理解。举例说明了一些实际应用中,编码的实现方法。然后,本文讲述了通常对字符与编码的几种误解,由于这些误解而导致乱码产生的原因,以及消除乱码的办法。本文的内容涵盖了“中文问题”,“乱码问题”。掌握编码问题的关键是正确地理解相关...
2010-01-15 16:03:46
185
enum类型映射到hbm.xml配置文件
jdk1.5推出的enum类型,在hibernate中一般是用注释做映射,这也是配合1.5提供的注释功能。但是如果要把enum类型映射到传统的xml配置文件中,怎么办?找到一种比较简单的方法。<property name="type" column="note_type" length="10"> <type name="org.hibernate.ty...
2009-12-15 11:36:04
211
原创 缓存使用
hibernate一级缓存 一级缓存很短和session的生命周期一致,一级缓存也叫session级的缓存或事务级缓存session中的map来实现那些方法支持一级缓存: * get() * load() * iterate(查询实体对象) (select * from 查询普通属性, 不支持) 不支持list(),每次...
2009-08-20 14:00:43
96
springsecurity 中的md5 + salt 加密
这里设置成username为salt,进行md5加密。那么在用户注册的时候应该把密码进行加密。可以用Md5PasswordEncoder这个类,是springsecurity内置的一个类。[code="java"] Md5PasswordEncoder md5 = new Md5PasswordEncoder();...
2009-08-19 14:35:14
960
原创 悲观锁
悲观锁悲观锁的实现,通常依赖于数据库机制,在整个过程中将数据锁定,其它任何用户都不能读取或修改乐观锁大多数基于数据版本记录机制(version)实现,一般是在数据库表中加入一个version字段读取数据时将版本号一同读出,之后更新数据时版本号加一,如果提交数据时版本号小于或等于数据表中的版本号,则认为数据是过期的,否则给予更新...
2009-08-14 14:56:05
126
原创 lazy策略
hibernate lazy策略可以使用在: * 标签上,可以取值:true/false * 标签上,可以取值:true/false需要类增强工具 * 标签上,可以取值:true/false/extra * 单端关联上,可以取值:false/proxy/noproxy lazy概念:只有真正使用该对象时,才会创建,对于hibernate而言,正真使用的时候才会发出sql...
2009-08-14 14:47:17
135
原创 多对多关联映射
hibernate多对多关联映射(单向User---->Role)具体映射方式: --------------------------------------------------------------------------------hibernate多对多关联映射(双向UserRole)映射方法: ...
2009-08-14 14:38:41
112
原创 一对多映射
hihernate一对多关联映射(单向Classes----->Student)一对多关联映射利用了多对一关联映射原理多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向一一对多关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是一指向多也就是说一对多和多对一的映射策略是一样的,只是站的角度不同在一一端维护关系的缺点: * 如果将...
2009-08-14 13:24:02
137
Java String subString() 截取截取等长字符串的函数
[code="java"]//内容摘要的长度控制为18个字,方便显示 for(int i = 0; i < newsLists.size(); i++){ News news = newsLists.get(i); String str = news.getContentAbstract(); int strLength = 36; int tem...
2009-07-23 15:14:12
354
Proxy
[img]/upload/attachment/125016/2c010776-f044-3d8e-8d61-a5225cd0e8b7.png[/img]使用的情况:1.远程代理(rmi,webservice)2.虚拟代理,开销较大的对象。3 安全代理:控制对象的访问权限4 智能指引:调用真实对象时,做一点其他的事情。...
2009-07-14 16:52:26
99
简单工厂,工厂,抽象工厂
简单工厂:把类的实例化转移到工厂类中[img]/upload/attachment/124591/cb58365e-ba3f-33f4-a710-945c2c6ae05a.bmp[/img]抽象工厂:把类的实例化转移到具体的工厂类中[img]/upload/attachment/124597/89121cff-7e04-3d6a-b3ab-1e7f9188c234.png[/i...
2009-07-13 11:15:20
93
装饰者模式
[img]/upload/attachment/122591/90a2ff10-08a0-3ffd-8594-f198bff3858c.png[/img]定义:动态地附加责任到对象上。若要扩展功能,装饰者提供了比继承更有弹性的方案。缺点是:可能引入很多小的类,使用者看起来麻烦。可以参考“工厂模式”和“生成器模式”设计原则: 对扩展开放,对修改封闭。应用场合:新巴兹咖...
2009-07-06 21:32:20
85
策略模式
[img]/upload/attachment/121818/2e873342-351a-3e41-8f64-ab9563a8f4f6.png[/img]上图是根据《Head First》系列的《设计模式》书中的鸭子案例画的策略模式图。策略模式定义:定义算法族,封装起来。可以相互替换。让算法的变换独立于使用算法的客户。设计原则:封装变化。在鸭子的例子中。首先是抽...
2009-07-03 22:04:40
100
命令模式
[img]/upload/attachment/121805/86330b43-e4ef-3424-ab75-f69a7b8046f5.png[/img]将“请求”封装成命令对象。把行为请求者和行为实现者进行解耦。同时,invoker用list来储存命令。可以实现撤销,命令。什么时候用?敏捷开发原则:如果不知道什么时候用,就先不要用。在需要的时候再实现也是比较容易的。...
2009-07-03 20:13:27
117
原创 struts2 拦截器
在struts.xml中配置1.配置拦截器 value ....... value 2.使用拦截器 3.配置包的默认拦截器 .....
2009-06-19 11:12:51
81
原创 Struts2 OGNL
%的作用标签的属性为字符串类型时,仍然计算OGNL表达式的值。如果标签属性本来就是ognl表达式,则没有用。<s:url value="%{#foobar['foo1']}" />因为value的属性本来是string,也就是里面写的是什么就显示什么。如果用%{},那么{}里面的就会被当作ognl语言来运行了。 8.2 Str...
2009-06-17 11:26:53
90
原创 EL表达式语言
${user.name}${user["name"]}两者等价。注意的是:包含连字符('-')等一些特殊操作符时,必须要用"[]",不能用'.'。例如:${ header["User-Agent"] }。算术操作符: ${23 / 5} 结果:4.6关系操作符: ${ 23 == 5} 结果: false逻辑操作符: ${23 && 5}...
2009-06-08 17:17:33
119
原创 xss 攻击相关
[img]javascript:alert("hahaha")" alt="[/img]XSS的触发条件包括:完整无错的脚本标记,访问文件的标记属性和触发事件。 alert("aaaaa")
2009-05-31 16:55:34
99
原创 DOM概念
三种节点: Don't forget buy the stuff 元素节点(element node): p文本节点(text node): Don't forget buy the stuff 属性节点(attribute node):title = “notes”getElementById() 返回一个对象 ( 元素节点)getElementByTagName()...
2009-05-22 10:14:13
126
原创 js语法
js的语句可以不用分号分隔,只要分成两行就可以了。推荐用分号。变量可以不声明就用,推荐声明。区分大小写。数组的声明:var array = Array(4)或者 Array() 或者 Array("john",1234, true);两个指向同一个数组的变量,一个改变,另一个也变。关联数组:array["name"] = "jhon";array["ye...
2009-05-22 09:59:48
99
原创 jsp 标签库相关
从jsp 1.1开始就有传统标签,从jsp2.0开始新增,简单标签。标签描述符:TLD(tag library descriptor) 当标签部署在jar包中时,tld放在jar包的META-INF目录或其子目录下。当标签部署在Web应用程序中时(自定义标签),tld文件放在WEB-INF目录或其子目录下,但不能在lib 或 classes目录下,一般是间隔tlds文件夹。部...
2009-05-20 23:01:47
82
原创 jsp语法
jsp 包括 元素和模板。模板数据是jsp不处理的部分(html)jsp2.0规范,元素有三种类型:指令元素、脚本元素、动作元素。1.指令元素(derective element): 还有xml的模式。 1)page指令: import属性,默认导入的包是java.lang.*, javax.servlet.*, javax.servlet.jsp.*, ja...
2009-05-20 10:34:54
68
javabean属性命名问题
这个问题有点无聊,但是我花了一个下午才找到点规律。过程中搜了网上的很多资料。http://www.iteye.com/topic/137565这篇讨论很有参考性。javabean的命名规范可以从http://java.sun.com/javase/technologies/desktop/javabeans/docs/spec.html下载,不过我没有下载成功。javabe...
2009-05-19 23:24:49
142
原创 Servlet相关
[img]http://hfhwan.iteye.com/upload/attachment/102513/17299074-3709-3d58-a92c-cbca4edfa965.png[/img][b]ServletContext接口[/b]是服务器中的一个一直路径的根。有容器厂商提供实现。一个程序只有一个,可被所有servlet访问。请求转发。 sendRedirect和...
2009-05-11 23:22:51
82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人