`
ol_beta
  • 浏览: 281861 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论
文章列表
在Java中提供Deflater和Inflater工具类来压缩/解压缩数据。 这两个工具类采用zlib算法,下面给出一个封装好的工具。 /** * util for compress/decompress data * * @author lichengwu * @version 1.0 * @created 2013-02-07 10:14 AM */ public final class CompressionUtil { private static final ...
 本文主要介绍的工具包括: CountDownLatch Semaphore CyclicBarrier Exchanger CountDownLatch CountDownLatch可以使一个或多个线程等待一组事件发生。在CountDownLatch内部维护一个计数器(被初始化为一个正整数),表示需要等待事件的数量。countDown()方法减少一个事件数量,await()将等待直到计数器为零的时候,才继续执行await后面的代码。如果计数器不为零,那么await将一直会阻塞等待直到计数器为零,或者阻赛线程中断/超时。 @Test pub ...
G1介绍:http://softbeta.iteye.com/blog/1562185 用python写的一个分析G1日志工具,现在还不是很完善,有时间继续改进: 目前只支持以下配置输出的GC日志: -XX:+UseG1GC -XX:+PrintGCDateStamps -XX:+PrintGCDetails -Xloggc:/Users/lichengwu/tmp/mtct/mtct_g1.log  下面是代码: # coding=utf-8 __author__ = 'lichengwu' import datetime import re '' ...
写在evernote上了,分享一下: https://www.evernote.com/shard/s110/sh/f1dbc310-9eb0-47c5-9554-02cab34d5105/4083488b78b7c945f30b4147f8f2a63c
安装: #wget http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz #tar zxvf http_load-12mar2006.tar.gz #cd http_load-12mar2006 #make && make install 用法: usage:  http_load [-checksum] [-throttle] [-proxy host:port] [-verbose] [-timeout secs] [-sip sip_file]             - ...
1.直接alter table ALTER TABLE youTable ENGINE=InnoDB; 这种方式最简单,但是对于大数据的表会消耗很长时间,因为MySQL要执行旧表到新表的逐行复制。而且alter table操作不管哪种引擎,MySQL都会锁整个表。   2.利用dump和source 首先dump需要的表,然后修改dump文件,去掉DROP TABLE修改CREATE TABLE代码,执行source。 这种方式不能在线修改引擎,需要让数据库下线;或者在线修改后进行同步。   3.利用CREATE和SELECT CREATE TABLE myTabl ...
以web项目启动为例,介绍一下Ioc容器的初始化。 下面这个图主要是在启动项目的时候,跟踪代码所得到的,不同的配置可能会有不同的路径,但是图中勾勒出了必须经历的大部分过程。 首先,在web.xml中配置ContextLoaderListener,当启动项目的会有下图: Ioc初始化大概分三个步骤:   准备工作(黑线) 加载Resource(红线) 通过Resource加载Bean定义并注册到Ioc容器中(绿线)    
已XmlWebApplicationContext为例,从getBean(String name)方法开始,读一下Spring是怎么通过名字获得bean的。 其他方式类似这个过程。 这个是XmlWebApplicationContext的类继承体系:  首先,getBean(String name)是在BeanFactory接口中定义的,而在AbstractApplicationContext中实现: public Object getBean(String name) throws BeansException { return getBeanFactory().getBea ...
以下是看代的码随笔,想到哪写到哪,没有组织逻辑,见谅见谅。 以FileSystemXmlApplicationContext为例,看看BeanFactory的体系结构。   类图(点击放大): 从上往下:   BeanFactory:BeanFactory:Spring的Bean容器最顶层的接口,定义了Ioc容器的基本规范。实现这个接口的Ioc容器都会持有一些BeanDefinition和一个唯一的字符串形式的名字。 HierarchicalBeanFactory:HierarchicalBeanFactory继承BeanFactory并扩展使其支持层级结构。getPar ...
Q:如何配置varnish缓存到硬盘? A:http://softbeta.iteye.com/blog/1681716   Q:如果debug VCL? A:http://stackoverflow.com/questions/12576248/how-to-debug-vcl-in-varnish   Q:怎样不重启varnish让新的vcl生效? A:用varnishadm进入管理员页面: vcl.load <configname> <filename> //加载一个新的vcl配置,configname:给配置起个名字,filename:配置的路径 ...
本文是对文件内网缓存方案的实现。     varnish作为缓存服务,部署在内网192.168.0.220,varnish只能本机访问(nginx),内网用户不能直接访问varnish,需要通过nginx代理来访问。 nginx作为varnish的代理,如果将来有更大规模的缓存,可以做负载均衡。 HttpSecureLinkModule 对请求(超时,防盗)验证,每个跳转到内网的url(带token和超时时间)都要经过nginx的验证,而且这个url会在很短时间失效,这样防止了内网用户盗用链接。   下面是一个请求的流程图: 配置地址:https://gist ...
方法一:在启动的时候设置   varnishd -s file,/var/lib/varnish/varnish_storage.bin,50%   方法二:修改默认启动文件     vi /etc/default/varnish DAEMON_OPTS="-a :9350 \ -T localhost:9351 \ -f /etc/varnish/default.vcl \ -S /etc/varnish/secret \ -s file ...
1.要求生成一组n位的数字,0-9...(n个)之间的稠密集合。2.用一个参数 表示稠密度,比如稠密度为0.8 则生成 10^n*0.8个数字。3.数字号码不能重复。4.生成结果放在int [] 里面,要乱序的哦,不是排序好的。5.注意内存不要溢出,尽量少用内存。
设计一个栈,O(1)复杂度实现入栈,出栈,栈中最大值,栈中最小值。 提示:可以用空间换时间。   具体实现代码: https://github.com/lichengwu/utils/blob/master/src/mian/java/oliver/util/colloection/FastExtremeValueAccessStack.java
介绍: Garbage First(G1)致力于在多CPU和大内存服务器上对垃圾收集提供软实时目标(soft real-time goal )和高吞吐量(high throughput )。从JDK 6u14开始就已经在Hotspot上试验,到现在的DK7依然没有走出实验室: #java -version java version "1.7.0 ...
Global site tag (gtag.js) - Google Analytics