摘要:
摘要: 自从硬盘分区技术的开始,最常见的分区方式为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 阅读全文
摘要:
float x = 302.01f;System.out.println(x == 302.01); //falseSystem.out.println(x == 302.01f); //truedouble y = 302.01;System.out.println(y == 302.01); ... 阅读全文
摘要:
1. 使用NIO开发web服务,传输文件内容,可以使用FileChannel.transferTo(position,count,socketChannel)来提升性能:经过测试,确实能提升10% - 30%的处理性能。相关提示链接:(mina)http://414149609.iteye.com/... 阅读全文
摘要:
前几天写过一篇文章,讨论重写服务后,用ab进行压力测试,发现使用NIO后没提高什么性能,只是CPU使用率提高了,内存占用降低了。 之前的NIO实现模式,主要参考(基于事件的NIO多线程服务器)http://www.ibm.com/developerworks/cn/java/l-niosvr/ 实现 阅读全文
摘要:
今天测试的时候发现一个问题: ByteBuffer inputBuffer = ByteBuffer.allocate(1024); StringBuilder inputData = new StringBuilder(256); int size = sChannel.read(inputBuf 阅读全文
摘要:
在ACCESS中LIKE的用法Access里like的通配符用法是这样: “?”表示任何单一字符; “*”表示零个或多个字符; “#”表示任何一个数字 所以应该是: select * from databasename where fieldname like '*XX*' 在SQL SERVER 阅读全文
摘要:
在Java中写多线程相关的程序简单很多,在多线程中需要同步的时候,使用synchronized就行了。 最近学习c的多线程与同步,感觉实现起来,要写的代码比较多一些,这也许是因为java封装的比较好吧。 下面是今天写的一个例子,主要参考:http://hi.baidu.com/personnel/b 阅读全文
摘要:
1.《秒杀多线程第一篇 多线程笔试面试题汇总》2.《秒杀多线程第二篇 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别》3.《秒杀多线程第三篇 原子操作 Interlocked系列函数》4.《秒杀多线程第四篇 一个经典多线程同步问题》5.《秒杀多线程第五篇 经典线... 阅读全文
摘要:
最近查看程序输入的日志时发现一个java连接Access的程序时不时的抛出: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 不能使用 '(未知的)';文件已在使用中 相关代码如下: public static Con 阅读全文
摘要:
今天下午,在删除一个用户后,竟然发现该用户上传的图片还能正常显示。 郁闷了,怎么会这样? 为了再次验证这个结果,我新注册一个用户名,然后上传3张图片,接着删除这个用户,再查看刚刚上传的3张图片,竟然没有被删除。 马上检查程序,删除图片的相关代码如下:deleteFile "../upload/xxx 阅读全文
摘要:
一直以来,分析HTTP的Header使用的都是StringTokenizer,但是看过jdk中关于StringTokenizer的介绍: StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法 阅读全文
摘要:
如标题一样,如果之前让我回答,我会说,是的,在多线程的环境下操作Vector,不需要加Synchronized。 但是我今天无意间看到一篇文章,我才发现我之前的想法是错误的,这篇文章的地址: http://zhangbq168.blog.163.com/blog/static/23735305200 阅读全文