- 浏览: 257897 次
- 性别:
- 来自: 沈阳
-
最新评论
-
wahahachuang8:
GoEasy 实时推送支持IE6-IE11及大多数主流浏览器的 ...
关于服务器推送 -
vfgvfrgvs:
引用引用引用引用引用引用引用引用引用[list][*][lis ...
一个纯java的验证码识别算法 -
656615066lkl:
[color=brown][/color]cczxCZCX
一个纯java的验证码识别算法 -
keephope:
求教一下。是不是这个程序只能分辨出间距相等的验证码的内容呢
一个纯java的验证码识别算法 -
boke_xu:
你好,有关javaocr的问题想请教下你。
打开你的项目,运行 ...
一个纯java的验证码识别算法
文章列表
<p>1,什么是n+1次查询</p>
<p>在使用Hibernate,或者ibatis等工具查询数据库的时候,由于缓存,或者lazyload(懒加载)等原因,可能会造成要查询n个结果,但是不得不执行n+1次查询数据库操作,造成效率低下。</p>
<p>2,使用Hibernate,什么时候会产生n+1次查询</p>
<p>a,使用iterate查询的时候</p>
<p>例如:</p>
<p>Query q=session.createQuery("fro ...
- 2009-04-09 07:24
- 浏览 953
- 评论(0)
<p>分布式缓存:</p>
<p>一种好的方式:使用一台服务器作为缓存,而不要使用多台(中央缓存)。</p>
<p>如果在多台服务器上使用缓存,oscache也是支持的,只要进行一下配置。</p>
<p>适合缓存的的数据:</p>
<p>读取的次数大约修改的次数,频繁的修改反而会降低效率。</p>
<p>缓存的数据量不能太大</p>
<p>使用缓存的时候,使用缓存的系统要有独享的控制权。或者可以容忍无效数据。</p>
...
- 2009-04-08 07:45
- 浏览 768
- 评论(0)
<p>1,hibernate在查找数据的时候,会首先从一级缓存里面查找,再从二级缓存里面查找。</p>
<p>2,在缓存里找到的话,叫做“命中”。如果命中率过低的话,会导致使用二级缓存反而降低效率的问题。</p>
<p>3,如果想要观察二级缓存的命中率等信息,可以把统计信息打开</p>
<p> <property name="generate_statistics">true</property ></p>
<p> ...
- 2009-04-08 07:00
- 浏览 743
- 评论(0)
<p>关于二级缓存</p>
<p>1,hibernate并没有实现二级缓存,而是使用第三方的二级缓存机制,因此要是用二级缓存必须配置</p>
<p> cache.use_second_level_cache为true。把二级缓存打开。</p>
<p>2,第二步,要把使用的cache提供者表明。</p>
<p> 例如,设置cache.provider_class为org.hibernate.cache.osCacheProvider</p>
<p> 注意osCache ...
- 2009-04-08 06:42
- 浏览 878
- 评论(0)
<p>关于一级缓存:</p>
<p>1,一级缓存,在session内部,随着session的关闭而被清空</p>
<p>2,放入一级缓存的方式有很多,大部分增删改查,都会加入。比如save update saveandupdate load get list iterate lock 等等。</p>
<p>3,能够从一级缓存取数据的方式不多,只有get load iterate</p>
<p>4,Hiberate会自动更新缓存中的数据。</p>
<p>5,如果想清除 ...
- 2009-04-07 07:34
- 浏览 1011
- 评论(0)
<div><span style="font-size: x-small; font-family: Verdana;">
<div>packagesrc.study.regex;</div>
<div>importjava.util.regex.Matcher;</div>
<div>importjava.util.regex.Pattern;</div>
<div>publicclassClass1{</div>
<div>publicsta ...
- 2009-03-25 23:20
- 浏览 3735
- 评论(0)
<p>使用场景:使用的对象占用大量的内存,或者产生该对象的速度很慢,或者产生该对象对服务器造成很大的负载,此时要考虑对该对象进行缓冲,在产生一个以后不要马上销毁,而应该保存起来,并建立索引,这样别的请求再来的时候,可以首先从pool中获取,如果失败,再重新建立。</p>
- 2009-03-22 13:52
- 浏览 866
- 评论(0)
<p>1,可以实现 dividual and conquer。对于比较复杂的操作。可以根据环境状态(用实现了state的不同类表示)的不同,采取不同的应对策略。环境状态越多的时候,采用state pattern的效果越明显,这样可以避免很多if语句。</p>
<p>2,根据状态的不同处理也不同。StatePatter接口的要点是把state设置为接口,在实现了check的类中,公开可以改变state的api,当该api(直接或者间接)被调用的时候,state实现类随之被改变。</p>
<p>3,check接口的方法都是回调方法,其设置的 ...
- 2009-03-22 11:23
- 浏览 1034
- 评论(0)
<p>使用Observer来观察实现了某一个特定接口的对象,我觉得最好把observer放到与所观察的对象不同的线程中,这样可以实现每隔一定时间来扫描一次该对象,看是否有所改动。</p>
- 2009-03-21 07:38
- 浏览 879
- 评论(0)
<p>当各个对象之间的关系比较复杂的时候,如果把控制逻辑放入到对象中,就会是整个逻辑变得复杂,引起要把这些逻辑抽象出来,设置Mediator的角色,进行统一控制。<br>每个对象中都包含一个mediator对象(实际上如果对象可以被划分为主动对象和被动对象的话,那么被动对象实际上并没有必要包含有mediator对象,因为他没有机会告诉mediator自己的状态。<br>在mediator pattern中扮演mediator的类会非常复杂,而且不利于被重新利用,但这也正是mediator pattern的初衷:把复杂的通讯逻辑从各个对象中抽离出来。因此虽然me ...
- 2009-03-19 06:56
- 浏览 897
- 评论(0)
<p>pe8.1_02|javax.enterprise.system.stream.err|_ThreadID=12;|java.lang.SecurityException: Sealing violation </p>
<p>loading oracle.sql.BlobDBAccess : Package oracle.sql is sealed.<br>at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1764) ...
- 2009-03-13 16:44
- 浏览 1424
- 评论(0)
<p>我还是觉得结城浩的书中给的例子是符合chain responsibility 的精神的,链上所有的节点都是support的实现类,这才符合chain的含义。</p>
- 2009-03-12 22:51
- 浏览 913
- 评论(0)
<p>该模式中,核心的角色是trouble分发模块,在改角色中,保存有一个chain support的句柄,但是在结城浩的书中,把改角色也写成是一个support的实现类,只是什么都不做,我觉得这样反而不容易理解。最好把这个角色抽象出来。</p>
<p><br>public class TroubleHandler {<br>private Support support;</p>
<p>public TroubleHandler(Support support) {<br>this.support ...
- 2009-03-12 22:16
- 浏览 925
- 评论(0)
<div>1,abstract layer:作为整个persistencelayer 的对外接口,因此位于该层的方法不应该有任何的有有关于执行细节的参数,也不应该返回任何任何独立于persistence的的值或者异常。如果有一个设计良好的abstract layer,那么存储结构和persistence layer的任何变动都不应该引起 abstract layer的变动。有一些设计模式可以用来完成这一设计,比如dao。</div>
<div></div>
<div>2,The persistence framework。用来作为dri ...
- 2009-03-12 21:31
- 浏览 971
- 评论(0)