`
nihongye
  • 浏览: 102045 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
缘起 今天,发生了一些事情,事情是这样的: 早上9点钟,乔布斯找我借了100块钱,他说下午或明天还 到了10点钟,库克找我还他的100块钱,我正忙,很烦库克(100块钱都好意思找我还),就让他找乔布斯要去。 到了下午2点, ...
我总结的设计思想:不要多线程、一切都在内存中、顺序写硬盘 平台情况: http://www.lmax.com/ 4: Hardware  The 6 million TPS benchmark was measured on a 3Ghz dual-socket quad-core Nehalem based Dell server with 32GB RAM. 5: The team does not use the name Business Logic Processor, in fact they have no name for that component, just referr ...
今天系统部署,发现web应用之间,粘性会话的配置不起作用。因为配置stickysession=JSESSIONID而JSESSIONID生成在各个应用的path下。 在apache中的mod_proxy_balancer.c中: static char *get_cookie_param(request_rec *r, const char *name) { const char *cookies; ...
Hibernate的ReadWriteCache分析及在集群环境下之分析: ReadWriteCache与读写锁: ReadWriteCache从名字上看,我们联想到该实现与读写锁有关。读写锁的特征,可并发读,读写互斥,写互斥。 读方法的比较: 读方法实现如下: public synchronized Object get(Object key, long txTimestamp) throws CacheException { Lockable lockable = (Lockable) cache.get(key); boolean gettable = lockabl ...
     WJD(WEB+JAVA+DB)编程,由于spring,hibernate,struts2等众多框架的支持,局部代码已经可以变的很简洁,但代码在总的风格上,有两点比较重要:    避免包关系混乱 避免API膨胀。      特别对于Service+DAO这种方式,是必须废弃的,因为查询的多样化导致API膨胀。应该将大部分查询从API剔除,只保留小部分.使用如下形式来简化查询的调用: Query.create(Person.class).eq("id",id).find(); Query.create(Person.class).gt("age&quo ...
SAAS系统的安全控制简介:    控制URL资源    数据提取,在Action提取数据时,以会话所在租户作为方法参数    数据修改控制,验证被操作的数据所属租户与会话租户是否一致;实现的方法,通过Hibernate的事件机制进行验证    基于ACL机制的数据共享控制;实现方法:存放对象Id,可访问人,访问方式;通过Aop将相关的验证拦截器绑定到服务类,自动的提取参数或返回值进行验证。 这么做的理由,很简单,1,2,3逐步加深控制。控制url,只能控制访问的功能,不能控制数据;控制了数据的提取,控制不到数据的修改。 4则是为了丰富数据的控制,如业务员之间的销售数据互不可见,但又可通过共 ...
由于CookieProvider的长度4k限制,每次都提交cookie的内容 实现了一个基于firefox的gloabalStorage,基于ie的userdata的状态管理器,代码如下: Ext.state.SessionStorageStateProvider = function(config){ Ext.state.SessionStorageStateProvider.superclass.constructor.call(this); try{ if(Ext.isIE) { this.storage ...
jdk5中的ConcMarkSweepGC: 这种回收策略的目标是提供短暂的停顿时间:   它一共有两个暂停阶段,两个并发阶段(在多处理器环境下,使用一个回收线程与多个应用线程同时执行) 1.pause initial mark,在这个阶段,将停止所有应用线程,并在很短的时间内,标志出所有从根对象可直接到达的对象(如objects on thread stack, static objects and so on) 2.concurrent marking,在这个阶段,回收使用一个线程与应用线程并发执行,这个阶段可能会较长,但不会影响应用的执行。 3.pause remark,在这个阶段,将停止 ...
在单页式的Extjs应用中,由于Extjs存在许多的全局变量,这些全局变量包括了如: Element Cache,Event Cache,ComponentMgr,ButtonMgr等等,内存的泄漏往往由于组件销毁时,没注意清除这些变量而引起。在2.2由guig提供的patch包,很大程度上保证了Extjs自带的组件正确的销毁。 下面提供一个检测ComponentMgr中是否累积了Component的代码: function() { var items = Ext.ComponentMgr.all.items; var comI ...
/**费用计算器超类*/ var RateMap = function() { this.rates = []; this.initRate(); } RateMap.prototype = { rates:null, /**查找费率记录*/ findRecord:function(con) { for (var i = 0; i < this.rates.length; i++) { var rate = this.rates[i]; ...
1.启用写回机制,优化随机写: ext3支持三种模式:     journal_data,journal_data_ordered,journal_data_writeback 这三种模式在大多数情况下,性能从低到高,安全性从高到低,journal_data_writeback启用写回缓存,在遇到断电的情况会出现数据不一致问题(如,硬盘本身带有写回缓存,默认也是启用的,断电同样的有问题;磁盘阵列控制卡也带有比较多的缓存),写回缓存的主要作用是能对随机读写,起到优化作用。 ubuntu下:可以通过 sudo tune2fs -o journal_data_writeback /dev/hdx..来 ...
因为问答频道询问这个问题,自己也遇到过,以前是用动态改变south大小来实现的,尝试直接实现一个动态的BorderLayout,发现很简单,下面代码改写自BorderLayout的代码,实现BorderLayout区域的动态增减: 布局控制器的代码: Ext.layout.DynamicBorderLayout = Ext.extend(Ext.layout.BorderLayout, { onLayout : function(ct, target) { var collapsed = []; target.position(); if (!this.rendered ...
对查询 select distinct product0_.id as id62_........................................................ from t_product product0_, t_product_catagory productcat1_ where product0_.catagory_id=productcat1_.id and product0_.site_id='54586546898098098' and product0_.state=1 and productcat1_.publ ...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset ...
1.function 1.key word:def x(arguments) 2.docstring,at the firstline of function body,for example'***print hello world***' 3.arguments style:formal and positonal. definition like: 1.(a,keyword1="a",keyword1="b") 2.(a,*arguments1,**keywordTypeArguments2) ...
Global site tag (gtag.js) - Google Analytics