自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 Java上clear Squid缓存

实现原理: 构造TCP请求,调用Squid自带的Purge.前提条件: Squid需要配置支持purge[code="java"] private void purge(String ip, int port, String uri) throws IOException { Socket sk = null;...

2011-11-29 10:26:26 168

原创 Hadoop异常:Bad connect ack with firstBadLink

hadoop抛出如下异常:[code="java"][INFO] Exception in createBlockOutputStream java.io.IOException: Bad connect ack with firstBadLink xxx.xxx.xxx.xxx:50010[INFO] Abandoning block blk_6251991629364444942_1850...

2011-11-24 11:10:39 249

原创 Hadoop异常:File /xxx/xxx/xx could only be replicated to 0 nodes, instead of 1

测试的时候,出现该异常信息 File /xxx/xxx/xx could only be replicated to 0 nodes, instead of 1 最终确定是ReplicationTargetChooser类的isGoodTarget出来的问题:[code="java"]if (considerLoad) { double avgLoad = 0; ...

2011-11-23 18:37:32 176

原创 Hadoop异常:n must be positive

测试HDFS 5000万个文件场景时,看到Datanode的log上不断的报如下异常[code="java"]11/11/10 00:00:00 ERROR datanode.DataNode: DatanodeRegistration(172.17.1.23:50010, storageID=DS-857985192-202.106.199.37-50010-1320820941090,...

2011-11-23 18:24:43 1163

原创 HttpURLConnection设置代理

设置全局代理,JVM范围内有效:[code="java"] System.getProperties().put("proxySet", "true"); System.getProperties().put("proxyHost", "proxy.xxx.com"); System.getProperties().put("pro.

2011-01-21 11:00:01 655

原创 Java监控文件夹变化

1. 线程轮询扫描优点:纯java实现,完美跨平台。缺点:监听文件较多时,需要扫描的量太大;响应不是非常及时,依赖于扫描间隔时间。2. 文件钩子优点:事件驱动方式,无目录扫描。缺点:跟平台相关Jnotify开发包是个不错的文件钩子库,使用方式如下:[code="java"]public class FieMonitor{ /** ...

2011-01-13 15:44:56 178

原创 证书常用操作归纳(粗略版)

1. 如何生成生成公私钥对和证书(pem格式或der格式)生成公私钥对和证书请求openssl req -newkey rsa:[color=red]1024[/color] -sha1 -pubkey -config [color=red]myopenssl.cnf[/color] -keyout root.pri.key.pem -out root.cer.req.pem -day...

2010-12-06 18:40:48 117

原创 快速修改hosts

开发或者测试的时候,经常需要在不同环境中切换,切换靠修改 C:\WINDOWS\system32\drivers\etc\hosts了。但是hosts切换不能立即生效,需要重启浏览器,甚至还要清缓存等,很不方便。下面的方法每次改完hosts能够立即生效,其基本方法就是要操作系统不缓存任何DNS的解析结果,每次遇到域名,都进行全新解析,这样就能起到这个效果。打开regedit,修改注...

2010-12-06 10:38:41 718

原创 keystore证书转换

常用的证书库:JKS和JCEKS是Java密钥库(KeyStore)的两种比较常见类型,JKS的Provider是SUN,在每个版本的JDK中都有,JCEKS的Provider是SUNJCE,1.4后我们都能够直接使用它。JCEKS在安全级别上要比JKS强,使用的Provider是JCEKS(推荐),尤其在保护KeyStore中的私钥上(使用TripleDES)PKCS#12(PFX)...

2010-12-06 10:31:20 867

原创 SQL执行过程原理

[color=red]转载自http://dicmo.iteye.com/blog/829028[/color][img]http://dl.iteye.com/upload/attachment/361467/e569587d-c62f-3e03-b09f-20925b13b4e7.jpg[/img]第一步:应用程序把查询SQL语句发给服务器端执行。我们在数据层执行SQL...

2010-12-06 10:18:02 110

原创 SSL交互和握手过程

[color=red]转载资料[/color]SSL消息按如下顺序发送: 1.Client Hello 客户发送服务器信息,包括它所支持的密码组。密码组中有密码算法和钥匙大小; 2.Server Hello 服务器选择客户和服务器都支持的密码组到客户。 3.Certificate 服务器发送一个证书或一个证书链到客户端,一个证书链开始于服务器公共钥...

2010-08-30 10:30:02 93

原创 JCE provider管理的问题

[b]现象[/b]两个module A和B分别采用了infosec的不同版本,虽然classloader已经保证了A和B所依赖的资源均可以正确的load, 并且成功地newInstance() 或者new构造,但是仍然出现ClassCastException、ClassNotFoundException、NoSuchMethodException等异常[b]问题分析[/b]Secu...

2010-08-23 13:24:50 830 1

原创 Jar冲突解决二

方案思想 自定义CustomClassLoader,彻底改变classloader的加载方式,自己管理class缓存以及配置文件重定向。根据自定义的加载规则控制3rd jar和配置加载。CustomClassLoader是自定义的classloader, 修改了java的默认委托规则,任何情况优先加载指定的jar,其父加载器是SystemClassLoader.相对方案一 可以指定系统中的具体...

2010-08-23 11:54:54 200

原创 Jar冲突解决一

目的是classpath中线性的jar排列扩展成树型排列。方案原理遍历classpath,对于每个jar定制一个ComponentClassLoader,每个jar内部的mainfest文件存储这个jar的依赖关系,由ManagerClassLoader负责根据依赖关系找到相应的ComponentClassLoader加载。如下是静态依赖关系: ComponentClassLoad...

2010-08-23 10:46:38 154

RemoteTea概要(未完成)

一,先整理下RPC调用RPC(Remote Procedure Cal),远程过程调用。调用过程代码并不是在调用者本地运行,而是要实现调用者与被调用者二地之间的连接与通信。比较严格的定义是:Remote procedure call (RPC) is a protocol that allows a computer program running on one computer ...

2010-04-21 00:29:29 179

BerkeleyDB存储算法差别

Hash与Btree的区别 当记录号不是用于数据存取的主键时,应该使用 Hash和Btree算法。 (如果记录号是用于数据存取的一个二级关键字,那么还是可以选择Btree算法,因为它支持一个主键和一个记录号同时存取。)Btree中的主键是有序存储,记录间的关联是依靠次序。并且其结构能随数据的插入和删除进行动态调整。为了代码的简单,DB没有实现对关键字的前缀码压缩。Btree支持对数...

2010-04-20 23:49:19 128

Java分析工具

[b]1、jps[/b]:类似unix系统里的ps命令,这个命令主要是用来显示当前系统的进程情况,有哪些进程,及其 id。 jps 也是一样,它的作用是显示当前系统的java进程情况,及其id号。我们可以通过它来查看我们到底启动了几个java进程和他们的进程号(为下面几个程序做准备),并可通过opt来查看这些进程的详细启动参数。 使用方法:在当前命令行下打 jps(需要JAVA_HOME,没有...

2010-04-16 11:40:47 106

Hibernate缓存

转载文章[b]一级缓存[/b]1.Session 级别的缓存,它同session邦定。它的生命周期和session相同。Session消毁,它也同时消毁;管理一级缓存,一级缓存无法取消,用两个方法管理,clear(),evict()2.两个session 不能共享一级缓存,因它会伴随session的生命周期的创建和消毁;3.Session缓存是实体级别的缓存,就是只...

2010-04-16 11:30:50 69

UML的几个概念

转载自http://blog.csdn.net/sfdev/archive/2009/02/18/3906243.aspx[b]继承[/b]指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性;[img]...

2010-04-16 11:23:55 97

Mina框架剖析--动态篇

一切从启动开始,MINA服务端启动代码:[code="java"] private void start(int port) throws IOException, InstantiationException, IllegalAccessException, ClassNotFoundException { //1 NioS...

2010-04-06 19:35:09 184

Mina框架剖析--静态篇

一、基础框架[img]http://dl.iteye.com/upload/attachment/230016/0ff4031f-9bc3-3c2c-95d7-3ac41a38a1ee.jpg[/img][b]IoService[/b]:IoService相当于是Mina的Socket层,负责所有SocketIO事件的注册,select,分发等。它位于org.apache.mina.cor...

2010-04-06 18:27:33 178

Database一些概念

[b]数据库范式:[/b]1NF:如果关系R 中所有属性的值域都是单纯域,那么关系模式R是第一范式的那么符合第一模式的特点就有 [color=red]有主关键字且不能为空,不能重复;字段是atomic不可以再分[/color]例如:StudyNo | Name | Sex | Contact20040901 john Male ...

2010-04-02 17:24:13 166

Transaction

[color=red]事务具有四个特性[/color]:1. 原子性(Atomic):一个事务中所有对数据库的操作是一个不可分割的操作序列。这些操作要么完整的被全部执行,要么一步也不做。是一个逻辑工作单位。2.一致性(Consistency):一个事务独立执行的结果将保持一致性,即数据不会因为事务的执行而遭受破坏。3.隔离性(Isolated):一个事务的执行不能被其他事务干扰。即一个...

2010-04-01 16:47:56 89

Java中的Factory pattern

一、Simple Factory简单工厂模式的一般结构图:[img]http://dl.iteye.com/upload/attachment/227620/63e37245-4fcb-3747-8184-65884510477c.png[/img]其中,AbstractProduct既可以是Interface也可以是Abstract class.1.如果把AbstractProd...

2010-04-01 00:07:53 127

TCP Close_Wait问题

[size=large][b]生成原因[/b][/size]:如果我们的Client程序处于CLOSE_WAIT状态的话,说明Socket是被动关闭的.因为如果是Server端主动断掉当前连接的话,那么双方关闭这个TCP连接共需要四个packet:Server ---> FIN ---> ClientServer ...

2010-03-30 15:42:02 149

负载均衡备注二

Lvs或者F5的负载体系中,所有的请求需要请过dispatcher,从体系上说,它就是所谓的热点设备,无论这个设备的性能多么卓越,迟早会成为性能瓶颈。看过memcached的系统架构后,结合自身的系统特点,也可以做到客户端来实现负载。memcached虽然称为分布式缓存服务器,但服务器端并没有分布式功能,是完全由客户端程序库实现的。[b]初步方案:[/b][img]http://dl.it...

2010-03-30 11:41:57 83

HardDisk读取速度

首先,读写头沿径向移动,移到要读取的扇区所在磁道的上方,这段时间称为寻道时间(seek time)。读写头起始位置与目标位置之间的距离不同,寻道时间也不同,一般为2--30毫秒,平均约为10毫秒。然后,通过盘片的旋转,使得要读取的扇区转到读写头的下方,这段时间称为旋转延迟时间(rotational latency time)。一个7200(转 /每分钟)的硬盘,每旋转一周所需时间为60×1...

2010-03-29 11:55:09 195

RAID 主要概念

[size=large]一、RAID技术名词解释[/size]RAID技术主要包含RAID 0~RAID 7等数个规范,它们的侧重点各不相同,常见的规范有如下几种:[b]RAID 0[/b]:RAID 0连续以位或字节为单位分割数据,并行读/写于多个磁盘上,因此具有很高的数据传输率,但它没有数据冗余,因此并不能算是真正的RAID结构。RAID 0只是单纯地提高性能,并没有为数据的可...

2010-03-29 11:53:31 153

SelectableChannel关闭注意事项

SocketChannel和ServerSocketChannel,两者的父类是SelectableChannel,它在jdk中的文档有这么段话:[color=red] Once registered with a selector, a channel remains registered until it is deregistered.This involves dealloca...

2010-03-29 11:49:08 180

TcpDump备注

========转载文章======tcpdump使用详解及评论摘要第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host.第二种是确定传输方向的关键字,主要...

2010-02-23 20:31:05 81

TCP连接过程

1、建立连接协议(三次握手)  (1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1.  (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。  (3) 客户必须再次回应服务段一个ACK报文,这是报文段3.  2...

2010-02-06 16:58:58 91

原创 HTTP状态码备注

完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request...

2010-02-06 15:03:15 153

负载均衡备注一

注:转载自http://tangfeng.iteye.com/blog/433011一 、LVS总共有8种调度算法。1. 轮叫调度(Round Robin Scheduling)是以轮叫的方式依次将请求调度不同的服务器,即每次调度执行i = (i + 1) % n,并选出第i台服务器。在系统实现时,引入了一个额外条件,当服务器的权值为零时,表示该服务器不可用而不被调度。这样做的目的...

2010-02-03 23:06:51 98

原创 Top备忘

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombi...

2010-02-03 17:12:02 80

java clone备忘

1.Object clone 就是复制一个对象的复本,在Factory模式中比较常用。对象要实现Clone的功能,就必须implements Clonable interface, 事实上,这是一个没有任何method的interface。对象的clone方法是Object类的方法,如果对象没有implements Clonable,就会throw CloneNotSupportedExcepti...

2009-12-09 14:39:42 60

冻结列的初步实现

之前老想着用一个Jtable上实现冻结列的效果,弄得非常复杂还出错。现在我用两个Jtable合并起来,第一个table作为冻结的列,第二个作为非冻结的列,这样就好办了。为了使外界看起来是一个Table,就需要改进如下几点:1.ListSelected事件统一处理,选中某个表中任何一行,另外一个表的对应行也需要被选中。2.Mouse事件,Key事件统一处理,repaint事件也统一处理。...

2009-07-14 15:03:34 218

SpringAOP的一个问题

问题:项目中用到了AOP方式记录日志,对于所有create开头的方法全部做了拦截。现在有一个类,里面有createFile方法和newFolder方法,newFolder方法里面会调用到createFile方法,但此时,createFile的拦截记录日志却起不到作用,这是为什么呢。缘由:Spring的AOP实现方式有两种:Java动态代理和Cglib动态增强,这两种方式在Spring中是可...

2009-07-13 15:05:32 100

Lucene使用心得

Lucene中两个最重要的概念,索引和搜索 索引:一个比较经典的例子:Eclipse中搜索带有指定字符串“aaa”的所有文件。如果顺序的扫描文件查找,这会是相当的郁闷。这时就出现了索引:为了快速搜索大量的文本,首先索引那个文本然后把它转化为一个可以快速搜索的格式,因此可以除去缓慢的顺序地扫描过程。这个转化过程称为索引,它的输出称为一条索引。索引就可以认为是一个快速随机访问存于其内部的词的数...

2009-05-29 17:37:58 99

db4o使用心得之二

3)delete,update对象 把这两个操作放一起,是因为它们都跟一个东东:更新深度 有关系。 对于更新,代码是很简单的,还是拿那个例子来看。[code="java"]ObjectContainer db = Db4o.openFile("data.yap"); try{ ObjectSet result = db.query(new Predic...

2009-05-26 01:02:42 158

db4o使用心得之一

[color=red]db4o主要的包[/color] com.db4o: 是db4o最经常用到的功能,Db4o类和ObjectContainer接口是这个包最常用到的。Db4o是运行db4o数据库的起点,这个类中的静态方法openFile会以嵌入式的方式打开数据库文件,还可以在开启数据库之前进行 db4o 环境配置。ObjectContainer 接口可在单用户模式下作为数据库实例...

2009-05-26 00:00:43 171

空空如也

空空如也

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

TA关注的人

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