- 浏览: 18817 次
- 性别:
- 来自: 广州
最新评论
文章列表
很多人对二级缓存都不太了解,或者是有错误的认识,我一直想写一篇文章介绍一下hibernate的二级缓存的,今天终于忍不住了。
我的经验主要来自hibernate2.1版本,基本原理和3.0、3.1是一样的,请原谅我的顽固不化。
hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。
二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache、oscache等,需要设置hibernate.cache.provider_cla ...
在一些投票之类的场合,我们往往因为公平的原则要求每人只能投一票,在一些WEB开发中也有类似的情况,这时候我们通常会使用COOKIE来实现,例如如下的代码:
< % cookie[]cookies = request.getCookies();
if (cookies.lenght == 0 || cookies == nu ...
查询锁
select * from v$session t1, v$locked_object t2 where t1.sid = t2.SESSION_ID;
解除锁
( sid ,serial#)
alter system kill session '867,42231';
JavaScript在IE中“意外地调用了方法或属性访问
FF是正常的,IE报“意外地调用了方法或属性访问”。
同样一段代码,两次调用,一次通过,一次异常:
function clearSelect(obj){
if(obj && obj.options)
obj.options.length=0;
}
以下是前人的一些经验:
这是两个经典异常,不知道原理的话很难定位。从下面的代码中可用看到发生的条件
<iframe src="javascript:'<script>top.ff1={abc:function(){}}< ...
这是Struts2.1.8.1应用,关于表单重复提交的原理,参见代码注释
首先是web.xml文件
view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="UTF-8"?>
02.<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
03. xmlns:xsi="http://www.w3.org/2001/XMLSch ...
今天遇到一个需求需要把基本资料和图片资料分成两个form表单分别提交,在提交基本资料表单然后再提交图片表单时报拒绝访问错误。查找原因是图片域文件上传采用了button的onclick事件让file.onclick代替默认的浏览所引起的js安全问题。采用css控制选择文件的样式透明,浮在选择照片的按钮上方就可以了。如下:
<form name="photoForm" id="photoForm" method="post" action="xxx.action" enctype="multipart/ ...
PV操作 生产者/消费者
- 博客分类:
- 学习笔记
PV操作 生产者/消费者
P操作-----申请资源
V操作-----释放资源
P(S):①将信号量S的值减1,即S=S-1;
②如果S<=0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。
V(S):①将信号量S的值加1,即S=S+1;
②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。
一组生产者,一组消费者,公用n个环形缓冲区
empty——表示缓冲区是否为空,初值为n。
full——表示缓冲区中是否为满,初值为0。
mutex1——生产者之间的互斥信号量,初值为1。
mutex2——消费者之间的互斥信号量,初值为1。
...
cmd启动:
C:\Users\cj>cd C:\Program Files\MySQL\MySQL Server 5.0\bin
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -uroot -p
Enter password: ****
导出:xxx为数据库名字
C:\Users\cj>cd C:\Program Files\MySQL\MySQL Server 5.0\bin
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump -uroot -p xxx> ...
java中存在对多个对象加锁的情况,例如: 在银行系统转账时,需要锁定两个账户,这个时候,顺序使用两个synchronized可能存在死锁的情况,在网上搜索到下面的例子:
Java代码
1.public class Bank {
2. final static Object obj_lock = new Object();
3.
4. // Deadlock crisis
5. public void transferMoney(Account from, Account to, int number) {
6. synchr ...
浮点数的表示和基本运算
1 浮点数的表示
通常,我们可以用下面的格式来表示浮点数
S P M
其中S是符号位,P是阶码,M是尾数
对于IBM-PC而言,单精度浮点数是32位(即4字节)的,双精度浮点数是64位(即8字节)的。两者的S,P,M所占的位数以及表示方法由下表可知
S P M 表示公式 偏移量
1 8 23 (-1)S*2(P-127)*1.M 127
1 11 52 (-1)S*2(P-1023)*1.M 1023
以单精度浮点数为例,可以得到其二进制的表示格式如下
S(第31位) P(30位到23位) M(22位到0位)
其中S是符号位,只有0和1 ...
首先:从表面区别来看,接口是只有方法声明,没有方法体。抽象类有方法体和实现,而且还可以有属性特征。
其次:为什么不能全部用抽象代替接口,因为接口强调的是动作的继承,而不是所有东西都继承,抽象只能是纯粹的继承了。考虑一个问题,如果一只狗和一只候子都有爬树的功能,如果用接口,大家实现爬树就行了,如果用抽象类,那狗继承候的特征还有候尾巴什么的。
再次:接口为什么可以多重实现,因为他只关注动作本身,不关注其他东西。比如爬树,如果继承候的爬树方法,显然狗爬树和候是不一样的。如果你用接口,仅仅是定义了这个动作,具体怎么爬是他们的事情 。但用继承,却可以继承爬树的一些具体细节,运用的情况也要因地制宜了。
...