数据库连接池druid 的使用 Druid概述DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池,不知道速度有没有BoneCP快)。Druid一些常用的配置参数和其它连接池一样DRUID的DataSource类为:com.a
使用redis进行基于shiro的session集群共享 使用redis进行基于shiro的session集群共享之前写过一篇nginx多tomcat负载均衡,主要记录了使用nginx对多个tomcat 进行负载均衡,其实进行负载均衡之前还有一个问题没有解决,那就是集群间的session共享,不然用户在登录网站之后session保存在tomcat A,但是下次访问的时候nginx分发到了tomcat B,这个时候tomcat B没
JDK动态动态代理和cglib动态代理的实现 Java的动态代理,说白了其实就是在一块代码的执行之前或执行之后,插入一块共通代码的执行。比如:日志的追加,权限的检查等等。也就是我们常说的切面变成和AOP的具体实现。Java的动态代理,主要由JDK的动态代理和cglib的动态代理。下面简单的概括一些,这两种动态代理的区别。·JDK的动态代理是通过JAVA的反射机制来实现的,而cglig的动态代理是借助asm来生成代理对象的子
vmware workstation下CentOS链接克隆后的网络设置 最近在学习Linux下Spark集群的搭建,在用vmware虚拟了两台机器后,发现克隆机的网络无法使用,出现:VMware 下LINUX出现:Device eth0 does not seem to be present, delaying initialization.错误。在google了一下之后成功解决,在此记录下以便日后复习。原因google出的原因:当使用克隆后的
从Log4j迁移到LogBack的理由 无论从设计上还是实现上,Logback相对log4j而言有了相对多的改进。不过尽管难以一一细数,这里还是列举部分理由为什么选择logback而不是log4j。牢记logback与log4j在概念上面是很相似的,它们都是有同一群开发者建立。所以如果你已经对log4j很熟悉,你也可以很快上手logback。如果你喜欢使用log4j,你也许会迷上使用logback。更快的执行速度基于我们
aj通知函数 MyAspectj中的代码:package com.gaojian.aspectj.test;public aspect MyAspectj { /*调用某个文件夹下面所有的class*/ // pointcut callF(): execution(* com.gaojian..*.*(..)); /** * 1) before...
aspectj中call和execution的区别 call 和 execution 的指示符分别为 call ( Method-Signature )、 execution ( Method-Signature ),匹配方法签名的方法或构造函数的执行。 对于 call 来说,调用的连接点位于方法调用点的调用代码处;对于 execution 来说,执行的连接点位...
pointcut的定义 一:一个典型的aspect类的形式如下:public aspect MyAspectj { //定义连接点函数 pointcut callF(): execution(* f(..)) && cflow(call(* Test.foo(..))); //定义通知函数 before() : ca...
cflow的使用 cflow(pointcut):表示在执行连接点pointcut所匹配的函数时进行匹配,如下例所示:aj中的代码: package com.gaojian.aspectj.test;public aspect MyAspectj { pointcut callF(): execution(* f(..)) && cflow(call(* com.gaojian...