摘要: 1、概念:树状数组是一种涉及新颖的数组结构,它能够快速求出数组中连续几项的和,即使修改数组元素之后也可以快速求出,传统的数组修改元素和求和的复杂度分别为 O(1)和O(n)而树状数组均为O(lgn),效率大大提高。2、树状数组的基本操作:给定一个数组:c[i]=A[i-2^k+1]+...+A[k]... 阅读全文
posted @ 2015-08-23 20:58 咸咸的告别 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1、涉及多线程共享数据操作时,除了同步问题之外,还会遇到另一类问题:如何控制相互交互的线程之间的交互进度。举例来说:有两个人,一个在洗碗,一个在擦碗,洗碗的碗放到架子上,如果架子是空的,则擦碗的人进入等待状态,如果架子满了,则洗碗的人进入等待状态。public class Test { publ... 阅读全文
posted @ 2015-08-23 19:07 咸咸的告别 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 同步代码块:public class Test { public static V v = new V(); public static void main(String[] args) { Test t = new Test(); t.fin(); }... 阅读全文
posted @ 2015-08-23 15:41 咸咸的告别 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 1、join线程当一个线程需要等待另一个线程执行完毕再执行的话,就调用join方法,例如,线程 A B ,A要等B执行完再执行,则在A执行时要调用B的join方法,使A进入阻塞状态,当B执行完之后再执行A;public class MyRunnable implements Runnable{ ... 阅读全文
posted @ 2015-08-23 11:05 咸咸的告别 阅读(548) 评论(0) 推荐(0) 编辑
摘要: 线程的创建:线程的创建有2种方法:1、继承Thread方法,重写run方法2、实现Runnable接口,实现run方法第一种:public class MyThread extends Thread{ private int i=10; @Overridepublic void run(... 阅读全文
posted @ 2015-08-23 09:51 咸咸的告别 阅读(427) 评论(0) 推荐(0) 编辑
摘要: 何为进程:是程序的一次动态执行,对应了从代码加载到执行到执行完毕的一个完整的过程。也就是说进程是程序在处理机中的一次运行。在这样一个结构中,不仅包含了程序代码,同时也包含了系统资源的概念,如CPU、I/O端口,内存空间等。线程是进程执行过程中产生的多条执行线索,是比进程单位更小的执行单位,在形式上同... 阅读全文
posted @ 2015-08-23 09:09 咸咸的告别 阅读(179) 评论(0) 推荐(0) 编辑