- 博客(42)
- 资源 (13)
- 收藏
- 关注
转载 Spring方法拦截器MethodInterceptor
实现MethodInterceptor接口,在调用目标对象的方法时,就可以实现调用方法之前、调用方法过程中、调用方法之后对其进行控制。AOP提供从另一个角度来考虑程序结构以完善OOP。 (1)Aspect:一个关注点的模块化,事务管理是J2EE应用中一个很好的关注点例子。Aspect用Spring的Advisor或拦截器实现。(2)Jointpoint:程序执行过程中明确的点,如方...
2017-11-30 15:55:54 1109
转载 CoreMatchers和Assert配合做junit
CoreMatchers提供了很多匹配器,对于junit相对单薄的断言功能是很好的补充。 限定符和类型 方法和说明 static <T> Matcher<T> allOf(java.lang.Iterable<Matcher<? super T>> matchers) Creates a matcher that mat...
2017-11-30 10:47:06 992
转载 CGLIB
原理CGLIB原理:动态生成一个要代理类的子类,子类重写代理类的所有不是final的方法。在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入模切逻辑。它比使用java反射的JDK动态代理要快。CGLIB底层:使用字节码处理框架ASM,来转换字节码并生成新的类。不鼓励直接使用ASM,因数它要求你必须对JVM内部结构包括class文件的格式和指令集都很熟悉。 CGLIB的API...
2017-11-29 17:01:10 478
转载 EasyMock使用方法与原理剖析
Mock方法是单元测试中常见的一种技术,它的主要作用是模拟一些在应用中不容易构造或者比较复杂的对象,从而把测试与测试边界外的对象隔离开。EasyMock提供了根据指定接口动态构建Mock对象的方法,避免了手工编写Mock对象。Mock对象与EasyMock简介单元测试是对应用中的某一个模块的功能进行验证。在单元测试中,我们常遇到的问题是应用中其它的协同模块尚未开发完成,或者被测试模块需...
2017-11-28 14:21:53 2902
转载 JUnit4中@AfterClass @BeforeClass @after @before的区别
@Before:初始化方法,对于每一个测试方法都要执行一次。@After:释放资源,对于每一个测试方法都要执行一次。@Test(exptected=ArithmeticException.class)检查被检测方法是否抛出ArithmeticException异常@Ignore:忽略的测试方法@BeforeClass,针对所有测试,只执行一次,且必须为static void@A...
2017-11-28 10:31:55 487
转载 foo bar是什么意思
术语foobar, foo, bar, baz和qux经常在计算机编程或计算机相关的文档中被用作占位符的名字。当变量、函数或命令本身不太重要的时候,foobar, foo,bar,baz和qux就被用来充当这些实体的名字,这样做的目的仅仅是阐述一个概念,说明一个想法。这些术语本身相对于使用的场景来说没有任何意义。Foobar经常单独使用;而当需要多个实体举例的时候,foo、bar和baz则经常被按...
2017-11-28 08:43:36 2376
原创 个人博客索引贴2
处理器漏洞Meltdown和Spectre http://blog.csdn.net/chs007chs/article/details/78981597svn的merge命令 http://blog.csdn.net/chs007chs/article/details/78980679java多线程 ThreadPoolExecutor http://blog.csdn.net/chs0
2017-11-27 15:49:39 329
转载 InstantiationAwareBeanPostProcessor
BeanPostProcessor如果我们需要在spring容器完成Bean的实例化、配置和其他的初始化前后添加一些自己的逻辑处理,我们就可以定义一个或者多个BeanPostProcessor接口的实现,然后注册到容器中。BeanPostProcessor接口有两个方法需要实现:postProcessBeforeInitialization和postProcessAfterInitiali...
2017-11-27 11:08:11 1422
转载 Spring Bean的生命周期
spring中有三种bean容器:BeanFactory、ApplicationContext、WebApplicationContext。ApplicationContext我们通常使用ApplicationContext作为Spring容器,第一个ApplicatioinContext的生命周期。而实际上BeanFactory也差不多的,只不过处理器需要手动注册。(1)B...
2017-11-27 10:58:39 322
转载 spring钩子方法和钩子接口的使用详解
Aware接口族Spring中提供了各种Aware接口,方便从上下文中获取当前的运行环境,比较常见的几个接口有:BeanFactoryAware, BeanNameAware, ApplicationContextAware, EnvironmentAware, BeanClassLoaderAware等,这些Aware的作用都可以从命名得知,并且其使用也是十分简单。 Initi...
2017-11-27 09:46:07 2946
转载 Jedis连接方式
使用Jedis连接Redis服务有三种方式:Jedis/JedisPool, SharedJedis/SharedJedisPool, JedisCluster,分别对应了服务器的不同部署方式。1.Jedis,JedisPool这种方式针对单个Redis服务器建立连接,Jedis是单个连接,JedisPool即Jedis连接池,为了优化连接性能而生。2.使用SharedJedis,Sh...
2017-11-24 15:11:18 659
转载 redis有效时间设置及时间过期处理
有效时间设置Redis对存储值的过期处理实际上是针对该值的键key处理的,即时间的设置也是设置key的有效时间。Expires字典保存了所有键的过期时间,Expires也称为过期字段。四种处理策略:(1)EXPIRE将key的生存时间设置为ttl 秒。(2)PEXPIRE将key的生存时间设置为ttl 毫秒。(3)EXPIREAT将key的过期时间设置为timestamp所代表...
2017-11-24 14:40:27 5537
转载 面向对象分析与设计:九种建模的图
用例图Use case diagrams用例图描述了作为一个外部的观察者的视角对系统的印象。强调这个系统是什么而不是这个系统怎么工作。用例图与情节紧紧相关的,情节scenario是指当某个人与系统进行互动时发生的情况。“一个病人打电话给门诊部预约一年一次的身体检查。接待员找出在预约记录本上最近有没有预约过的时间,并记上那个时间的预约记录。”一个用例图是角色、用例和它们之间的联系的集...
2017-11-24 10:39:58 7068
转载 Spring Mergeable
Mergeable代表一个对象的值组可以和父对象的值组进行合并的接口。其主要子类有ManagedList, ManangedArray, ManangedMap, ManangedProperties, ManagedSet。 public List<E> merge(Object parent) { List<E> merged = new ...
2017-11-23 16:24:13 928
转载 Spring Bean RuntimeBeanReference
在Spring ,Bean的解析阶段,会把xml配置中的标签解析成spring中的BeanDefinition对象,我们知道bean可能需要依赖其它的bean,如: 在Spring的解析段,其它容器中是没有依赖的Bean的实例的,因此这个被依赖的Bean需要表示成RuntimeBeanReferenc对象,并将它放到BeanDefinition的MutablePropertyVa
2017-11-23 16:17:44 2236
转载 Spring BeanDefinition及读取、注册
BeanDefinition及其实现类这个接口描述bean的结构,它集成了BeanMetadataElement和AttributeAccessor。1.AttributeAccessor接口类似于map,具有保存和访问name/value属性的能力。public interface AttributeAccessor { void setAttribute(Strin...
2017-11-23 15:57:10 1157
转载 Spring BeanDefinitionRegistry
该类的作用是向注册表中注册BeanDefinition实例,完成注册过程。 // 关键 -> 往注册表中注册一个新的 BeanDefinition 实例 void registerBeanDefinition(String beanName, BeanDefinition beanDefinition)throws BeanDefinitionStoreException;
2017-11-23 14:33:20 1344
转载 Spring Aware
Spring的依赖注入的最大亮点就是你所有的Bean对Spring容器的存是没有意识的。即你可以将的容器替换成别的容器,这里Bean之间的耦合度很低。但在实际的项目中,我们不可避免的要用到Spring容器本身的功能资源,这时候Bean必须要意识到Spring容器的存在,才能调用Spring所提供的资源,这就是所谓的Spring Aware。其实Spring Aware本身就是Spring设计用
2017-11-23 11:17:44 279
转载 扩展Spring的几种方式
1.基于XML配置的扩展从Spring2.0开始,Spring提供了XML Schema可扩展机制,用户可以自定义XML Schema文件,并自定义XML Bean解析器,并集成到Spring IoC容器中。不管是bean的定义,还是Spring自身的配置,早期都是通过xml配置完成的。1.定义schema(xsd)要支持XML的配置方式,首先需要定义一套XML Schema来描述...
2017-11-23 11:05:30 696
转载 Intel CPU IME安全漏洞
http://www.oschina.net/news/90832/intel-cpu-vulnerabilities-endanger-the-world 最后欢迎大家访问我的个人网站:1024s
2017-11-23 09:49:53 827
转载 Spring注解 @AliasFor
提供@AliasFor注解,来给注解的属性起别名,让使用注解时,更加的容易理解(比如给value属性起别名) @MainBean(beanName = "mainbean")public class Main { public static void main(String[] args) { AnnotationConfigApplicationContex...
2017-11-21 17:03:57 13571 10
转载 Spring @Import注解
@Import注解支持导入配置类,也支持导入普通的java类,并将其声明成一个bean。 package com.wisely.spring4_2.imp;public class DemoService { public void doSomething(){ System.out.println("everything is all fine"); ...
2017-11-21 16:55:51 5919
转载 spring注解源码分析-解析和注入注解配置的资源
类内部的注解,如@Autowire、@Value、@Required、@Resource以及EJB和WebService相关的注解,是容器对Bean实例化和依赖注入时,通过容器中注册的Bean后置处理处理这些注解的。当使用Spring的注解功能时, <context:annotation-config> < context:component-scan >...
2017-11-21 15:29:25 1798
转载 spring 注解源码分析-扫描和读取bean定义
1.概述从spring2.0以后的版本中,spring也引入了基于注解方式的配置,注解是jdk1.5中引入的一个新特性,用于简化Bean的配置,某些场合可以取代xml配置文件。Spring IoC容器对于类级别的注解和类内部的注解分以下两种策略:(1)类级别的注解:spring容器根据注解的过滤规则扫描读取注解Bean定义类,并将其注册到Spring IoC容器中。(2)类内部的注...
2017-11-21 15:02:37 2659 2
转载 spring-jar包详解
spring.jar是包含有完整发布模块的单个jar包。但是不包括mock.jar,aspects.jar,spring-portlet.jar,spring-hibernate2.jar。1.spring-aop这个包含了在应用中使用spring 的aop特性时所需的类和源码级元数据支持,使用基于AOP的spring特性,如声明型事务管理,外部依赖spring-core 2.sp...
2017-11-21 14:12:39 376
转载 JUnit4 注解基本介绍
@After如果在@Before注解方法中分配了额外的资源,那么在测试执行完后,需要释放分配的资源。如果@After注解一个public void方法会使该方法在@Test注解方法执行后被执行。即使在@Before注解方法、@Test注解方法中抛出了异常,所有的@After注解方法依然会被执行,父类的@After注解方法会在子类@After注解方法执行后被执行。 @AfterClass...
2017-11-21 09:36:20 325
转载 ssh-copy-id
功能:将你的公共密钥填充到一个远程机器上的authorized_keys文件中。模式ssh-copy-id [-i [identity_file]] [user@]machine 最后欢迎大家访问我的个人网站:1024s...
2017-11-17 15:59:06 298
转载 FutureTask
Future是我们在使java实现异步时最常用到的一个类,我们可以向线程池提交一个Callable,并通过future对象获取执行结果 。FutureFuture是一个接口,它定义了5个方法:(1)boolean cancel(boolean mayInterruptIfRunning):取消一个任务,并返回取消结果。参数表示是否中断线程。(2)boolean isCancelle...
2017-11-17 14:16:08 320
转载 hbase 伪分布式安装
hbase安装模式介绍1.单机模式(1)不使用hdfs,仅使用本地文件系统。(2)zookeeper与hbase运行在同一个jvm中。2.伪分布式模式(1)所有进程运行在同一个切点上,不同进程运行在不同的jvm当中。3.完全分布式模式(1)进程运行在多个服务器集群中(2)分布式依赖于HDFS系统,因此部署hbase之前一定要有一个正常工作的hdfs集群。 L...
2017-11-17 10:02:55 425
转载 大数据:OLTP和OLAP
OLTP(On-line Transaction Processing),联机事务处理,OLTP是传统的关系型数据库的主要应用,OLTP一般就是把大数扰用于在线业务,这种需求要求有实时性,查询以后要在秒级别返回,且对服务稳定性和容错性有一定要求。另外,读操作的数量远远大于写操作,且增量数据的大小要远远小于历史数据。在设计OLTP的数据系统中,主要技术难点有:(1)分层(2)分片(3)分
2017-11-16 16:28:34 1393
转载 EJB组件
包含三种不同类型的EJB:会话bean、消息驱动bean、实体bean。(1)会话bean:业务逻辑的实现与控制,负责与Web层通信,给Web层提供访问业务数据的接口,当客户端完成执行过程的时候,会话bean及相关数据会消失。(2)实体bean:代表持久数据,数据相当于存储在数据库表中,它负责保存业务数据,给会话bean访问业务数据的接口。(3)消息驱动bean:用于接收、处理客户通过
2017-11-15 11:21:36 533
转载 有状态的bean和状态的bean的区别
有状态会话bean:每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),bean的生命周期也告结束。即每个用户最初都会得到一个初始的bean。 无状态会话bean:bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,bean的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。由于没有待...
2017-11-15 11:07:56 1090
转载 工作分解结构 WBS
WBSWork Breakdown Structure,原理就是把一个项目,按一定的原则分解,项目分解成任务,任务再分解成一项项工作,再把一项项工作分配到每个人的日常活动中,直到分解不下去为止。 工作包的定义考虑80小时法则或两周法则,即任何工作包的完成时间应当不超过80小时。在每个80小时或少于80小时结束时,只报告该工作包是否完成。通过这种定期检查的方法,可以控制项目的变化。...
2017-11-15 09:31:16 1203
转载 Java的static import
J2SE 1.5里引入了“static import”机制,借助这一机制,可以略掉所在的类或接口名的方式,来使用静态成员。在Java中,相对独立的函数和常量需要找个类或接口为挂靠单位才行,挂靠的方法就是它们加上static修饰符。(1)精确导入精确导入一个静态成员的方法,是在源文件的开头部分,加上类似这样的声明:import static 包名.类或接口名.静态成员名(2)接需...
2017-11-14 15:39:39 338
转载 Java File renameTo
renameTo方法只能重命名文件,不能移动文件。 File a = new File("D:/zhang/jie");File b = new File("D:/zhang/san");system.out.println(a.renameTo(b)); 最后欢迎大家访问我的个人网站:1024s ...
2017-11-14 15:07:36 347
转载 svn分支合并类型
合并的工作是把主干或者分支上合并范围内的所有改动列出,并对比当前工作副本的内容,由合并者手工修改冲突,然后提交到服务器的相应目录里。如果当前工作副本是主干,则合并的范围是分支上的改动,如果工作副本是分支的,则合并范围是主干上的改动,并且一定要注意,合并的超始位置URL一定要和当前的工作副本的URL是相同的。(1)合并一个范围的版本主要是把分支中的修改合并到主干上来。在主干上点击右键选择合并...
2017-11-14 14:43:39 364
转载 dubbo : forbid consumer
com.alibaba.dubbo.rpc.RpcException: Forbid consumer 10.0.53.69 access service com.kuaidadi.op.api.pay.service.PayChannelConfigRemoteService from registry 10.0.50.150:2181 use dubbo version 2.5.3, Ple...
2017-11-14 10:45:23 987
转载 CSS将边框border设定到宽度和高度中
css有一个属性,box-sizing可以很方便的解决这个问题,将该属性值设置为border-box. box-sizing: border-box; 最后欢迎大家访问我的个人网站:1024s ...
2017-11-09 13:25:13 1581
原创 jQuery-DatePicker 时间控制设置
jQuery(document).ready(function(){ jQuery("#beginDate").datepicker({ onSelect:function (dateText){ jQuery("#endDate").datepicker("option","minDate",new Date(dateText.r...
2017-11-08 09:51:33 793
转载 jQuery-$ is not a function
原因:这是因为$已经在其他包中当做了一个变量,因为一个页面可以引入多个不同的JavaScript脚本库。解决方法:将$换成jQuery即可,例如: “$('userName').val();”改成“jQuery('userName').val();” 最后欢迎大家访问我的个人网站:1024s ...
2017-11-08 09:22:47 649
log4jappender配置kafka使用的jar包
2017-09-08
sharpglvs10和12的可用扩展及opengl、sharpgl例程
2014-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人