Fork me on GitHub
上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 本次基于注解+AOP实现分布式锁(招式与前文基于注解切换多数据源相同),话不多说,直接上样例: 首先自定义注解:设计时需要考虑锁的一般属性:keys,最大等待时间,超时时间,时间单位。 新建一个抽象请求拦截器,设计模式:装饰模式,父类决定整体流程,具体细节交给字类实现,便于解耦扩展。 具体实现拦截类 阅读全文
posted @ 2019-03-19 18:54 小传风 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 为什么要使用分布式锁? 单机情况下,多线程同时访问并改变临界资源(可变共享变量),将会使得这个变量不可预知,所以我们引入了同步(lock—synchronized)。但在分布式场景下(多机部署),业务上我们需保证某个共享变量数据最终一致性,但实际每个机器的变量是独立的,同步(lock—synchro 阅读全文
posted @ 2019-03-18 20:03 小传风 阅读(4689) 评论(0) 推荐(0) 编辑
摘要: 多线程访问并修改临界资源(共享变量),变量值往往不会是我们期待的那样。 看下demo: 在我们看来,productId应该最终为1000,如果注释掉同步块,运行的结果不一定为1000。 .... pool-3-thread-1>>>productId:987 time:Mon Mar 18 12:2 阅读全文
posted @ 2019-03-18 14:45 小传风 阅读(374) 评论(0) 推荐(1) 编辑
摘要: ThreadLocal ThreadLocal 用一种存储变量与线程绑定的方式,在每个线程中用自己的 ThreadLocalMap 安全隔离变量,为解决多线程程序的并发问题提供了一种新的思路。 简单画一个UML: 再看下ThreadLocal源码get()与set() public T get() 阅读全文
posted @ 2019-03-09 15:35 小传风 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 1. $.each(array, [callback]) 遍历[常用] 解释: 不同于例遍jQuery对象的$().each()方法,此方法可用于例遍任何对象。 回调函数拥有两个参数: 第一个为对象的成员或数组的索引 第二个为对应变量或内容. 如果需要退出each循环可使回调函数返回false, 其 阅读全文
posted @ 2019-03-09 14:44 小传风 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 对于前端,本人不是太擅长,对于当前的一些网上的样例,也许是习武悟性太差,不是太透,所以只能通过blog的方式记录下一些武功套路,便于以后查询使用 首先,我们需要知道这个武功适应的战场。 什么是dropzone? DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库,它是轻量级的,不依 阅读全文
posted @ 2019-03-09 14:39 小传风 阅读(1903) 评论(0) 推荐(0) 编辑
摘要: 多线程编程可是神通:三头六背,实际代码中如果有性能方面的要求,可以考虑下用下: 这里只是举简单例子,实际应用还有许多注意项的。 Java可以用三种方式来创建线程,如下所示: 1)继承Thread类创建线程 2)实现Runnable接口创建线程 3)使用Callable和Future创建线程 下面让我 阅读全文
posted @ 2019-03-02 16:51 小传风 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 主要利用AOP+ThreadLocal+自定义注释实现注释切换 pom.xml AbstractRoutingDataSource 只支持单库事务,也就是说切换数据源要在开启事务之前执行。 spring DataSourceTransactionManager进行事务管理,开启事务,会将数据源缓存到 阅读全文
posted @ 2019-03-02 16:33 小传风 阅读(1225) 评论(1) 推荐(0) 编辑
摘要: 有Student类,Person类,还有一个叫Class的类,这是反射的源头。 正常方式:通过完整的类名 > 通过new实例化 > 取得实例化对象 反射方式:实例化对象 > getClass()方法 > 通过完整的类名 需要使用反射就要获得Class这个类,有三种方法: package cn.cla 阅读全文
posted @ 2019-03-02 15:53 小传风 阅读(216) 评论(1) 推荐(0) 编辑
摘要: MethodInterceptor MethodInterceptor是AOP项目中的拦截器(注:不是动态代理拦截器),区别与HandlerInterceptor拦截目标时请求,它拦截的目标是方法。 实现MethodInterceptor拦截器大致也分为两种: (1)MethodIntercepto 阅读全文
posted @ 2019-03-02 15:27 小传风 阅读(16736) 评论(1) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页