SPI是ServiceProviderInterfaces的简称。根据Java的SPI规范,我们可以定义一个服务接口,具体的实现由对应的实现者去提供,即ServiceProvider(服务提供者)。然后在使用的时候只要根据SPI的规范去获取对应的服务提供者的服务实现即可。为了便于理解,我们先来看一个使用SPI的..
分类:
编程语言 时间:
2016-10-11 01:05:06
阅读次数:
257
Java并发编程之volatile关键字的理解Java中每个线程都有自己的工作内存,类比于处理器的缓存,线程的工作内存中保存了被该线程使用到的变量的主内存的拷贝。线程读写变量都是直接在自己的工作内存中进行的,而何时刷新数据(指将修改的结果更新到主存或者把主存的变量读取覆盖掉..
分类:
编程语言 时间:
2016-10-09 14:38:53
阅读次数:
135
1.1配置登录认证加入了spring-security-cas-xxx.jar到SpringSecurity应用的classpath后,我们便可以开始配置我们的SpringSecurity应用使用Cas进行单点登录了。1.1.1配置AuthenticationEntryPoint首先需要做的是将应用的登录认证入口改为使用CasAuthenticationEntryPoint。所以..
分类:
编程语言 时间:
2016-10-06 01:03:59
阅读次数:
276
Atitit.兼具兼容性和扩展性的配置方案attilax总结 文件配置法1 Jdbc多数据源文件配置发1 Bat文件配置法1 改进的文件配置法(采用类似i18n技术) 推荐1 使用自动化pc_id的方法来自适应配置 推荐1 文件配置法 换了机子又要设置 Jdbc多数据源文件配置发 使用一个tag来标 ...
分类:
其他好文 时间:
2016-10-03 00:00:39
阅读次数:
355
一多例设计模式定义多例设计模式就是存在多个对象实例,供外部应用裯用,比喻数据库连接池。二多例模式静态类图三多例模式代码实现1多例模式核心类Java代码下载packagecom.demo.multipleton;importjava.util.ArrayList;/***多例模式**@author**/publicclassMultipleton{//多例?.
分类:
其他好文 时间:
2016-09-29 11:26:25
阅读次数:
182
一、背景1.什么是缓存无底洞问题:Facebook的工作人员反应2010年已达到3000个memcached节点,储存数千G的缓存。他们发现一个问题--memcached的连接效率下降了,于是添加memcached节点,添加完之后,并没有好转。称为“无底洞”现象2.缓存无底洞产生的原因:键值数据库或者缓存..
分类:
其他好文 时间:
2016-09-28 16:53:04
阅读次数:
171
一、安装Elasticsearch下载https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html二、在MySQL上新建库表(若已有库表可跳过)建库脚本如下:SETFOREIGN_KEY_CHECKS=0;--------------------------------Tablestructureforcontacts------------------------..
分类:
数据库 时间:
2016-09-27 11:54:45
阅读次数:
1179
Spring 配置多数据源实现数据库读写分离 博客分类: Spring 数据库 Spring 配置多数据源实现数据库读写分离 Spring 数据库 现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,S ...
分类:
编程语言 时间:
2016-09-25 11:53:22
阅读次数:
349
一、 介绍: shiro是apache提供的强大而灵活的开源安全框架,它主要用来处理身份认证,授权,企业会话管理和加密。 shiro功能:用户验证、用户执行访问权限控制、在任何环境下使用session API,如cs程序。可以使用多数据源如同时使用oracle、mysql。单点登录(sso)支持。r ...
分类:
其他好文 时间:
2016-09-20 12:19:48
阅读次数:
217
一、Redis的使用REmoteDIctionaryServer(Redis)是一个由SalvatoreSanfilippo写的key-value存储系统。Redis优势性能极高–Redis能读的速度是110000次/s,写的速度是81000次/s。丰富的数据类型–Redis支持二进制案例的Strings,Lists,Hashes,Sets及OrderedSets数据类型操作。原子?.