`
文章列表
很多人对二级缓存都不太了解,或者是有错误的认识,我一直想写一篇文章介绍一下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操作 生产者/消费者 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 ...
首先:从表面区别来看,接口是只有方法声明,没有方法体。抽象类有方法体和实现,而且还可以有属性特征。 其次:为什么不能全部用抽象代替接口,因为接口强调的是动作的继承,而不是所有东西都继承,抽象只能是纯粹的继承了。考虑一个问题,如果一只狗和一只候子都有爬树的功能,如果用接口,大家实现爬树就行了,如果用抽象类,那狗继承候的特征还有候尾巴什么的。 再次:接口为什么可以多重实现,因为他只关注动作本身,不关注其他东西。比如爬树,如果继承候的爬树方法,显然狗爬树和候是不一样的。如果你用接口,仅仅是定义了这个动作,具体怎么爬是他们的事情 。但用继承,却可以继承爬树的一些具体细节,运用的情况也要因地制宜了。 ...
在利用jmesa物理分页时试了很久用tag达不到目标。下面是我的代码 <jmesa:tableFacade                 id="table"                 items="${page.result}"                 exportTypes="csv,excel,pdf"                 stateAttr="restore"                 var="item"                 > ...
Global site tag (gtag.js) - Google Analytics