摘要:最近在写一个简易的分离锁的类:要求:对不同的Key进行hash得到一个Lock,并要求对锁映射的概率差不多。比如,160个Key,分布到16个锁上,大概有10个Key是映射到同一个锁上的,只要这样并发效率才会高。用法:本来认为用HashMap的hash算法就能够将 达到上述的要求,结果测试的时候吓了一跳。测试代码:结果:1000个随机key的hash只是映射到8个Lock上,而不是平均到50个Lock上。而且是固定分布到0,1,16,17,32,33,48,49的数组下标对应的Lock上面,这是为什么呢?如果改为:结果:1000个随机key的hash 映射到32个Lock上,而且基本上是平均分
阅读全文
摘要:Java Best Practices – String performance and Exact String Matchinghttp://www.javacodegeeks.com/2010/09/string-performance-exact-string.htmlhttp://johannburkard.de/software/stringsearch/Java Best Practices – Char to Byte and Byte to Char conversionshttp://www.javacodegeeks.com/2010/11/java-best-pract
阅读全文
摘要:linux下的运行脚本,支持start,stop,restart使用说明;1:run.sh startrun.sh stoprun.sh restart2: 修改最大内存memlimit=512run.sh
阅读全文
摘要:优化原则:1: 在能应付当前性能需求的情况下,不建议进行性能优化。2: 仅仅优化性能瓶颈3: 编码时必须进行压力测试4: 优化时,考虑现实生活中遇到的问题,现实如何处理,代码也如何处理。5: 优化的唯一方法:去掉没有必要的操作 和 采取高效的算法。可以看到所有的优化方法都离不开这条原则,而最常用、也最容易发现的方案就是去掉没必要的操作。代码优化代码优化的唯一目的: 减少执行时间。两种优化方法: 减少没必要的内存分配;减少没必要的计算。 当然这两种方法一般都会同时出现,如分配没必要的内存,分配这个操作就是没必要的计算。内存分配: 最好的效果:一次申请正好足够的内存。不过一般都做不到,只能尽可能。
阅读全文
摘要:本文优化JavaMail发送性能的原则: 一个连接发送多个邮件Java代码SessionmailSession=Session.getDefaultInstance(props);Transporttransport=mailSession.getTransport("smtp");transport.connect("192.168.15.85","webmaster","password");...
阅读全文
摘要:候选项:Jetty + Apache FileUploadJDK自带的HttpServer + 自行解析SimpleJetty + JettyMultiPartFilter备注:tomcat过于臃肿,不考虑。测试情况:两台机器,一台使用httpclient模拟客户端上传文件,一台作为http服务器。两台机器均为8核、8G内存。耗时:以32..6M的文件测试框架|性能|并发数120100200Jet...
阅读全文
摘要:我们经常有对图片进行处理的需求。本文就从最简单的要求到比较复杂的要求描述面向对象的抽象方式下面假设调用方按照以下的协议进行调用:ImageManager -src image_src_path -resize 100x200 -rorate 90 -...-src表示来源图片-resize 表示缩放....需求1:对图片进行缩放后存到指定的位置解决方法: 很简单,只需要两个功能:缩放和存储图片的功...
阅读全文
摘要:1: Differences between Static Method and Singleton Static:has little or no state, can’t extend types and can’t be typedSingleton: mayhave a state, cant extend types and be typed. So,when y...
阅读全文