- 浏览: 56504 次
- 性别:
- 来自: 成都
最新评论
-
lvye351:
lvye351 写道针对哪种数据库说的?MySQL?还是ora ...
write-ahead log -
lvye351:
针对哪种数据库说的?MySQL?还是oracle,pg,mys ...
write-ahead log -
sun_2008:
我用jdk1.6.0_26,普通老百姓和x牛人都会耽误飞机啊s ...
scheduleAtFixedRate与scheduleWithFixedDelay区别
文章列表
安装eclipse的svn插件
http://www.cnblogs.com/yinxiangpei/articles/3859057.html
写出好看的周报
软件 http://25.io/mou/
背景:
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%的。
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和netty buffer
- 博客分类:
- java
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主要原理
NIO 有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知的socketchannel告诉Selector,我们接着做别的事情,当有事件发生时,他会通知我们,传回一组SelectionKey,我们读取这些Key,就会获得我们刚刚注册过的socketchannel,然后,我们从这个Channel中读取数据,放心,包准能够读到,接着我们可以处理这些数据。
Selector内部原理实际是在做一个对所注册的channel的轮询访问,不断的轮询(目前就这一个算法),一旦轮询到一个channel有所注册的事情发生,比如数据来了,他就会站起来报告,交出一把钥匙,让我们通 ...
Direct I/O就是当一个进程对系统文件进行IO操作的时候越过系统的文件写缓冲区和读缓存区。
文件系统缓冲区:当系统读写块设备,为了加快读写速度,系统维护了一个块缓冲区。当系统读
数据的时候,先去缓冲区中读,如果没有,再读写磁盘。当系统写数据的时候,先写数据到缓冲
区中。
Oracle数据库本身已经有自己的数据缓冲区,如果再加上系统文件的缓冲区。数据就被缓冲了俩
次,系统的内存就被浪费了。而且如果Oracle的数据库的块比系统文件的块小,那么就会造成系
统的浪费。比如Oracle的块大小是8K,系统文件的块大小是16K,那么Oracle单个读写一次就浪费
了8K的资源。
启用Direct I ...
转载
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
比较全的JVM参数意义及默认值
- 博客分类:
- JVM
转自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主要是 ...
转http://www.ruanyifeng.com/blog/2011/07/linux_load_average_explained.html