`
geeksun
  • 浏览: 953534 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
在Spring的使用中,有时初始化一些公共类,比如数据源、常量配置等,这些方法会执行两次,导致程序执行出现异常。   一个解决方法是利用Spring的事件机制,事件机制需要实现ApplicationListener监听器,只要编写一个实现类实现该接口的onApplicationEvent方法,在方法体中初始化应用需要的初始化数据,并做防二次初始化的处理。   此处是一个jedis工厂类的代码: public class JedisFactory implements ApplicationListener<ApplicationEvent> { privat ...
在前端与后端,后端与后端的系统交互中,总是会涉及到传递不同的参数,而参数的值不一,有中文也是英文,有字母也有符号,如果不对参数做处理,直接传递,会导致特殊符号不能解析,中文乱码等问题。   对此一个解决方案就是对要传递的参数,做encode和decode处理。 encode和decode使用方法: JavaScript: encodeURIComponent(URIString); decodeURIComponent(encodedURIString);   Java: java.net.URLEncoder.encode(str, "UTF-8"); ...
1. 源机器: 把公钥copy到目标机器上 scp  ~/.ssh/id_rsa.pub test@192.168.1.135:/home/test/.ssh     2. 目录机器:  把 id_rsa.pub 重命名为 authorized_keys 文件。 sudo mv  id_rsa.pub authorized_keys     3.  目录机器修改目录权限: $ chmod 700 ~/.ssh $ chmod 600 ~/.ssh/authorized_keys     4.  执行完这些步骤后, 就可以在源机器上无密码登录Linux服务器: ...
1. Geospatial Indexing      MongoDB支持二维空间索引,这是设计时考虑到基于位置的查询。例如“找到离目标位置最近的N条记录”。可以有效地作为附加条件过滤。     2.  Creating the Index   db.places.ensureIndex( { loc : "2d" } )     // 支持平面位置索引 或   db.places.ensureIndex({loc:”loc_2dsphere"})     // 支持球形位置索引       默认的,Mongo假设你索引的是经度/维度, ...
有时部署项目时使用多个应用服务器做负载均衡,这里使用多个Tomcat做负载。 服务器环境: CentOS 6.5 Tomcat目录: /usr/local Tomcat目录下有tomcat1、tomcat2、tomcat3、tomcat4 四个tomcat实例。 tomcat实例的命名规则: tomcat${i}   1.  新建一个shell文件命名为 tomcat.sh #!/bin/bash # Apache Tomcat daemon # # chkconfig: 345 10 10 # description: Apache Tomcat ...
1.  下载tomcat apache-tomcat-8.0.26.tar.gz   2.  传到远程服务器 scp Downloads/apache-tomcat-8.0.26.tar.gz wumart@42.159.80.106:/home/wumart   3.  把tomcat移动到/usr/local目录: [wumart@dmallsol10007 local]$ sudo mv  ~/apache-tomcat-8.0.26  /usr/local/tomcat   4.  解压tomcat tar -xzvf apache-tomcat- ...
        在事件总线(EventBus)的架构设计中,用到了发布/订阅模式,但发现和观察者模式挺接近,有时容易发生混淆,现试图分清一下他们的关系。           观察者模式的角色为观察者(observer)和主题(subject)对象,observer需要观察subject时,需先到subject里面进行注册(subject对象持有observer对象的集合句柄),然后,当subject对象的内部状态发生变化时,把这个变化通知所有的观察者。            发布、订阅模式的角色为发布者(publisher)和订阅者(subscriber),pub和sub之间没有直接 ...
Sonar是一个用于代码质量管理的开源平台,用于管理Java源代码的质量。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。   1.  配置数据库 创建sonar数据库 create database sonar default charset=utf8; 配置 sonar 用户 create user 'sonar' iden ...
1.  WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址: http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包   2.  可以给Windows增加curl命令的环境变量,增加CURL_HOME环境变量,给PATH环境变量加上%CURL_HOME%;   这样就可以在命令窗口的任意目录下使用curl命令了。   3.  post 请求: curl -d "leader ...
CGLIB 介绍 CGLib (Code Generation Library) 是一个强大的,高性能,高质量的Code生成类库。 CGLib 可以在运行时扩展Java类与实现Java接口。CGLib 比 Java 的 java.lang.reflect.Proxy 类更强的在于它不仅可以接管接口实现类的方法,还可以接管普通 ...
同步、异步、阻塞、非阻塞这几个概念在并发编程和架构设计中用的比较多,这里小记一下对他们的理解,先阐释一下他们之间的区别:   同步:多个任务或事件必须顺序执行,前一个任务没执行完,后一行任务就不能进行。 实现:常见的顺序编程, 串行执行 场景:B/S架构的HTTP请求-响应模式、OA流程。   异步:多个任务或事情可以并行执行,任意一个任务的执行不会阻塞另外一个任务的执行。异步调用完成后,通过通知或回调将结果传递给接收者。异步常用于操作时间比较耗时的场合,为了不block当前的工作流程,而采用异步。 实现:新建一个线程,或把任务放到消息队列中由消费者处理、并行处理 场景:发短 ...

MongoDB 介绍

MongoDB 是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB服务端可运行在Linux、Windows或IOS平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB,64位平台则非常大。   MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能最丰富,最像关系数据库的。 Mongo 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,可以实现类似关系数据库单表查询的绝大部分功能, ...
1.   基本操作 db.AddUser(username,password)               添加用户 db.auth(usrename,password)      设置数据库连接验证 db.cloneDataBase(fromhost)       从目标服务器克隆一个数据库 db.commandHelp(name)             returns the help for the command db.copyDatabase(fromdb,todb,fromhost)     复制数据库fromdb---源数据库名称,todb---目标数据库名称,fr ...
一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。 此处用HttpComponents的httpclient来完成使命。 import org.apache.http.HttpEntity ; import org.apache.http.HttpResponse ; import org.apache.http.client.HttpClient ; import org.apache.http.client.methods.HttpPost ; ...
一、Redis Redis是一种基于key-value存储格式的nosql数据库,在结构部署上采用了master/slave的方式,其中slave节点起到备份的作用,当master节点出现问题的时候,slave节点可替换成master,从而确保了系统安全稳定的特性。   分布式存储单元:slot(一组key/value存储记录的集合)   一个cluster里面可能会有多个matser节点,master节点通过互相通信来记录彼此之间所存储的slot信息,从而确保了client 端可以通过任何master节点定位到需要的slot,获取到slot信息后,client端还会将该slot地 ...
Global site tag (gtag.js) - Google Analytics