自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(374)
  • 问答 (8)
  • 收藏
  • 关注

编程珠玑 40亿个随机排列的32位整数,找出X是否存在于40亿个数中

编程珠玑问题描述:40亿个随机排列的32位整数,找出X是否存在于40亿个数中?在内存足够情况下如何解决?在仅有几百字节内存下如何解决?问题解决思路先说在内存足够情况下的解决思路1.首先分配整形数组 int[size],size位40亿,初始化所有数组元素值为02.然后读入40亿个数,数字的值作为数组下标,并设置数组元素值为1 3. Int[X] 如果是0 就不...

2017-01-03 16:05:47 288

原创 docker 开启远程控制端口

docker 提供了远程控制API,采用的是restful风格centos7开启方式:vim /lib/systemd/system/docker.service找到 ExecStart行修改为 [code="java"]ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock...

2016-11-17 09:49:53 442

分布式存储系统的一致性

[b]分布式一致性的定义[/b]分布式文件系统为了保证数据不会丢失,每份数据都保存多分在更新一个副本的同时,必须同时更新其他副本,保证数据在读取时的一致性为了实现一致性可以在写入第一个副本后阻塞,直到完成数据同步后才结束写入动作但是显而易见 这样操作的性能非常低实际上很难找到写入性能非常高,一致性也特别高的方案所以在分布式一致性的实现方法上有如下两种[b]强一致...

2016-01-26 15:53:29 72

nginx lua处理图片

nginx配置[code="java"]user apache apache;worker_processes 4;worker_rlimit_nofile 100000;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#...

2015-09-09 10:22:14 253

原创 CAS 取消HTTPS配置

原帖[url] http://blog.csdn.net/yys79/article/details/6456915[/url]客户觉得cas证书的提示太烦了,想去掉,又不想花钱认证证书,这两天闲暇之时看了一下最新的cas文章,自己也配置了一套apache2.2+ Tomcat7+casserver 3.4.8+Casclient3.2的配置,实现了负载均衡下Tomcat集群中的Cas...

2015-05-12 08:57:26 82

mybatis与spring事物处理日志

[code="java"] o.s.web.servlet.DispatcherServlet - DispatcherServlet with name 'o2o' processing GET request for [/o2o/product_1.html] o.s.w.s.m.a.DefaultAnnotationHandlerMapping - Matching patter...

2015-03-27 11:43:50 237

让oscache支持正则表达式

正常的oscache在web.xml中[code="java"]/*[/code]是不支持正则表达式的实际上重写cacheFilter即可实现代码如下[code="java"] public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws...

2015-03-25 15:03:39 37

creative-diagnostics 收录测试

下面这个网页google没有收录 [url]http://www.creative-diagnostics.com/Custom-Monoclonal-Antibody-Scale-Up.htm[/url]在这儿做个试验 看看能不能收录?

2015-03-18 14:40:16 70

ZooKeeper API简单调用

[code="java"]package zk.test;import org.apache.zookeeper.CreateMode;import org.apache.zookeeper.WatchedEvent;import org.apache.zookeeper.Watcher;import org.apache.zookeeper.ZooDefs.Ids;imp...

2015-03-05 15:04:09 55

一致性哈希java TreeMap实现

[code="java"]package cn.ceopen.shard.utils;import java.util.ArrayList;import java.util.List;import java.util.SortedMap;import java.util.TreeMap;import org.apache.commons.codec.digest.Dig...

2015-01-22 16:22:29 925

一致性哈希 java List实现

[code="java"]package cn.ceopen.shard.utils;import java.util.ArrayList;import java.util.List;/** * 一致性hash 用list简单实现 * @author 徐良永 * * 2015年1月22日 上午11:13:35 */public class Consist...

2015-01-22 16:21:49 46

java连接telnet

