摘要: 说到聚合与继承我们都很熟悉,maven同样也具备这样的设计原则,下面我们来看一下Maven的pom如何进行聚合与继承的配置实现。 一、为什么要聚合?随着技术的飞速发展和各类用户对软件的要求越来越高,软件本身也变得越来越复杂,然后软件设计人员开始采用各种方式进行开发,于是就有了我们的分层架构、分模块开... 阅读全文
posted @ 2015-06-29 16:34 sikewang 阅读(1826) 评论(0) 推荐(0) 编辑
摘要: 在什么情况下使用线程池? 1.单个任务处理的时间比较短;2.需要处理的任务的数量大;使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销。2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。 线程池的概念和原理 线程池是一种多线程处理方法,处理过 阅读全文
posted @ 2018-09-12 14:09 sikewang 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 一、死锁原理 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程 二、死锁产生的四个必要条件互斥条件(Mutual exclusion):资源不 阅读全文
posted @ 2018-09-12 12:01 sikewang 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 转载:http://www.cnblogs.com/linjiqin/p/3208843.html 一、同步问题提出 线程的同步是为了防止多个线程访问一个数据对象时,对数据造成的破坏。例如:两个线程ThreadA、ThreadB都操作同一个对象Foo对象,并修改Foo对象上的数据。 二、同步和锁定 阅读全文
posted @ 2018-09-12 11:58 sikewang 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 同步就是许多线程同时共用一个资源,一个线程在用别的线程就要等待。异步相反,可以不用等待。 同步:发送一个请求,等待返回,然后才能再发送下一个请求;异步:发送一个请求,不等待返回,随时可以再发送下一个请求; 同步可以避免出现死锁,读脏数据的发生。一般共享某一资源的时候用,如果每个人都有修改权限,同时修 阅读全文
posted @ 2018-09-12 11:54 sikewang 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 并发和并行从宏观上来讲都是同时处理多路请求的概念。但并发和并行又有区别,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。 阅读全文
posted @ 2018-09-12 11:40 sikewang 阅读(237) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2018-09-12 11:39 sikewang 阅读(0) 评论(0) 推荐(0) 编辑
摘要: 1、继承Thread类创建线程 Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类 阅读全文
posted @ 2018-09-12 11:38 sikewang 阅读(159) 评论(0) 推荐(0) 编辑
摘要: ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references)。ArrayList是List接口的一个实现类,它的特点是查询效率高,增删效率低,线程不安全,原因是因为ArrayList底层是封装了一个数组,它是用数组实现的。 ArrayList和LinkedL 阅读全文
posted @ 2018-09-12 11:37 sikewang 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 1. HashTable和HashMap的区别 HashMap和Hashtable都实现了Map接口。主要区别:线程安全性,同步(synchronization),以及速度。 1、HashMap是非synchronized,而Hashtable是synchronized,这意味着Hashtable是 阅读全文
posted @ 2018-09-12 10:10 sikewang 阅读(418) 评论(0) 推荐(0) 编辑
摘要: String是不可变的; StringBuffer是可变的,有默认长度的缓冲区,缓冲区一出时,则会自动增加; StringBuilder也是可变的,同上; StringBuffer是线程安全的(方法实现是同步的);StringBuilder是单线程的,是线程不安全的,不适用于多线程。 阅读全文
posted @ 2018-09-10 16:58 sikewang 阅读(184) 评论(0) 推荐(0) 编辑