摘要:
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> //删除右边连续的空格, char* rtrim(char *pstr) { char *p = pstr; int len = strlen( 阅读全文
摘要:
摘要: 自从硬盘分区技术的开始,最常见的分区方式为C/D/E/F,四个盘符。但随着硬盘单体容量越来越大,有很多用户开始增加分区盘符,达到6个甚至8个,这样虽然可以起到分门别类的便易之处,但同时存在的隐患一直没有被人所重视起来。 硬盘分区过多,最主要的一点就是过分占用磁盘内外圈的位置。本意上无论你的磁 阅读全文
摘要:
1、newFixedThreadPool创建一个指定工作线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。2、newCachedThreadPool创建一个可缓存的线程池。这种类型的线程池特点是:1).工作线程的创建数量几乎没... 阅读全文
摘要:
今天无意发现的,以前处理HTTP State = 404或403之类的,都是直接返回 HTTP 200 OK,然后加一个缓存设置,例如: Cache-Control: max-age=3600 最近修改为 404 错误就直接返回 HTTP 404 Not Found, 缓存没变,还是 Cache-C 阅读全文
摘要:
看到这个标题,你可能会惊讶,相比NIO,AIO不就是为了在高并发的情况下代替NIO的吗? 是的,没错,但是在并发不高的情况下,AIO的性能表现很多时候还不如NIO。 在一台机子上用ab进行并发压力测试,一般只能开到1000并发,但测试的时候发现,如果在100 - 300并发的情况下,AIO的性能表现 阅读全文
摘要:
前些日了,对AIO与NIO的并发性能进行了比较,在低并发的情况下,NIO性能表现比AIO好一些,主要原因是,NIO中可以使用FileChannel.transferTo(long position, long count, WritableByteChannel target),这个方法可以对传输文 阅读全文
摘要:
AIO服务在线上测试有一周时间了吧,现在发现一个问题,通过“任务管理器”查看aio服务的进程可以看出该进程的当前线程数经过几天的运行,在不断的增加: 1. 刚刚启动的时候,线程数在16个左右 2. 经过半天的运行,线程数达到30 - 50个左右 3. 经过几天的运行,线程数一般稳定在100个左右,基 阅读全文
摘要:
昨天我改写一个文件缓存方面程序时,用ByteBuffer替换以前用的byte[],在测试的时候抛出异常。 以前的相关代码: class A { byte[] data; ....... public byte[] getData() { return data; } } 使用ByteBuffer改写 阅读全文
摘要:
一天里会抛出几个这样的错误,但发现服务还在正常的运行。 java.io.IOException: 指定的网络名不再可用。 at sun.nio.ch.Iocp.translateErrorToIOException(Unknown Source) at sun.nio.ch.Iocp.access$ 阅读全文
摘要:
花了十多天的时间把原来的WEB服务由BIO(阻塞IO)模式改写成NIO(非阻塞IO)模式,然后在xp机子上用ab测试并发性能,确实提升了30%左右的并发性能,测试完成后,当时感觉还是挺满意的。几天前在网上看到有文章中谈到关于NIO中的select()在windows机子上的实现有性能问题,原因是NI 阅读全文