摘要:
首先 我们的目的是做一个拦截器 能够对http请求做profiler,能够记录本次的调用情况,这里说下如何从http请求中获取到出参的问题。 方案一:参照http://blog.csdn.net/wuhenzhangxing/article/details/53079458 该方案中,使用了Http 阅读全文
摘要:
场景:我们在系统运行中,需要监控某个代码段的运行时间,我们完全可以使用currentTimeMillis来做,但是做起来比较麻烦,尤其是需要阶段监控的时候,那么这个工具就出现啦~~~ 先说下想要实现的功能:1.能够对代码段进行运行时间的监控,比如代码行a->代码行b的运行时间。2.能够监控代码行嵌套 阅读全文
摘要:
我们怎么去做日志同步呢? 方案一:在Log4j的体系中有个东西叫做LoggerFilter,这个类的工具是用来做日志过滤,每次我们打印日志的时候都会经过这个filter,来决定是否打印日志。比如: 可以看到我们在配置文件里面配置的 根据上面的原理,我们可以定义一个filter,然后每次打印日志的时候 阅读全文
摘要:
场景:我们对于需要大量计算的场景,希望将结果缓存起来,然后我们一起来实现一个缓存服务。即对于一个相同的输入,它的输出是不变的(也可以短时间不变)。 实现说明:这里实现采用GuavaCache+装饰器模式。 首先设计一个缓存服务接口。 这里定义了一个缓存服务接口,这里的key和Hashmap的key一 阅读全文
摘要:
使用场景 对于一些大对象,或者初始化过程较长的可复用的对象,我们如果每次都new对象出来,那么意味着会耗费大量的时间。 我们可以将这些对象缓存起来,当接口调用完毕后,不是销毁对象,当下次使用的时候,直接从对象池中拿出来即可。 下面以redis客户端举例,说明下连接池的基础实现。commons-poo 阅读全文
摘要:
一致性哈希算法 使用场景 现在我们假设有100台redis data服务器,一份数据101进来的时候,以散列公式hash(i)&100,计算所存放的服务器,假设hash(i) = i,那么数据被散列到标号为1的服务器,然后这个时候服务器新增了一台,然后散列公式为hash(i)%101,这个时候请求访 阅读全文
摘要:
利用virtualbox+win的开发环境搭设好咯,在win下做开发,利用linux跑hadoop,伪分布式的.上第一个程序package org.apache.hadoop.examples;import java.io.IOException;import org.apache.hadoop.c... 阅读全文
摘要:
问题:算出指定目录下文件的大小.这个是个很简单的问题嘛,直接做个递归就行,上顺序算法: public long getFileSize(final File file){ if(file.isFile()){ return file.length(); ... 阅读全文
摘要:
在并发方法中,我们要保证一致性和准确性,但是有希望在给定的硬件条件下达到最佳性能.当我们完全使用了不可变共享变量模型,那么我们将很容易地规避竞争条件或者一致性的问题.因为当线程不再竞争访问可变数据的时候,程序就无需考虑变量在多个线程之间的可见性问题和穿越内存栅栏的问题,同时,我们也不许担心如何控制线... 阅读全文
摘要:
问题原型:求三千万以内的素数.问题的解决办法很简单,写一个求素数算法 然后循环就可以.这个是顺序执行方式,下面附上代码public abstract class PrimeAbstract { public boolean isPrime(int i){ if(i> partit... 阅读全文