[code="java"] public boolean telnetMTA(String ip, int port){ TelnetClient telnetClient = new TelnetClient(); BufferedReader br = null; try { telnetClient.connect(ip, port); InputS...

2015-01-16 17:11:34 57

JDK7的G1垃圾收集器

G1真正达到商业级别是从[b]JDK7u4[/b]开始G1的特点1. 充分利用多CPU 借用多个CPU缩短stop-the-world的停顿时间,G1甚至能够不用stop-the-world2.分代收集 3.空间整合...

2015-01-06 14:22:35 167

原创 Java的服务端程序性能问题调查方法

转:http://blog.sina.com.cn/s/blog_4fb490ff0100l0cd.html做java服务器端性能测试的时候发现无论再怎么增大并发线程数,CPU使用率在达到70%左右以后就再也上不去了。用来做测试的服务器是双四核CPU,所以一共有8个核心。而上个版本做性能测试的时候用的是双dual core的服务器,所以是4个核心,那个时候CPU使用率跑到了90%左右。为什...

2014-12-05 09:11:48 87

分布式系统---DAO层设计之DataSource

每个数据库都存在备份库如果DB-M是主库,DB-S1 DB-S2是两个备份库在插入或查询时我们可以认为这是一组DataSource --- groupDataSource好了重点问题出来了 groupDataSource 这个类怎么设计?简单的可能是这样[code="java"]class GroupDataSource { List groupDataSour...

2014-10-14 15:35:58 203

原创 spring 配置jms和dataSource是要注意

JMS的配置如下[code="java"] [/code]如果spring配置文件用了 [code="java"]default-autowire="byName"[/code]并且同时配置了某个bean id 是 dataSource这就...

2014-10-13 10:43:00 66

原创 用spring StopWatch计时

很多框架提供计时类 spring也不例外 记录下使用StopWatch的类[code="java"]package cn.ceopen.zweb.common;import java.io.IOException;import java.text.NumberFormat;import org.apache.commons.lang.StringUtils;...

2014-01-22 15:22:15 79

原创 restlet 重复读取Representation

项目要求把http请求和响应的报文输出发送http采用的是restlet框架 其中报文body用Representation类坐了封装通过方法[code="java"]Representation.getText();[/code]可以获取到报文body但开发中遇到不能重复执行getText()的问题通过查源码得知:在http响应时Representation封装了一个io...

2014-01-02 15:23:33 98

SSO伪代码实现

[b]SSO client端代码[/b]其实就是一个过滤器 Filter[code="java"]class SSOFilter{public void doFilter(){ if(isLogin == true){ doFilter(req, resp); }else if(existTicket){ ge...

2013-12-09 14:36:48 75

原创 MSM源代码分析

memcached session manager(MSM) 用集中式缓存方式解决了集群环境的session共享MSM用MemcachedBackupSessionManager类替换了StandardManager 1 MSM通过两个Valve拦截Request请求实现了对Session的操作[code="java"]RequestTrackingHostValveReque...

2013-12-06 13:34:45 53

log4j不同级别输出到不同文件

如果想要实现不同级别的日志输出到不同目的地呢?网址http://topic.csdn.net/u/20070524/12/77df885b-1efe-4fee-ab20-64ab4008cf11.html提到采用如下方式log4j.logger.forDebug=DEBUG,debugAppenderlog4j.appender.debugAppender=org.apache.log4j...

2013-11-28 14:24:51 86

CAS 服务端数据

服务端主要保存三类数据1 TicketGrantingTicketImpl (memcached)2 ServiceTicket (memcached)3 DefaultServicesManagerImpl (jvm)TGT 对应类 TicketGrantingTicketImplTicketGrantingTicketImpl 中包含一个M...

2013-11-20 13:55:45 47

spymemcached的set方法

[code="java"] public OperationFuture set(String key, int exp, Object o) { return asyncStore(StoreType.set, key, exp, o, transcoder); }[/code]这是set方法 注释中有这样一段[code="java"] * * ...

2013-11-14 17:44:17 119

memcached session manager(MSM)配置集群

tomcat提供了session复制的方式来实现集群,其核心思想是把A机器的session复制到集群中所有机器,这样做的好吃不说了 坏处是复制成本太高我们把session复制成分分散式session管理,把MSM称谓集中式session管理MSM把所有的session统一保存到memcached,所有集群中的服务器读取/写入session都是同一个接口[b]MSM是如何工作的[...

2013-11-11 11:14:10 28

sso参数

[b]renew[/b]是否每次都登陆sso serverCAS协议允许客户端选择是否跳出单点登录(强制重新登录),这就是renew。它允许一个客户端通知CAS服务器总是验证一个用户,不管一个单点登录的session是否存在。这是一个非常有用的属性,当一个特定的使用CAS认证机制的服务允许访问敏感资料时,它能强迫CAS重新认证一个用户,确保登录的是一个正确的用户。这时,那个应经存在的单点登...

2013-10-30 10:16:32 68

spymemcached的log4j日志配置

spymemcached日志需要在java启动参数中配置 在tomcat中配置方法:打开tomcat/bin/catalina.sh 找的JAVA_OPTS 变量,添加行[code="java"]JAVA_OPTS="$JAVA_OPTS -Dnet.spy.log.LoggerImpl=net.spy.memcached.compat.log.Log4JLogger"[/code...

2013-10-25 10:40:21 76

CAS之SingleSignOutFilter

这里只给出核心代码 doFilter[b]首先要明确一点 SingleSignOutFilter 会拦截所有请求,而不是仅仅拦截logout时的请求[/b]在sso client应用中存在一个Map对象在sso server认证用户名密码成功后,会redirect一个带有ticket的请求到sso client这时就执行下面的逻辑,ticket和当前session会被缓存到Ma...

2013-10-21 13:48:09 1244

CAS之用户认证流程

SSO协议规范可分为三个部分:1 用户认证流程2 用户登陆流程3 用户退出流程本文讲第一点用户认证流程:1: http request 浏览器 to sso client(service) url:http://ssoclient http response sso client to 浏览器(302跳转到ssoserver)...

2013-10-17 13:05:52 62

linux kill pid进程

memcached启动命令[quote]memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid[/quote]-d 选项是启动一个守护进程,-m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB-u 是运行Memcache的用户,这里是root-l 是监...

2013-10-15 16:48:00 315

shell写tomcat 重启

很简单 就三行 跟把大象放冰箱的步骤一致[code="java"]/opt/tomcat/bin/shutdown.shsleep 10/opt/tomcat/bin/start.sh[/code]

2013-10-15 11:15:32 26

CAS 核心概念

Service CAS的Service 通常是值 sso clientTGT (Ticket Grangting Ticket) TGT是个字符串存放在cookie中,cookie中有这个东东就表示用户曾经登陆成功过TGT在sso server端对应一个TGT对象,其实就是用户信息啦。 一般都会缓存的当用请求到sso server时会检查有无TGT cookie 并验证有效...

2013-10-14 17:31:15 107

多线程模式之Future Pattern

Future模式在jdk5中有实现其特点是:不阻塞等待函数的执行结果,而是立即返回一个Future对象,Future对象就像一个提货单,等函数执行完成再去提货核心类是 Host 和 FutureData[code="java"]public class Main { /** * @param args */ public static void main...

2013-06-24 17:22:54 41

多线程模式之Thread per message

Thread per Message 意思是每个请求都启动一个新线程最常见的就是socket server的处理模型每来一个客户端连接 服务端就开启一个线程处理数据这个模式共有3个类Client 客户端 发送messageServer 服务端 接收message 并启动线程处理MessageHandler message处理类...

2013-06-20 14:00:46 40

多线程之读写锁模式 Read-Write Lock Pattern

场景:老师在黑板上写了字,很多学生在下面读 现在老师要擦掉重写,学生们说我们还没看完呢 等我们全部看完了才能擦这就是读写锁:没有线程读取时才能写入看程序如何实现吧看以看到一次完整的读取或者写入要获取两次锁,这也就是加大了读写锁的使用成本所以读写锁用来处理一些比较耗时的计算更划算[code="java"]public class ReadWriteLock {...

2013-06-08 16:37:32 77

java Thread只interrupted() interrupt() isInterrupted()

Thread类有几个与中断有关的方法[code="java"]Thread.interrupted();[/code]这是个静态方法这个方法有点不好理解,因为连续调用两次的结果可能不一样这个方法做了两件事: 1 返回当前中断状态2 中断状态复位为false[code="java"]interrupt() [/code]interrupt()方法用来中断线...

2013-06-07 15:22:54 70

原创 多线程之Producer-Consumer Pattern

生产者/消费者模式有两个厨师在做蛋糕(生产者)两个客人在吃蛋糕(消费者)厨师做好了就放在桌子上,客人吃完了就从桌子上取,桌子实际上是共享队列桌子最多能放3个蛋糕,放满了后厨师就等待 直到客人取走一个整理后包括着几个类MakerThread 厨师EaterThread 客人Table 共享队列还有就是蛋糕了 我们用String来表示[code="java"]...

2013-06-07 13:24:14 51

原创 多线程模式之Balking Pattern

当现在不适合这个操作,或者没有必要进行这个操作时,就直接放弃而回去 这就是Balking Pattern主要有4个类Data 代表要保存的数据SaverThread 定时存盘线程 模拟word的定时保存ChangerThread 用户线程 模拟用户在修改文档,文档修改后这两个线程会去抢着保存到文件Main 就是main啦直接上代码吧[code="...

2013-06-05 17:05:04 89

原创 多线程模式之 Guarded Suspension Pattern

Guarded Suspension Pattern这个模式翻译过来应该叫保护性暂停模式吧意思是:如果不停下来的话前面会有危险这个模式有4个元素Request 请求RequestQueue 请求队列ClientThread 发送请求的类ServerThread 接收请求的类其实有点类似生产者/消费者模式ClientThread生产Request并放...

2013-06-04 18:00:39 44

原创 sgip1.2 下行代码

之前从[url]http://sunnylocus.iteye.com/blog/567374[/url] 下载了代码,实现sgip下行在运行过程中发现实现方式及代码上有几个问题1 线程异常退出后没有重新创建,导致无法下行2 同步锁使用的有问题,具体看[url]http://www.iteye.com/topic/1130674[/url]所以就在有了现在的这个版本,修正了上面...

2013-06-04 17:37:20 78

原创 java synchronize 与 lock

synchronize方法和 synchronized 块都不存在没有释放锁的问题,无论是发生异常或者中途返回例如下面的代码,还是会正确的释放锁[code="java"]void synchronized test(){doSomething();if(1==1)return;doSomething2();return;}[/code]再看下面的代码...

2013-05-30 15:55:26 28

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除