生产者-消费者模型是多线程问题里面的经典问题,也是面试的常见问题。有如下几个常见的实现方法:1.
wait()/notify()2. lock & condition3. BlockingQueue下面来逐一分析。1.
wait()/notify()第一种实现,利用根类Object的两个方法wait...
分类:
编程语言 时间:
2014-06-16 09:37:57
阅读次数:
314
总结结构: 静态代理模式的缺点: 1、如果一个系统中有100Dao,则创建100个代理对象
2、如果一个dao中有很多方法需要事务,则代理对象的方法中重复代码还是很多 3、由第一点和第二点可以得出:proxy的重用性不强因为静态代理无法满足开发需求所以
引出动态代理动态代理模式: 1、产生的代理对象...
分类:
其他好文 时间:
2014-06-16 08:28:47
阅读次数:
204
class Solution {private: const static char*
pattern[]; const static char* roman_digit[];public: string intToRoman(int num) {
if (num ...
分类:
其他好文 时间:
2014-06-16 07:04:22
阅读次数:
171
单一模式的几个注意点:一)
设计单一模式,首先须要把构造函数给私有化了,不让外界訪问,那么外界仅仅能通过提供的函数获取一个新的类。二)
C++的单一模式,记得要在类外初始化一个类,否则或内存出错的。三) 这个唯一的类必须是要静态的程序:#ifndef _SINGLETON_H#define
_SIN...
分类:
其他好文 时间:
2014-06-13 17:36:18
阅读次数:
249
MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面...
分类:
数据库 时间:
2014-06-13 16:21:27
阅读次数:
477
策略模式(Strategy
Pattern):定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。 设计原则
1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 2.针对接口编辑,而不是针对实现编程。 3.多用组合,少用继承。...
分类:
其他好文 时间:
2014-06-12 14:22:35
阅读次数:
292
定义外观模式(Facade
Pattern)要求一个子系统的外部与其内部的通信必须通过一个统一多的对象进行。外观模式定义了一个高层次的接口,使得子系统更易于使用。外观模式通用类图Facade
外观角色,客户端可以调用这个角色的方法。此角色知晓子系统的所有功能和责任。一般情况下,本角色会将所有从客户端...
分类:
其他好文 时间:
2014-06-12 07:20:07
阅读次数:
462