- 博客(256)
- 资源 (34)
- 问答 (1)
- 收藏
- 关注
Java压缩/解压缩二进制文件
在Java中提供Deflater和Inflater工具类来压缩/解压缩数据。 这两个工具类采用zlib算法,下面给出一个封装好的工具。 /** * util for compress/decompress data * * @author lichengwu * @version 1.0 * @created 2013-0...
2013-02-08 13:56:10 886 1
原创 java常用并发工具介绍
本文主要介绍的工具包括:CountDownLatchSemaphoreCyclicBarrierExchangerCountDownLatchCountDownLatch可以使一个或多个线程等待一组事件发生。在CountDownLatch内部维护一个计数器(被初始化为一个正整数),表示需要等待事件的数量。countDown()方法减...
2013-02-06 23:22:27 259
Garbage First(G1) 日志分析工具
G1介绍:http://softbeta.iteye.com/blog/1562185用python写的一个分析G1日志工具,现在还不是很完善,有时间继续改进:目前只支持以下配置输出的GC日志:-XX:+UseG1GC-XX:+PrintGCDateStamps-XX:+PrintGCDetails-Xloggc:/Users/lichengwu/tmp/mtct/mtct...
2012-12-22 22:35:39 361
高性能MySQL读书笔记整理
写在evernote上了,分享一下:https://www.evernote.com/shard/s110/sh/f1dbc310-9eb0-47c5-9554-02cab34d5105/4083488b78b7c945f30b4147f8f2a63c
2012-12-22 12:43:17 189
http_load工具使用
安装:#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...
2012-12-11 11:32:54 177
原创 三种方式修改数据库的引擎
1.直接alter tableALTER TABLE youTable ENGINE=InnoDB;这种方式最简单,但是对于大数据的表会消耗很长时间,因为MySQL要执行旧表到新表的逐行复制。而且alter table操作不管哪种引擎,MySQL都会锁整个表。 2.利用dump和source首先dump需要的表,然后修改dump文件,去掉DROP TABLE修改CREA...
2012-11-21 23:30:40 475
原创 Spring源码阅读——Ioc初始化过程
以web项目启动为例,介绍一下Ioc容器的初始化。下面这个图主要是在启动项目的时候,跟踪代码所得到的,不同的配置可能会有不同的路径,但是图中勾勒出了必须经历的大部分过程。首先,在web.xml中配置ContextLoaderListener,当启动项目的会有下图:Ioc初始化大概分三个步骤: 准备工作(黑线)加载Resource(红线)通过Resource加载Bean...
2012-11-20 21:52:45 145
原创 Spring源码阅读——获得bean
已XmlWebApplicationContext为例,从getBean(String name)方法开始,读一下Spring是怎么通过名字获得bean的。其他方式类似这个过程。这个是XmlWebApplicationContext的类继承体系: 首先,getBean(String name)是在BeanFactory接口中定义的,而在AbstractApplicationCont...
2012-10-20 20:57:04 157
原创 Spring源码阅读——BeanFactory体系结构
以下是看代的码随笔,想到哪写到哪,没有组织逻辑,见谅见谅。以FileSystemXmlApplicationContext为例,看看BeanFactory的体系结构。 类图(点击放大):从上往下: BeanFactory:BeanFactory:Spring的Bean容器最顶层的接口,定义了Ioc容器的基本规范。实现这个接口的Ioc容器都会持有一些BeanDefini...
2012-10-10 18:10:08 169
原创 varnish使用汇总(不断更新)
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进入...
2012-09-28 17:02:39 206
原创 varnish+nginx实现内网附件缓存
本文是对文件内网缓存方案的实现。 varnish作为缓存服务,部署在内网192.168.0.220,varnish只能本机访问(nginx),内网用户不能直接访问varnish,需要通过nginx代理来访问。nginx作为varnish的代理,如果将来有更大规模的缓存,可以做负载均衡。HttpSecureLinkModule 对请求(超时,防盗)验证,每个跳转到...
2012-09-28 12:43:23 266
varnish 缓存到硬盘
方法一:在启动的时候设置 varnishd -s file,/var/lib/varnish/varnish_storage.bin,50% 方法二:修改默认启动文件 vi /etc/default/varnishDAEMON_OPTS="-a :9350 \ -T localhost:9351 \ ...
2012-09-19 18:27:58 275
原创 生成随机数组
1.要求生成一组n位的数字,0-9...(n个)之间的稠密集合。2.用一个参数 表示稠密度,比如稠密度为0.8 则生成 10^n*0.8个数字。3.数字号码不能重复。4.生成结果放在int [] 里面,要乱序的哦,不是排序好的。5.注意内存不要溢出,尽量少用内存。...
2012-09-11 20:23:08 262
原创 O(1)复杂度获得栈中的极值
设计一个栈,O(1)复杂度实现入栈,出栈,栈中最大值,栈中最小值。提示:可以用空间换时间。 具体实现代码:https://github.com/lichengwu/utils/blob/master/src/mian/java/oliver/util/colloection/FastExtremeValueAccessStack.java...
2012-09-09 23:47:58 216
原创 Garbage First(G1)介绍
介绍:Garbage First(G1)致力于在多CPU和大内存服务器上对垃圾收集提供软实时目标(soft real-time goal)和高吞吐量(high throughput)。从JDK 6u14开始就已经在Hotspot上试验,到现在的DK7依然没有走出实验室:#java -versionjava version "1.7.0_03"Java(TM) SE Runt...
2012-07-08 13:34:05 139
ubuntu12.04上编译openjdk7
获取源码从openjdk代码仓库获取(比较慢)安装mercurialMercurial是一个版本管理工具。sudo apt-get install mercurial将以下内容添加到$HOME/.hgrc文件中,如果没有则自己创建一个:[extensions]forest=/home/lichengwu/hgforest-crew/fore...
2012-06-13 15:31:31 169
原创 ubuntu源推荐
国内的源东西不是很全,推荐下面的源。#####################FFICIAL UBUNTU REPOS ###################################################################################### Ubuntu Main Reposdeb http://cn.archi...
2012-04-27 19:36:21 138
jinfo 查看、设置JVM参数
用法:# jinfo -hUsage: jinfo [option] <pid> (to connect to running process) jinfo [option] <executable <core> (to connect to a core file) jinfo [opt...
2012-04-25 15:36:05 631
daemontools安装使用
Create a /package directory: mkdir -p /package chmod 1755 /package cd /packageDownload daemontools-0.76.tar.gz into /package.Unpack the daemontools package: gunzip ...
2012-04-23 16:01:38 207
文件内网缓存方案
需求: 有一些图片,doc文件,公司内网用户需要经常访问,每次每个人都从服务器上下载,非常耗时。一些文件可以根据规则打成zip包下载。需要在内网架设缓存服务,加快公司内网访问速度。文件资源敏感,不能随便访问,每次访问都要有权限验证和日志记录(即使访问内网)。 架构: 采用varnish做缓存,varnish对用户透明。采用nginx+Secure Li...
2012-04-19 19:47:33 521
原创 nginx query string rewrite
有urlhttp://192.168.0.1:9988/app/file_view?id=df0de9d8-8a0b-11e1-9ddb-0026b93f2307&token=TASIpYr6mj2-h78JEQ5ymg&expire=1334834398想rewrite成http://192.168.0.1:8899/app/f...
2012-04-19 19:31:25 459
原创 一些参数,弥补CMS(Concurrent Mark-Sweep)收集器的缺点
CMS缺点:http://softbeta.iteye.com/blog/1315103参数根据具体应用设置,不是有参数就好。1.关于碎片问题:CMS采用Mark-Sweep算法进行垃圾会后,不会对堆空间进行整理和压缩,每次回收后不可避免会有一些碎片产生。-XX:+UseCMSCompactAtFullCollection defau...
2012-03-28 21:11:58 372
原创 [转载]PrintCompilation 参数解释
英文不好,所以就不翻译了:b Blocking compiler (always set for client)* Generating a native wrapper% On stack replacement (where the compiled code is running)! Method has exception handlerss ...
2012-03-27 13:59:42 441
MooseFS 分布式文件系统介绍与部署
一些概念Master 用来管理MooseFS。安装master的主机需要稳定,有一定的可用内存,一台服务器即可。Metalogger master 一些元数据备份。必要时可以恢复数据,至少一台服务器。Chunkservers 文件块的存储服务,推荐至少有两台服务。Clients 通过mount访问Chunkservers文件。详情参考:http://www.moosefs.or...
2012-03-14 13:54:32 155
原创 中文ubuntu里用户目录里的路径改成英文
为了使用起来方便,装了ubuntu中文版,自然在home文件里用户目录的“桌面”、“图片”、“视频”、“音乐”……都是中文的。 很多时候都喜欢在桌面上放一些要操作的文件,linux里命令行操作又多,难免会用命令行操作桌面上的东西,那么就要 “cd 桌面”,打“桌面”的时候要输入法切换,麻烦……所以就想办法把用户目录下的路径改成英文,而其他的中文不变,方法如下:打开终端,在终端中...
2012-03-03 11:27:10 124
《Head First 设计模式》读书笔记
1.策略模式(Strategy) 定义算法,将他们分别封装起来,让他们可以相互替换,让算法变化对客户端透明。2.观察者模式(Observer) 解耦一系列对象的通知状态。定义对象之间的一对多依赖,当一端对象发生变换,通知多端。3.装饰模式(Decorator) 动态将责任附加到对象上。对扩展开放,对修改封闭。4.工厂模式(Factory)...
2012-03-01 11:30:44 81
解决jrobin图像中文乱码
目前发现一种方法可以解决,做个标记。利用字体:RrdGraphDef graphDef = new RrdGraphDef();graphDef.setSmallFont(new Font(Font.MONOSPACED, Font.PLAIN, 10));graphDef.setLargeFont(new Font(Font.MONOSPACED, Font.BOLD, 12))...
2012-02-14 23:31:54 124
Java内存管理——垃圾收集概念及特点
碎碎念,介绍Java内存管理基础知识1.自动内存管理 内存管理就是查找出不再使用的对象,释放这些对象占用的内存空间,为其他对象的分配提供足够的内存空间。在一些编程语言(C,C++)中,内存管理是程序员的职责。内存管理使开发变得复杂,而且会造成许多潜在的bug和不可知的崩溃。导致程序猿花费大量时间debug来修复这些很隐蔽的问题。 在精确的内存管理中经常发生一个问题是悬摆...
2012-02-03 12:37:12 94
原创 [转载]hotspot源码(JDK7)
源码结构图,方便理解: ├─agent Serviceability Agent的客户端实现├─make 用来build出HotSpot的各种配置文件├─src HotSpot VM的源代码│ ├─cpu ...
2012-01-19 19:25:37 239
跨平台获取java进程id(Process ID in Java)
原创地址:http://blog.lichengwu.cn/java/2012/01/18/get-jvm-pid-on-multi-platform/ 对于不同平台,获取java进程id有不同的方法,这个做一个总结,写一个工具类。这个工具主要进行两种尝试来获得pid:从 java.lang.management.RuntimeMXBean获得从操作系统获得win...
2012-01-18 19:20:21 413
原创 [转载]为程序员量身定制的12个目标
对程序员们来说挑战自我非常重要,要么不断创新,要么技术停滞不前。新年伊始,我整理了12个月的目标,每个目标都是对技术或个人能力的挑战,而且可以年复一年循环使用。01. 变得有耐心02. 保持健康03. 拥抱变化带来的不适应04. 学习一门新的编程语言05. 自动化06. 学习更多数学知识07. 关注安全08. 备份你的数据09. 学习更多理...
2012-01-15 22:38:17 118
了解CMS(Concurrent Mark-Sweep)垃圾回收器
1.总体介绍:CMS(Concurrent Mark-Sweep)是以牺牲吞吐量为代价来获得最短回收停顿时间的垃圾回收器。对于要求服务器响应速度的应用上,这种垃圾回收器非常适合。在启动JVM参数加上-XX:+UseConcMarkSweepGC,这个参数表示对于老年代的回收采用CMS。CMS采用的基础算法是:标记—清除。2.CMS过程:初始标记(STW initial...
2011-12-27 20:13:29 376
fail-fast
fail-fast:快速失败一般情况下,在对集合进行迭代(用Iterator)的时候,如果发现集合中的元素被修改了,那么迭代器会抛出ConcurrentModificationException。下面是一个例子:List<String> list = new ArrayList<String>();for (int i = 0; i < 10; i++...
2011-12-13 19:34:10 102
原创 [转载]理解 CMS GC 日志
CMS GC with -XX:+PrintGCDetails and -XX:+PrintGCTimeStamps prints a lot of information. Understanding this information can help in fine tuning various parameters of the application and CMS to ac...
2011-11-22 14:52:33 175
利用VisualVM监视远程JVM
VisualVM介绍VisualVM是集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。在JDK Update7之后,VisualVM作为JDK的一部分发布,但同时VisualVM也发布独立的版本。VisualVM必须运行在JDK1.6以上的V...
2011-11-17 20:06:24 159
原创 [转载]Java 虚拟机指令
0x00 nop 什么都不做 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将int型0推送至栈顶 0x04 iconst_1 将int型1推送至栈顶 0x05 iconst_2 将int型2推送至栈顶 0x06 iconst_3 将int型3推送至栈...
2011-10-28 20:18:27 105
Java 乱码总结
1.URL乱码有的是,不可避免要在URL上传中文,用一些框架(spring MVC,struts)可以解决。但是我们也可以自己手动解决。String url = "http://www.softbeta.iteye.com?name=小武";// url编码url = "http://www.softbeta.iteye.com?name=" + java.net.URLEncod...
2011-10-13 14:41:23 83
原创 Lucene 实战:快速开始 简单查询
创建索引参考:http://blog.csdn.net/ol_beta/article/details/6840619 /** * * 查询 * * @throws IOException * @throws ParseException
2011-10-02 16:57:46 1062
Lucene 实战:快速开始 简单查询
/** * * 查询 * * @throws IOException * @throws ParseException */@Testpublic void search() throws IOException, ParseException{ //创建分词器 Analyzer analyzer = new StandardAnalyzer(Versi...
2011-10-02 16:57:00 98
j-ftp-1.53-javadoc api 中文版
2010-11-29
UNIX环境高级编程.rar
2010-04-22
王爽 汇编语言 第2版(完全版).pdf
2009-09-28
Java Oracle 数据库开发指南.rar
2009-07-30
Java数据结构和算法中文第二版源码.rar
2009-07-30
java数据结构和算法.(第二版).pdf
2009-07-30
ServletAPI-docs.rar
2009-07-30
SCJP 认证考试指南中文官方版.pdf
2009-07-30
EXT 中文手册.pdf
2009-07-28
对于列表的疑问
2011-12-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人