`
zizihaier
  • 浏览: 56622 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表

zk测试用例

    博客分类:
  • java
http://coolxing.iteye.com/blog/1871520/
安装eclipse的svn插件 http://www.cnblogs.com/yinxiangpei/articles/3859057.html 写出好看的周报 软件 http://25.io/mou/

排查问题

    博客分类:
  • java
背景: top命令发现某个进程(pid)占用cpu达到100%。 查看哪个线程占用最多资源: ps mp pid -o THREAD,tid,命令查看这个进程下面的所有线程占用情况。 发现线程324占用最多。 使用jstack进行跟踪: jstack pid 进行查看输出到临时文件 jstack 323 > test 将刚刚发现占用cpu最多的线程id(324)换算成16进制,printf "%x\n" 324得到144 查看jstack 生成的文件: 下面可以看出是哪行代码导致,查看那行代码发现有死循环。跟踪解决完毕。 上面是查看cpu占用情 ...

ArrayBlockingQueue使用

    博客分类:
  • java
ArrayBlockingQueue take()和poll()的一点区别 使用take()函数,如果队列中没有数据,则线程wait释放CPU,而poll()则不会等待,直接返回null;同样,空间耗尽时offer()函数不会等待,直接返回false,而put()则会wait,因此如果你使用while(true)来获得队列元素,千万别用poll(),CPU会100%的。

vim替换命令

linux环境vi/vim 中可以使用 :s 命令来替换字符串 :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky :2,$s/vivian/sky/g 替换第 2 行开始到最后一行中每一行所有 vivian 为 sky n 为数字,若 n 为 .,表示从当前行开始到最后一行 :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian ...
1、scheduleAtFixedRate 方法,顾名思义,它的方法名称的意思是:已固定的频率来执行某项计划(任务)。 2、scheduleWithFixedDealy,相对固定的延迟后,执行某项计划。 还是比较简单明了的描述比较好:第一个方法是固定的频率来执行某项计划,它不受计划执行时间的影响。到时间,它就执行。 而第二个方法,相对固定,据鄙人理解,是相对任务的。即无论某个任务执行多长时间,等执行完了,我再延迟指定的时间。也就是第二个方法,它受计划执行时间的影响。 我再举一个简单的例子吧。 比方说: 某航空公司的航班:对于普通老百姓来说,不管你是在路上堵车了,还是正在跑呢,它是按时按点飞的 ...
NIO中的Buffer    前面提到过,在NIO中同样存在一个缓冲区,叫做ByteBuffer,来配合Channel的使用。在ByteBuffer内部存储数据的实质为一个字节数组,如:final byte[] hb,并定义了四个标记来管理它。其中包括:mark <= position <= limit &l ...
通过反射来更改访问权限  2007-09-14 21:47:11|  分类: 默认分类 |字号 订阅 利用反射中的AccessibleObject我们可以更改,方法或属性的访问权限。 该类是Constructor, Field, Method的超类。 public class AccessibleObject extends Object implements AnnotatedElement AccessibleObject 类是 Field、Method 和 Constructor 对象的基类。它提供了将反射的对象标记为在使用时取消默认 Java 语言访问控制检查的能力。对于公共 ...
如何获取java类中的变量名的字串 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://daimojingdeyu.blogbus.com/logs/5185456.html 在类中定义了一个属性abc,如何获取这个变量的abc的名字串呢?也就是说怎么知道abc这个变量的名字是abc,这个问题比较的好玩。 这个是偶在一开发中遇到的一个比较有趣的问题,找 了半天的资料加下偶辛勤的思考,终于找到的解决方法。用反射~~~ java提供了很强大的反射机制,可以说比动态语言还动态。但是这个东东平时的应用不是很多的说。 现提供一个可以动态获取对象中的变量的变量名称的方法 ...

NIO主要原理

    博客分类:
  • java
NIO主要原理 NIO 有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知的socketchannel告诉Selector,我们接着做别的事情,当有事件发生时,他会通知我们,传回一组SelectionKey,我们读取这些Key,就会获得我们刚刚注册过的socketchannel,然后,我们从这个Channel中读取数据,放心,包准能够读到,接着我们可以处理这些数据。 Selector内部原理实际是在做一个对所注册的channel的轮询访问,不断的轮询(目前就这一个算法),一旦轮询到一个channel有所注册的事情发生,比如数据来了,他就会站起来报告,交出一把钥匙,让我们通 ...
Direct I/O就是当一个进程对系统文件进行IO操作的时候越过系统的文件写缓冲区和读缓存区。 文件系统缓冲区:当系统读写块设备,为了加快读写速度,系统维护了一个块缓冲区。当系统读 数据的时候,先去缓冲区中读,如果没有,再读写磁盘。当系统写数据的时候,先写数据到缓冲 区中。 Oracle数据库本身已经有自己的数据缓冲区,如果再加上系统文件的缓冲区。数据就被缓冲了俩 次,系统的内存就被浪费了。而且如果Oracle的数据库的块比系统文件的块小,那么就会造成系 统的浪费。比如Oracle的块大小是8K,系统文件的块大小是16K,那么Oracle单个读写一次就浪费 了8K的资源。 启用Direct I ...

crontab使用

    博客分类:
  • Unix
转载 http://blog.sina.com.cn/s/blog_4e056cff0100ghty.html http://hi.baidu.com/redaxin/blog/item/0d4551bf619fae0019d81f22.html http://www.cnblogs.com/cocowool/archive/2009/04/22/1441291.html http://baike.baidu.com/view/1229061.htm
转自http://www.cnblogs.com/totti19841106/archive/2009/01/12/1374274.html http://www.cnblogs.com/z-zw/archive/2010/09/30/1839394.html
理解hotspot CMS(并发标记清除垃圾收集器)中的暂停 CMS(concurrent mark sweep)并发清除标记的缩写,CMS尽可能的减少垃圾回收中的暂停,但是它仍然需要很少的暂停。暂停是指,停止应用程序的运行,JVM启动线程进行垃圾回收。CMS主要是 ...

理解系统的load

    博客分类:
  • OS
转http://www.ruanyifeng.com/blog/2011/07/linux_load_average_explained.html
Global site tag (gtag.js) - Google Analytics