`
文章列表
AOP编程中,其实现有两种方式:1、基于接口的动态代理  2、基于CGLIB的动态代理。今天主要说说基于接口的动态代理,这种代理有一点需要注意的是,内部之间调用是无法被拦截的,这个缺陷跟基于接口的动态代理实现机制有关。
       今天心血来潮,突然想把多年前写的一套设备协议动态编码解码框架分享给大家。这套框架谈不上设计的很好(从构思到实现只用了3、4天时间,没有经过精雕细琢),但在某些设计方面还是有可取之处(后面一直在用 ...

Redis应用总结

      首先弄清楚Redis是什么?在实际的应用开发中,能帮我们解决什么问题?应用中要注意什么样的问题,避免乱用。       Redis其实是一个内存数据库-noSql数据库,数据储存就是key-value。你可以简单的把它看成就是一个map结构。Redis是单线程,所以单个命令请求操作是线程安全的,如果想一次执行多个命令并且要求执行过程中不被打断,则使用事物(用multi来开启,exec来提交)。支持的数据结构比memcached多,有string\list\hash\set\zset五种结构。在应用开发中,我们通常会用Redis来做分布式缓存、流量限制、并发访问控制和分布式锁等。 ...
      什么是好的架构设计?可能有些人以为用了很前沿的技术或者是很牛逼的框架就是好的架构。我的理解是,一个好的架构并不是一定要什么牛逼的技术,而是根据当前业务的特点,以很少的人力成本和硬件成本就能实现,并且在2、3年内能满足业务需求,高性能、高可用、易维护,易扩展,就是好的架构。在设计系统架构的时候,不用考虑的太久远,一方面:现实中,可能一个产品用不了多长时间就死掉了,考虑太久远这个设计必定复杂,那么成本必定高,有时候要争分夺秒强市场;另一方面:业务是不断发展变化的,很多业务你是无法预计如何发展,所以到了一定阶段系统必定会重构。
     最近在玩spring boot,突然想把spring session也集成进来,所以也玩了一把spring session。主要是想解决单点登录,懒得自己实现,因为我很懒。在使用spring session过程中,发现spring session 往客户端写sessionID的策略要么是cookies要么是header。其实在开发中实际上有时候既要支持cookies,也要支持header方式,比如在PC端,一般是使用cookies,这样可以实现单点登录(不过还是没有解决跨域,要跨域只能用cas单点登录方案),手机app的话,不支持cookies,只能使用header,服务器响应请求的时 ...
      其实很多人在面试过程中都有遇到面试官问分布式的实现?其实要回答这个问题,即使你从未做个分布式锁,但只要你能正确理解锁这个概念,其实也能回答出来。搞应用开发的的,主要还是思路问题。下面我们先来了解锁。      锁是一种共享资源,主要在多线程环境中使用。那么为什么会有锁?锁主要是解决并发环境中,某些资源能被正确的访问或修改,保证数据的正确性。在数据库中,锁从不同角度有多种叫法,比如:乐观锁(逻辑锁,通过数值来实现)、悲观锁(数据库锁);共享锁(select 并发度高)、排它锁(update、delete);行级锁、表锁。这些锁的出现都有一个共同特点,那就是粒度。因为锁会给系统带来 ...
最近由于一个项目比较特殊,需要适应不同的数据,即oracle,mysql,mssql。对这三个数据库做了些简单的对比,如下: Oracle:查看表是否存在:select * from all_tables 或 select * from user_tables;获取 当前表的自增序列: select 序列.nextval from dual;异常处理: exception  when others then日期加一天: sysdate+1日期加一小时:sysdate+1/24日期加一分钟: sysdate+1/1440日期加一秒:  sysdate+1/86400 ============ ...
  flex虽然很强大,但是组件库不够丰富,很多组件很多效果需要开发人员不断的去丰富,去实现。比如,如果我们想tree中的节点图标可以根据图标的url随意更换,或是tree的叶子节点带checkbox等等,这些问题都需要开发人员去解决,flex不像gwt-ext那样,gwt-ext组件很丰富,基本上不需要开发人员做额外去开发。下面说说如何在advancedDataGrid中实现 带 checkbox的Tree,其实只要你知道其中一点你就能实现这一的功能,那就是要实现这一的效果,只要你写一个 AdvancedDataGridGroupItemRenderer就行了,还有一点就是,advance ...
    flex4中要想实现TitleWindow 中带图标,其实很简单,跟flex4中的修改panel的方法一样,而且如果有时间的话,你可以做得更漂亮一些,修改后的效果如图所示。如何修改可以参照   http://309593586-qq-com.iteye.com/blog/1846982
  做过flex开发的程序员都知道,使用flex3中的panel自定义按钮很容易,而且flex3的panel有icon属性。但是flex4的中大部分的控件与flex3中的控件实现方式有很大的变化,同是panel,在flex4  已经没有了icon属性,也没有titleBar,那么如何来实现 那些我们需要的东西呢?其实很简单,通过皮肤来实现。效果见附件上的图片。下面来说说如何实现:首先,在flex的库文件中把panel的系统皮肤代码复制出来,这样便于修改。找到 titleDisplay ,在这里你可以修改皮肤,实现你想要的效果,比如,我是这样修改: <s:HGroup left=&qu ...
昨天在tomcat中部署了一个应用程序,结果在tomcat启动的时候保持,查其原因原来tomcat中已有一个采用了spring的应用程序,而我部署的程序也采用了spring,这就操作冲突。解决办法:各自的web.xml中在新添一个上下文参数:<context-param> <param-name>webAppRootKey</param-name> <param-value>工程名.root</param-value> </context-param> 这样就可以解决了
        最近做做了一个项目,项目有这种需求,要求在同一套程序中,根据用户动态切换数据库。         在网上找了一下,发现很少这样的资料,即使有也不符合我的想法,所以没采纳。于是我试了试自己的想法,发现可行,现在与大家分享一下,也许这中想法很笨拙,希望高人指点。         首先,我介绍一下项目的开发环境:gwt-ext、spring、hibernate。其实本次项目几乎已经完结,但只有一个数据库。因为需求的变更,要他其他几个表结构相同的数据库也运行在此系统中,于是需要用到数据库的动态切换。对于一个已经完结的系统来说,如果修改过多的话,那是一件非常麻烦的事,所有要尽量减少变动 ...
最近做项目有一个这样的需求,客户要求以不同的行背景颜色区分不同的信息。我在网上查了一下,几乎没有这方面的资料。其实很简单,我们只需定义一个类,这个类继承gridview,然后覆盖gridview类中的getRowClass方法,就可以了。在这里,这个getRowClass 返回一个样式,最后把调用gridpanel的setview方法,把自定义的gridview子类对象放入gridpanel中。
Global site tag (gtag.js) - Google Analytics