随笔分类 -  Utils

常用的一些工具,小技巧。
摘要:ThreadPoolExecutor定义public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threa... 阅读全文
posted @ 2012-05-27 14:10 技术草根女 阅读(490) 评论(0) 推荐(1) 编辑
摘要:我的理解~~【信号量】:用于控制对某资源访问的同一时间的并发量。【如何获取】:semaphore.tryAcquire(),尝试获取,不阻塞semaphore.acquire(),没信号量可用时,将进行阻塞等【如何释放】:semaphore.release();线程抛出各种异常,都别忘了在finally中释放信号量;如果释放的比获取的信号量还多,例如获取了2个,释放了5次,那么当前信号量就动态的增加为5了,要注意。【动态增加】:多释放几次,就可以达到信号量动态增加的效果了【动态减小】:信号量本来有这个api的,不过是protected方法,所以我们需要显式继续Semaphore,并重新实现该a 阅读全文
posted @ 2012-05-25 21:09 技术草根女 阅读(9716) 评论(0) 推荐(2) 编辑
摘要:File file = new File("C:/huhuhu.txt"); FileInputStream in = new FileInputStream(file); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line = null; line = br.readLine(); int i=1; String header = "rcvNotify -i "; File file2 = new File("C:/output.tx.. 阅读全文
posted @ 2012-05-21 17:08 技术草根女 阅读(1075) 评论(0) 推荐(0) 编辑
摘要:public class StoreUtils { /** * 绝对偏移量->文件名. * * * @param offset 偏移量 * @return 文件名 */ public static String nameFromOffset(final long offset) { final NumberFormat nf = NumberFormat.getInstance(); nf.setMinimumIntegerDigits(20); nf.setMax... 阅读全文
posted @ 2012-05-18 22:41 技术草根女 阅读(1437) 评论(0) 推荐(0) 编辑
摘要:方式一:方式二:方式三:方式N:好可爱的demo:document.xml文件内容如下:<?xml version="1.0" encoding="UTF-8"?> <node> <key1> value1</ key1> < key2> value 2</ key2> < key3> value 3</ key3> </node>public class ParseXml { public static Map<String, String 阅读全文
posted @ 2012-05-13 23:32 技术草根女 阅读(300) 评论(1) 推荐(0) 编辑
摘要:JVM堆:新生代Young = Eden+Survivor; Survivor = S0+S1,JVM中方法栈也优先存在于Eden上的TLAB(Thread Local Allocation Buffer)。老生代Perm:垃圾回收方法:复制(Copying)标记-清除(Mark-Sweep)标记-压缩(Mark-Compact)JDK GC机制学习:http://blog.csdn.net/jollyant/article/details/5647141http://wenku.baidu.com/view/c3fd52d376eeaeaad1f33005.htmlhttp://blog.c 阅读全文
posted @ 2012-05-13 23:25 技术草根女 阅读(2987) 评论(0) 推荐(0) 编辑
摘要:很简单的final:表示不能xxxfinally:表示一定能xxxfinalize:表示在某个时候,能xxx final如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载。finallyfinally—在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。finali 阅读全文
posted @ 2012-05-13 22:30 技术草根女 阅读(307) 评论(0) 推荐(0) 编辑
摘要:ArrayList内部实现基于Object[],更像数组优势:在尾部写元素,随机读元素劣势:随机写元素(牵扯到数据移动)使用注意: 1) 不能直接获取元素对象,需通过Iterator 2) 静态分配的空间LinkedList内部实现基于一组连接的记录,更像链表优势:随机写元素劣势:随机读元素(要从头读到尾)使用注意: 1) 动态分配空间 阅读全文
posted @ 2012-05-13 21:57 技术草根女 阅读(166) 评论(0) 推荐(0) 编辑
摘要:如果天下的对象,都只做直接的equals判断,那就相安无事了。可总有一些情况:对象置于容器(如hashSet)中,而后进行equals判断;对象与继承对象的子类间,进行equals判断;……【1】定义了错误的equals方法签名NO: public boolean euqals(Pointer o);YES: public boolean equals(Object o);【2】重载了equals的但没有同时重载hashCode的方法NO: no hashCode()YES: public int hashCode() { return (41 * (41 + getX()) + getY() 阅读全文
posted @ 2012-05-13 20:10 技术草根女 阅读(831) 评论(0) 推荐(0) 编辑
摘要:占位。。 阅读全文
posted @ 2012-05-10 21:21 技术草根女 阅读(163) 评论(0) 推荐(0) 编辑
摘要:BufferCache块缓冲,通常1K,对应于一个磁盘块,用于减少磁盘IO由物理内存分配,通常空闲内存全是bufferCache应用层面,不直接与BufferCache交互,而是与PageCache交互(见下)读文件:直接从bufferCache中读取写文件: 方法一,写bufferCache,后写磁盘 方法二,写bufferCache,后台程序合并写磁盘PageCache页缓冲/文件缓冲,通常4K,由若干个磁盘块组成(物理上不一定连续),也即由若干个bufferCache组成读文件: 可能不连续的几个磁盘块》》bufferCache》》pageCache》》应用程序进程空间写文件: page 阅读全文
posted @ 2012-05-09 17:50 技术草根女 阅读(3075) 评论(0) 推荐(0) 编辑
摘要:FileChannel,是内存与磁盘文件的通道。========================================================优势:多线程并发读写,并发性;IO读写性能提高(OS负责),也可引做共享内存,减少IO操作,提升并发性;应用crash,保证这部分内容还能写的进去文件。在我们调用channel.write(bytebuffer)之后,具体何时写入磁盘、bytebuffer中内容暂存于哪里(os cache)等相关一系列问题,就交由OS本身负责了。====================================================== 阅读全文
posted @ 2012-05-09 16:53 技术草根女 阅读(9007) 评论(0) 推荐(1) 编辑
摘要:【慎用allocateDirect】http://blog.csdn.net/rocketball/article/details/5849033http://618119.com/archives/2008/03/08/74.html【不变式】下面的不变式持有标记、位置、限制和容量值:0<=标记<=位置<=限制<=容量标记,mark位置,position限制,limit容量,capacity【读写】基本类型: 除boolean型外,char/int/short/long/float/double等,都提供了get/put方法,用于向ByteBuffer进行读写;写入顺 阅读全文
posted @ 2012-05-09 14:32 技术草根女 阅读(11091) 评论(0) 推荐(0) 编辑
摘要:[这篇博文,多亏cnblogs的管理员GG帮忙恢复,才得以重见天日,特在此拜谢!]在使用set/map时,一个可爱的小bug:java.util.ConcurrentModificationException【错误场景1】:set容器,边遍历,边add/remove元素Set<String> set = new HashSet<String>();for (int i = 0; i < 10000; i++) { set.add(Integer.toString(i));}for (String str : set) { //或使用iterator来循环,JDK5 阅读全文
posted @ 2012-04-23 09:35 技术草根女 阅读(7552) 评论(0) 推荐(0) 编辑
摘要:ConcurrentHashMap vs. HashMap/SynchronizedMap/HashTable什么时候用ConcurrentHashMap(),读写并发。较HashMap好在其并发性上,读不锁,写的时候锁粒度减小为segment而不是整张表,也就意味着一定程度上可以进行“并发写”。貌似自从有了Concurrent,hashMap就不得宠了。。ConcurrentHashMap,不要轻易用.size(),因为它会锁整张表;ConcurrentHashMap,不要轻易用.remove(),因为它会涉及到hashTable中该entry之前的所有元素都要进行拷贝操作(为什么要拷贝呢? 阅读全文
posted @ 2012-04-20 15:11 技术草根女 阅读(2880) 评论(1) 推荐(0) 编辑
摘要:1. 数据库 1: show databases; 2: 3: use DB_NAME; 4: 5: create database DB_NAME; 6: 2. 表 1: show tables; 2: 3: create table TABLE_NAME ; //清单2 4: 5: describe TABLE_NAME ; 6: 7: select * from TABLE_NAME ; 8: 9: insert into TABLE_NAME values (’xxx’,’xxx’,’xxx’,’xxx’)... 阅读全文
posted @ 2012-01-09 11:20 技术草根女 阅读(475) 评论(0) 推荐(0) 编辑
摘要:每次用时,老忘~~就此mark,看你还忘,哈哈哈~~哎,老了,越来越不中用了~~---------------------------------------------------------------------------------------------private static Map<String, String> projectIPInfo = new HashMap<String, String>(); //如果key相同,后加的会覆盖前加的,put(), get(), contains()private static Map<String, 阅读全文
posted @ 2011-09-02 10:37 技术草根女 阅读(1095) 评论(0) 推荐(0) 编辑
摘要:还是内句话,不是神马快捷键大全,只记录本人用滴到滴~~=====================================Alt + /: 类、方法、属性补全Ctrl + O: Quick OutlineCtrl + /: 快速加注释,去注释Ctrl + D: 删除当前行Ctrl + M: 窗口最大化/还原,写代码时候舒服一点Ctrl + L: 按行号定位Ctrl + K / Ctrl + Shift + K: 选中内容,快速向上,向下查找该内容,不用“查找框”Ctrl + Shift + R: 在workspace中查找所有... 阅读全文
posted @ 2011-08-19 15:52 技术草根女 阅读(376) 评论(0) 推荐(0) 编辑
摘要:这里不是神马shell命令大全,cmd不在多,够用就行~~============================================0. 帮助命令:man1. 新建文件(夹):touch , vim , mkdir2. 删除文件(夹):rm3. 拷贝文件(夹):cp4. 查找文件(夹):find5. 过滤: grep, | grep -e xxx -e xxx6. 格式化输出:awk -F":" '{print $2}'7. 查看磁盘:df8. 查看连接:netstat -a | grep -e port1 -e port2 | awk...= 阅读全文
posted @ 2011-08-19 15:27 技术草根女 阅读(215) 评论(0) 推荐(0) 编辑
摘要:Eclipse如何进行远程调试? 阅读全文
posted @ 2011-08-19 12:46 技术草根女 阅读(301) 评论(0) 推荐(0) 编辑