- 博客(373)
- 问答 (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
557
原创 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
781
分布式存储系统的一致性
[b]分布式一致性的定义[/b]分布式文件系统为了保证数据不会丢失,每份数据都保存多分在更新一个副本的同时,必须同时更新其他副本,保证数据在读取时的一致性为了实现一致性可以在写入第一个副本后阻塞,直到完成数据同步后才结束写入动作但是显而易见 这样操作的性能非常低实际上很难找到写入性能非常高,一致性也特别高的方案所以在分布式一致性的实现方法上有如下两种[b]强一致...
2016-01-26 15:53:29
347
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
447
原创 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
168
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
473
让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
127
creative-diagnostics 收录测试
下面这个网页google没有收录 [url]http://www.creative-diagnostics.com/Custom-Monoclonal-Antibody-Scale-Up.htm[/url]在这儿做个试验 看看能不能收录?
2015-03-18 14:40:16
139
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
113
一致性哈希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
1173
一致性哈希 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
142
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
168
JDK7的G1垃圾收集器
G1真正达到商业级别是从[b]JDK7u4[/b]开始G1的特点1. 充分利用多CPU 借用多个CPU缩短stop-the-world的停顿时间,G1甚至能够不用stop-the-world2.分代收集 3.空间整合...
2015-01-06 14:22:35
429
原创 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
191
分布式系统---DAO层设计之DataSource
每个数据库都存在备份库如果DB-M是主库,DB-S1 DB-S2是两个备份库在插入或查询时我们可以认为这是一组DataSource --- groupDataSource好了重点问题出来了 groupDataSource 这个类怎么设计?简单的可能是这样[code="java"]class GroupDataSource { List groupDataSour...
2014-10-14 15:35:58
396
原创 spring 配置jms和dataSource是要注意
JMS的配置如下[code="java"] [/code]如果spring配置文件用了 [code="java"]default-autowire="byName"[/code]并且同时配置了某个bean id 是 dataSource这就...
2014-10-13 10:43:00
151
原创 用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
200
原创 restlet 重复读取Representation
项目要求把http请求和响应的报文输出发送http采用的是restlet框架 其中报文body用Representation类坐了封装通过方法[code="java"]Representation.getText();[/code]可以获取到报文body但开发中遇到不能重复执行getText()的问题通过查源码得知:在http响应时Representation封装了一个io...
2014-01-02 15:23:33
228
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
146
原创 MSM源代码分析
memcached session manager(MSM) 用集中式缓存方式解决了集群环境的session共享MSM用MemcachedBackupSessionManager类替换了StandardManager 1 MSM通过两个Valve拦截Request请求实现了对Session的操作[code="java"]RequestTrackingHostValveReque...
2013-12-06 13:34:45
242
1
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
145
CAS 服务端数据
服务端主要保存三类数据1 TicketGrantingTicketImpl (memcached)2 ServiceTicket (memcached)3 DefaultServicesManagerImpl (jvm)TGT 对应类 TicketGrantingTicketImplTicketGrantingTicketImpl 中包含一个M...
2013-11-20 13:55:45
208
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
255
memcached session manager(MSM)配置集群
tomcat提供了session复制的方式来实现集群,其核心思想是把A机器的session复制到集群中所有机器,这样做的好吃不说了 坏处是复制成本太高我们把session复制成分分散式session管理,把MSM称谓集中式session管理MSM把所有的session统一保存到memcached,所有集群中的服务器读取/写入session都是同一个接口[b]MSM是如何工作的[...
2013-11-11 11:14:10
117
sso参数
[b]renew[/b]是否每次都登陆sso serverCAS协议允许客户端选择是否跳出单点登录(强制重新登录),这就是renew。它允许一个客户端通知CAS服务器总是验证一个用户,不管一个单点登录的session是否存在。这是一个非常有用的属性,当一个特定的使用CAS认证机制的服务允许访问敏感资料时,它能强迫CAS重新认证一个用户,确保登录的是一个正确的用户。这时,那个应经存在的单点登...
2013-10-30 10:16:32
237
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
174
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
3795
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
136
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
563
shell写tomcat 重启
很简单 就三行 跟把大象放冰箱的步骤一致[code="java"]/opt/tomcat/bin/shutdown.shsleep 10/opt/tomcat/bin/start.sh[/code]
2013-10-15 11:15:32
87
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
263
多线程模式之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
125
多线程模式之Thread per message
Thread per Message 意思是每个请求都启动一个新线程最常见的就是socket server的处理模型每来一个客户端连接 服务端就开启一个线程处理数据这个模式共有3个类Client 客户端 发送messageServer 服务端 接收message 并启动线程处理MessageHandler message处理类...
2013-06-20 14:00:46
93
多线程之读写锁模式 Read-Write Lock Pattern
场景:老师在黑板上写了字,很多学生在下面读 现在老师要擦掉重写,学生们说我们还没看完呢 等我们全部看完了才能擦这就是读写锁:没有线程读取时才能写入看程序如何实现吧看以看到一次完整的读取或者写入要获取两次锁,这也就是加大了读写锁的使用成本所以读写锁用来处理一些比较耗时的计算更划算[code="java"]public class ReadWriteLock {...
2013-06-08 16:37:32
165
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
131
原创 多线程之Producer-Consumer Pattern
生产者/消费者模式有两个厨师在做蛋糕(生产者)两个客人在吃蛋糕(消费者)厨师做好了就放在桌子上,客人吃完了就从桌子上取,桌子实际上是共享队列桌子最多能放3个蛋糕,放满了后厨师就等待 直到客人取走一个整理后包括着几个类MakerThread 厨师EaterThread 客人Table 共享队列还有就是蛋糕了 我们用String来表示[code="java"]...
2013-06-07 13:24:14
164
原创 多线程模式之Balking Pattern
当现在不适合这个操作,或者没有必要进行这个操作时,就直接放弃而回去 这就是Balking Pattern主要有4个类Data 代表要保存的数据SaverThread 定时存盘线程 模拟word的定时保存ChangerThread 用户线程 模拟用户在修改文档,文档修改后这两个线程会去抢着保存到文件Main 就是main啦直接上代码吧[code="...
2013-06-05 17:05:04
137
原创 多线程模式之 Guarded Suspension Pattern
Guarded Suspension Pattern这个模式翻译过来应该叫保护性暂停模式吧意思是:如果不停下来的话前面会有危险这个模式有4个元素Request 请求RequestQueue 请求队列ClientThread 发送请求的类ServerThread 接收请求的类其实有点类似生产者/消费者模式ClientThread生产Request并放...
2013-06-04 18:00:39
139
原创 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
133
原创 java synchronize 与 lock
synchronize方法和 synchronized 块都不存在没有释放锁的问题,无论是发生异常或者中途返回例如下面的代码,还是会正确的释放锁[code="java"]void synchronized test(){doSomething();if(1==1)return;doSomething2();return;}[/code]再看下面的代码...
2013-05-30 15:55:26
103
空空如也
第三方系统,在某表中追加一个字段会影响系统运行吗?
2013-05-03
新浪微博广场中的‘1小时话题榜’如何产生的?
2010-03-09
求一sql:新浪微博中的‘关注’查询
2010-01-21
问:用sql批量删除过期数据的办法
2009-07-16
求图片缩放工具
2009-06-19
linux下eclipse能装vss吗
2009-01-04
hibernate 一对多时二级缓存不起作用
2008-11-10
sso退出的原理是什么?
2008-10-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人