2011年12月4日

java 多线程应用

摘要: java中最基本的实现线程的方法:继承Thread,覆盖run方法,创建此类的实例,然后调用start方法实现接口Runnable,实现run方法,创建Thead对象,用构造函数将要执行的类构造进去,调用start方法。实现了线程管理和线程执行内容的分离线程相关的一些关键方法:sleep:Thread的静态方法,让当前正在执行的线程休眠一段时间,过程中不会释放获取到的锁yield:暂停当前线程,让当前线程重新回到可执行状态,也不会释放锁。yield可以理解为”退让“,首先判断是否有其他的同优先级线程,若有则转交CPU占有权,没有则继续执行。和sleep不同的是,sleep可以让优先级不同的线程 阅读全文

posted @ 2011-12-04 21:42 死写代码的 阅读(185) 评论(0) 推荐(0)

2011年11月24日

java数据结构

摘要: 主要分为实现Collection的集合类和实现Map接口的键值对。Collection家族的主要成员:ArrayList:大多的java应用都是用数据结构存储数据然后传递最后解析的过程,因此ArrayList是一个较多的选择。ArraylList的实现就是一个数组,以Array.copy的方式来扩增数组长度。指定index的读取是优势,插入和删除都会涉及数组的copy是劣势LinkedList:双向链表插入和删除只需要遍历链表是优势,随机读取(即get(i))是劣势遍历链表应该用迭代器,但是在迭代过程中不能改变链表的长度,否则会抛出ConCurrentModificationException 阅读全文

posted @ 2011-11-24 16:34 死写代码的 阅读(419) 评论(0) 推荐(1)

2011年11月9日

java线程:守护线程

摘要: 守护线程与普通线程写法的区别在于,在线程执行前,调用线程对象的方法setDaemon(true)。当开始守护线程的主线程退出时,守护线程自动退出。举例来说,JVM的垃圾回收、内存管理等线程都是主线程的守护线程。package test;public class ThreadTest { public static void main(String[] args) { Thread t1 = new MyCommon(); // Thread t2 = new Thread(new MyDaemon()); // t2.setDaemon(true... 阅读全文

posted @ 2011-11-09 22:39 死写代码的 阅读(1144) 评论(0) 推荐(0)

2011年11月7日

写出高效的SQL所需要注意的

摘要: 近期面试不少,有一点感触比较明显。可能面试官所期望你回答的不在一个层面上,比如他问如何写SQL如何高效,我开始说索引的应用,何时可用上索引 等;比如说线程的实现,我开始谈1.5的Concurrent包的新方法。我以为这是亮点,可惜别人只是想考研一下你的基本功,然后由浅入深吧。既然这 样,还是将细节一一列举,虽然写出来可能像程序员面试宝典的内容,但是也算是一次归纳总结吧。进入正题:Where子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句。 根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。Select子 阅读全文

posted @ 2011-11-07 23:12 死写代码的 阅读(479) 评论(0) 推荐(0)

导航