在《与IoFilter相关的几个类》和《与IoHandler相关的几个类》两篇文档中我们了解了IoFilter和IoHandler的基本用法,以及其相关类的作用和用途。在本文中主要探讨IoFilter和IoHandler的主要区别和联系。在上面的两篇文档中都提到了IoFilter和IoHandler都是对服务器或客户端(IoAcceptor/IoConnector)接收到的数据进行处理。在Mina的官方文档《Thehigh-performanceproto
系统 2019-08-29 23:01:54 1995
4月30号加班到很晚,1号一直就睡到中午,起来就打开电脑,真的哪都不想去,后来朋友软磨硬泡才答应去深圳转转,毕竟来广州这么久了,深圳同学还是挺多的~。下午5点才坐车去车站买票,居然也买到了,一路上睡过来,晚上9点才到的深圳,也不知道到了哪,经过一点波折找到朋友后就住下了。第二天被装修房子的鸟人吵醒就再也睡不着了,随便吃了点早点,就搭公车去听闻已久的世界之窗,深圳的公车都是买票的,这点我很佩服售票员啊~到了那里果然很多人。后来决定先去红树林。。。。。(省略若
系统 2019-08-29 22:37:50 1995
本文展示了实际项目中使用到的一个工厂模式实现,在向系统中添加新类型时,只需要在新类型的实现文件这一处做改动,将新增类型对应用程序代码的干扰降到了最低。这个工厂实现的基本思想是:继承自同一个接口的新类型,通过一个函数来创建其对象,利用C++中类的构造函数会被自动调用这一特性,在新类型的实现文件中定义一个静态的(辅助)类对象,在该辅助类的构造函数中,向工厂单例注册新类型的创建函数。先看下代码,然后我们一一来解释。下面是命令接口CommandObject的头文件
系统 2019-08-29 22:35:19 1995
到现在才真正体会到一个人做项目的感受,我说的不是一个人做着玩的。在一个公司里给他们做项目管理软件(他们的项目不是软件项目哦)。我一个人充当了好多人的角色,我也不认为到现在为止我的水平有多高,但是我现在确实是充当软件架构师的角色。项目到现在做了有两个多月了,在这个过程中出现了不少系统框架上的问题还有数据库设计的不完善造成的一系列问题。从一开始就没有做完整的需求分析,因为那个时候他们也不是很清楚要做一个什么样的东西出来,需求都很模糊。只是一个大概的构想,我但是
系统 2019-08-29 22:32:36 1995
首先要声明这一篇不是我写的。为什么我要在自己的Blog里转载别人的东西呢。我觉得这就好像我自己和自己下的一个赌注。我希望在很多年后我重新看到这篇文章的时候我已经成功忘记掉了一个人。那么我就赢了。怎样忘记一个人“在这里我将教给大家如何忘记一个人。全国各地的语文老师教你识字的方法都是一样的,发你一田字本,让你反复的写某一汉字,直到记住为止。你也不知道怎么样才算记住了,于是就不停地写不停地写,期间出现一件有趣的怪事,当写字这件事情重复到一定程度之时,笔下的汉字居
系统 2019-08-29 22:28:58 1995
目录贴:跟我学Shiro目录贴1.1简介ApacheShiro是Java的一个安全框架。目前,使用ApacheShiro的人越来越多,因为它相当简单,对比SpringSecurity,可能没有SpringSecurity做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的Shiro就足够了。对于它俩到底哪个好,这个不必纠结,能更简单的解决项目问题就好了。本教程只介绍基本的Shiro使用,不会过多分析源码等,重在使用。Shiro可以非
系统 2019-08-29 22:00:48 1995
从入职京东到现在,做读服务已经一年多的时间了,经历了各种亿级到百亿级的读服务;这段时间也进行了一些新的读服务架构尝试,从架构到代码的编写,各个环节都进行了反复尝试,压测并进行调优,希望得到一个自己满意的读服务架构。一些设计原则无状态数据闭环缓存银弹并发化降级开关限流切流量其他无状态如果设计的应用是无状态的,那么应用就可以水平扩展,当然实际生产环境可能是这样子的:应用无状态,配置文件有状态。比如不同的机房需要读取不同的数据源,此时就需要通过配置文件指定。数据
系统 2019-08-29 22:00:35 1995
当所有的静态查找结构添加和删除一个数据的时候,整个结构都需要重建。这对于常常需要在查找过程中动态改变数据而言,是灾难性的。因此人们就必须去寻找高效的动态查找结构,我们在这讨论一个非常常用的动态查找树——二叉查找树。二叉查找树的特点下面的图就是两棵二叉查找树,我们可以总结一下他的特点:(1)若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值(2)若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值(3)它的左、右子树也分别为二叉查找树我们中
系统 2019-08-29 21:59:55 1995
1、引用计数收集器(ReferenceCounting)引用计数是垃圾收集的早期策略。在这种方法中,堆中每一个对象都有一个引用计数。一个对象被创建了,并且指向该对象的引用被分配给一个变量,这个对象的引用计数被置为1。当任何其他变量被赋值为对这个对象的引用时,计数加1。当一个对象的引用超过了生存期或者被设置一个新的值时,对象的引用计数减1。任何引用计数为0的对象可以被当作垃圾收集。当一个对象被垃圾收集的时候,它引用的任何对象计数值减1。在这种方法中,一个对象
系统 2019-08-29 21:59:34 1995
CriteriaQuery通过面向对象化的设计,将数据查询条件封装为一个对象。简单来讲,CriteriaQuery可以看作是传统SQL的对象化表示,如:Criteriacriteria=session.createCriteria(User.class);criteria.add(Expression.eq("name","Erica");criteria.add(Expression.eq("sex",newInteger(1)));这里的criteri
系统 2019-08-12 09:30:03 1995