关闭

基于注解的Spring AOP的配置和使用--转载

AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。 我们现在做的一些非业务,如:日志、事务、安全等都会写在业务代码中(也即...
阅读(227) 评论(0)

使用Spring的注解方式实现AOP

Spring对AOP的实现提供了很好的支持。下面我们就使用Spring的注解来完成AOP做一个例子。 首先,为了使用Spring的AOP注解功能,必须导入如下几个包。aspectjrt.jar,aspectjweaver.jar,cglib-nodep.jar. 然后我们写一个接口 [java] view plain copy  print? ...
阅读(690) 评论(0)

一看就懂的ReactJs入门教程(精华版)

现在最热门的前端框架有AngularJS、React、Bootstrap等。自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我,下面来跟我一起领略 ReactJS的风采吧~~ 章有点长,耐心读完,你会有很大收获哦~ 一、ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaSc...
阅读(749) 评论(0)

Log4j的进阶使用-自定义类和+自定义输出日志类型+输出文件

自定义java类 package com.sitech.nbc.util; import java.io.ByteArrayOutputStream; import java.io.PrintWriter; import org.apache.log4j.Logger; /** * * Title: 系统的调试信息和错误信息的文件记录的接口 * Description: 系统的调试信...
阅读(2152) 评论(0)

Log4j2使用总结(异步日志)

Log4j 2 包含了基于LMAX 分离库的下一代的异步日志系统,在多线程环境下,异步日志系统比 Log4j 1.x 和Logback 提高了10倍性能提升(吞吐量和延迟率 )。原文如下: Log4j 2 contains next-generation Asynchronous Loggers based on the LMAX Disruptor library. In multi-...
阅读(3358) 评论(2)

Log4j2架构及概念简介

log4j——Log for java。 此文为读log4j2 user guaid时的翻译及笔记。log4j2与log4j在Logger的继承关系和配置方式上都做出了修改。个人感觉比较有意思的是Logger对象与LoggerConfig解耦的设计,以及Filter中的传递机制,有点像网络包分发,不过多了很多可调控性。 前言 log4j2可以按照开发人员预先的设定,在指定的位置和...
阅读(239) 评论(0)

[log4j2] 使用教程详解(怎么使用log4j2)

1. 去官方下载log4j 2,导入jar包,基本上你只需要导入下面两个jar包就可以了(xx是乱七八糟的版本号): log4j-core-xx.jar log4j-api-xx.jar 2. 导入到你的项目中:这个就不说了。 3. 开始使用: 我们知道,要在某个类中使用log4j记录日志,只需要申明下面的成员变量(其实不一定要是成员变量,只是为了方便调用而已)...
阅读(319) 评论(0)

Log4j2 自定义 Appender

虽然log4j2 自带了很多种Appender 但是有时候避免不了不是自己想要的,这时候我们就需要自定义Appender,使日志输出到我们指定的位置,废话少说,上菜!   package com.hbzx.log; import java.io.Serializable; import java.util.concurrent.locks.Lock; import java.util.con...
阅读(3339) 评论(2)

使用mybatis操作mysql数据库SUM方法返回NULL解决

使用SQL语句用函数SUM叠加的时候,默认查询没有值的情况下返回的是NULL,而实际可能我们要用的是返回0 解决:   SELECT SUM(total)   FROM test_table 改成:  SELECT COALESCE(SUM(total),0)  FROM test_table 解释: coalesce()解释:返回参数中的第一个非空表达式(从左向右)...
阅读(1642) 评论(0)

Hessian和Java反序列化问题小结

Hessian反序列化问题 众所周知,Hessian框架提供的序列化方式,在性能上要优于Java自己的序列化方式。他将对象序列化,生成的字节数组的数量要相对于Java自带的序列化方式要更简洁。 目前公司的一个项目中,有RPC调用的需要,这里我们使用了公司自己的开源RPC框架Dubbo作为远程调用框架,进行业务方法的调用和对象的序列化。这里,我们没有对Dubbo做出特殊配置,Dubbo在...
阅读(922) 评论(0)

一个简单抽奖算法的实现以及如何预防超中

一个简单抽奖算法的实现以及如何预防超中 需求 每个用户每天有3次抽奖机会; 抽奖奖池一共分为6档内容:现金红包1元,2元,3元,5元,iphone6s,谢谢参与; 支持每天调整和配置抽奖的获奖概率; 算法介绍 每种奖品都有一个权重 对应一个区间 若落入该区间就表示中奖 调整区间大小就可改变获奖概率 即调整权重值即可 奖品 权重 区间 ...
阅读(1630) 评论(0)

抽奖/红包算法

<?php header("Content-Type: text/html; charset=UTF-8"); function dump($arr){ echo ''.print_r($arr,TRUE).''; } /*概率算法 proArr array(100,200,300,400) */ function get_rand($proArr) { $result = ''; ...
阅读(491) 评论(0)

使用子查询可提升 COUNT DISTINCT 速度 50 倍

注:这些技术是通用的,只不过我们选择使用Postgres的语法。使用独特的pgAdminIII生成解释图形。 很有用,但太慢 Count distinct是SQL分析时的祸根,因此它是我第一篇博客的不二选择。 首先:如果你有一个大的且能够容忍不精确的数据集,那像HyperLogLog这样的概率计数器应该是你最好的选择。(我们会在以后的博客中谈到HyperLogLog。)但对于需要...
阅读(1544) 评论(0)

Java 下高效的反射工具包 ReflectASM 使用例解

ReflectASM 使用字节码生成的方式实现了更为高效的反射机制。执行时会生成一个存取类来 set/get 字段,访问方法或创建实例。一看到 ASM 就能领悟到 ReflectASM 会用字节码生成的方式,而不是依赖于 Java 本身的反射机制来实现的,所以它更快,并且避免了访问原始类型因自动装箱而产生的问题。 下面三个图是 ReflectASM 与 Java 自身反射机制的性能对比,...
阅读(2088) 评论(0)

ReflectASM,高性能的反射

什么是ReflectASM    ReflectASM是一个很小的java类库,主要是通过asm生产类来实现java反射,执行速度非常快,看了网上很多和反射的对比,觉得ReflectASM比较神奇,很想知道其原理,下面介绍下如何使用及原理。 如何使用 Java代码   public class User {       private int id;   ...
阅读(1154) 评论(0)
43条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:6971506次
    • 积分:61219
    • 等级:
    • 排名:第34名
    • 原创:250篇
    • 转载:2617篇
    • 译文:3篇
    • 评论:661条
    文章分类
    最新评论