- 浏览: 232015 次
- 性别:
- 来自: 上海
最新评论
-
hanmiao:
我在IBM网站上找到这篇文章,比较详细的介绍了信息分片与信息分 ...
Websphere MQ -
lancezhcj:
...
Oracle索引 -
shaier:
讲的很不错啊!
SERVICE_NAME, SID和schema区别 -
echohfut:
好久没有关注了。但是取下来的代码怎么导入Eclipse呢?
liferay笔记 -
webee:
已经有ide了!命令都可以不要了!
liferay笔记
文章列表
平移数组中部分连续元素
- 博客分类:
- 算法
O(n)时间复杂度,平移数组中部分连续元素
假设数组(X,Y),一共N个元素。X是数组前K个元素,Y是后N-K个元素。现在需要将前K个元素循环右移,变成(Y,X).
方法是:(Y,X) = (X',Y')' X' 指对数组X中元素逆序。这样可以在常数时间内移动K个元素。
[转] 同步与异步 阻塞与非阻塞IO
- 博客分类:
- 性能调优
摘自:http://leili.iteye.com/blog/1580466
1. 阻塞与非阻塞
区别是读写IO时是否设置了文件描述符的属性O_NONBLOCK。 如果设置了该属性,io操作立刻返回但不保证IO读写成功。
2. 同步与非同步
同步模式下调用者要么一直等阻塞IO返回结果;要么主动轮询非阻塞IO是否成功。也就是需要调用者去问操作系统
非同步模式下有两种方式:
其一是用Select函数,该情况下IO是非阻塞的,但Select是阻塞的,select用来确定指定的文件描述符是否有变化。用select的好处是可以为多个描述符提供通知,提高了并发性。
其二是用回调,当操作系统kern ...
1. 用jdk1.6自带的JVisualVM版本好像比较低,最好用比较新的,比如我用过1.3.1
2. to profile a remote app such as in a remote linux machine, we need to start JMX port in remote app as this way
java -Dcom.sun.management.jmxremote.port=3333
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authen ...
1. 不显示/etc/services #开头的行, /etc/services文件并没有修改
sed -e '/^#/d' /etc/services | more
2. 忽略前十行,显示后面的内容
sed -e '1,10d' /etc/services | more
3. 打印所有包括BEGIN的行和END行之间的行的内容
sed -n -e '/BEGIN/,/END/p' /my/test/file | more
4. SAR
pidstat -p 3132 2 5
//每隔2秒,显示5次,PID为3132的进程的CPU使用情况显示
pidstat -p 3132 2 ...
1. bloom filter
用于测试一个元素是否在一个很大的数据集中。方法是利用多个hash函数,数据集中的元素通过hash函数到一个位置。查询时,做相同的hash查找。只要有一个hash函数没有match到对应的位置就可以判定该元素不在数据集中。所以该方法可能有false positive但一定没有false Negative。
2. suffix array/tree
把一个字符串的所有后缀字符串按字典排序,另外还可以加上LCP(Longest Common Prefix)
1. manage 用户的expectation,不要造成无谓的刷网页。许多网友提出的分布式队列是个好的思路。买票是用户选择排队,并知道当前还有多少票,有多少人在排,就不会有恐慌的心理了。
2. 前端网页的优化是必须的,不知道现在有没有用到CDN
3. 为什么有很多钱付了,票没了的情况? 不知这其中的事务是怎么处理的。如果这是可接受并预先通知用户的话也罢...
In DB2,
e.g if you issue below sql statement 100 times,
insert into TableA (id , fields) values (
1. Session per Operation (Anti pattern)
2. Session per Request
use "Open Session In View" when rendering layer seperate from servlet, e.g. in JSP
3. Session per Request with detached object
when a user case spans several transaction, considering the user think time, we can ...
为了查看Eclipse GC log,需要在eclipse.ini 中加入
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-verbose:gc
-Xloggc:gc.log
在Eclipse安装目录查看gc.log
9.768: [Full GC 9.769: [Tenured: 7678K->9025K(27328K), 0.3117731 secs] 9172K->9025K(39616K), [Perm : 16383K->16383K(16384K)], 0.3122537 secs]
...
java 常见排序算法
- 博客分类:
- JDK
摘自http://deng5566.iteye.com/blog/678817,仅供自学。
排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
为了便于管理,先引入个基础类:
package algorithms;
/**
* @author yovn
*
*/
public abstract class S ...
linux服务器调优
- 博客分类:
- 性能调优
学习笔记,摘自kuqin http://www.kuqin.com/linux/20110910/264584.html
一 可以从如下四个方面观察你的服务器机器目前的性能情况:
1. CPU 2. 内存 3. 磁盘I/O带宽 4. 网络I/O带宽 二 对如何评估系统性能有个基本的标准,经过一段时间的观察,归纳如下: 1,对于CPU,正常情况(非高峰期)下, user% + sys% < 60% 是很好的情况 也许你会问,为什么要小于60%,剩余的40%做什么?这个是业务性质决定的,tx的业务都是有时间段高峰期的,比如早九点-十点,晚八点-十点,是用户访问高峰期,我们要 ...
code review
- 博客分类:
- JDK
Code Review时考虑到的有
a. 从Collection中remove出来的对象标记为null
b. 少用静态变量,(全局变量,静态变量不会被GC自动回收?)
c. 避免把生命周期不同的对象堆在一起成为一个大的对象
d. JDBC Connection/Statement/ResultSet异常正确处理。
e. 按代GC算法下,尽量用短生命周期的不变对象。比如用方法本地变量优于类实例变量
f. 添加的listener在异常流程中没有释放。注意在finally中做释放
String与StringBuffer ...
1. WeakHashMap
作用:访问这个map时会检查所有entry,如果有key是not reachable,(GC中的概念), 就会purge该entry
场景:比如我们有这个一个接口,接口中有add/remove方法。主要是维护子类中HashMap中的对象。要求是调用者自己负责add/remove对象。忘掉remove对象的话可能会OOM。这时候可以采用WeakHashMap
from: http://rdc.taobao.com/team/jm/archives/590
一般有几个目标:
1. 数据离散性,数据分布到多个库,多个表中
mod, round robin, dayofweek,dayofMonth
2. 避免热点数据在一个数据库库表上
3. 扩容时有大的数据迁移
以下的解决方案 ...