Java与C++在面向对象基本概念上的区分

http://hi.baidu.com/zmtxzmtx/blog/item/4e106c80e946d6a90df4d247.html Java与C++在面象对象基本概念上的区分 Frontfree 一、引言     众所周知,C++和Java是当今两种主流的...

2011-10-29 21:55:24

阅读数 3539

评论数 0

因式分解 C++实现

void devideFactor(const int N) { vector vec; int curVal = N; int factor = 2; int outerCycle = 0; int innerCycle = 0; for (int factor =

2011-10-14 08:30:59

阅读数 2677

评论数 0

用归并排序求逆序对

不多解释,常规算法,直接上代码,只是为了以后想起来时做参考~ #include #include using namespace std; //记录逆序对的个数 int times = 0; //子函数,用于完成核心功能:即将两个有序数组进行合并 void

2011-10-10 22:10:51

阅读数 553

评论数 0

堆排序

筛选: 前提是:一个小堆(或称为完全二叉树),除根节点以外,它的左右子树都已经是一个堆,现在要做的是:通过对根节点的调整,使得整个二叉树称为一个堆,而这一过程,我们称之为:筛选! 建堆: 从一个无序序列建成一个堆的过程,其实质就是一个不断筛选的过程。 具体来说:要能执行筛

2011-09-27 08:17:45

阅读数 338

评论数 0

多线程的几点认识

1:在单核的CPU上,多线程的设计为什么也能够提高程序的整体性能? 原因就是:阻塞! 如IO阻塞,这种情况超出了当前运行程序所用控制的范围,所以,如果是单线程,则整个程序都将停下来,而多线程情况下,其它线程还能够继续执行。 事实上,如果没有任务会阻塞,那么在单处理器上使用并

2011-09-18 15:46:47

阅读数 611

评论数 0

对于interrupt,interrupted 和 isInterrupted的一些理解

为什么interrupt,isInterrupted是实例方法,而interrupted是类方法? 原因: interrupt的语义 是:中断一个线程。线程可以在其内部调用this.interrupt()来中断自己,但是如果自己遇到阻塞或睡眠了,怎么办呢?所以,就需要从另外一个外部线程上将其中...

2011-09-17 17:04:45

阅读数 4938

评论数 2

取代Java中的Thread.stop : 一个安全终止线程的通用模板

java线程中stop的弊端就不说了,学过多线程的应该都知道。 下面给出的一个安全终止线程的模板,虽然不算尽善尽美,但也应该能用。 如有任何疑问或建议,欢迎提出和讨论。 package concurrent; /** * 继承本类的线程类需要可根据实际需要,覆盖t

2011-09-17 07:23:27

阅读数 3195

评论数 0

Java中的多线程:sleep, wait, join 与 interrupt()的关系

当线程执行sleep,wait,join的操作时,首先会检查当前线程的中断标志位(INT)是否为中断状态,如果是,则抛出InterruptedException,否则的话,就顺利进入各自想要的状态:睡觉,等待,阻塞调用线程 而 interrupt() 函数的作用就是将INT的状

2011-09-15 20:15:27

阅读数 1671

评论数 0

简单回调机制的Java实现

原理图: 代码 //首先是接口部分: package mechanism; public interface ICallBack { public abstract void doSomething(); } package mechanism; public

2011-09-15 07:24:15

阅读数 740

评论数 0

回调机制深入剖析

问题的提出 什么是回调机制?采用回调机制有什么好处?不同的语言,如C,C++,Java等都有哪些措施来支持这种回调机制? 要回答上述问题,我们需要先回答这样一个问题:为什么需要函数调用?又为什么需要函数?!   是的,如果你够厉害,你都不需要函数,所以也就不需要函数调用,也就更不需要回调函...

2011-09-12 07:15:26

阅读数 1852

评论数 1

面向对象的回调机制 (C++实现)

#include using namespace std; class Strategy//基类接口 { public: virtual void action() = 0; }; class PlanA : public Strategy//具体类1

2011-09-11 21:37:49

阅读数 1771

评论数 2

利用C语言中的回调函数实现策略模式

#include using namespace std; void planA(char ch) //回调函数1 { cout } void planB(char ch)//回调函数2 { cout } typedef void (*pla

2011-09-11 21:16:25

阅读数 1678

评论数 0

程序设计中的几个原则

程序设计中的几个原则(注:使用设计模式其实就是对以下准则的贯彻和落实) 一、OCP法则:开闭法则(Open-Closed Principle)一个软件系统应当对扩展开放,对修改关闭 优点:原则的描述就是其优点所在, 1)通过扩展已有软件系统,可以提供新的行为,以满足对软

2011-09-09 15:10:50

阅读数 758

评论数 0

软件设计中窄接口的概念

软件设计中的“窄接口”设计, 即主张接口定义应体现需求的正交性特点,即同一个接口应该仅全部或部分地体现一类正交需求,软件实现则通过同时实现多个接口来体现实际需求的多角度特性。相反地,即所谓“宽接口”设计,总是努力将来自不同角度,彼此关系不大的需求定义到同一个接口中,仅仅因为这些

2011-09-09 08:31:46

阅读数 1624

评论数 0

类的不变式(部分转载片段)

原文地址:  http://blog.sina.com.cn/s/blog_4bc03a14010008pg.html 实现类的不变式的做法是为类定义一个名为is_valid的方法。然后该类的每一个公有方法都把它放到断言里进行调用,进入方法和退出时都调用,前置条件之

2011-09-08 21:30:43

阅读数 1461

评论数 0

builder模式

设计模式的实质是面向接口的编程;而面向接口可以使得接口的调用者独立于接口的具体实现细节。 因为实现细节可以有多种多样,通过接口的使用,我们就可以把这些实现的变换封装起来,成为一个可替换的模块。 在builder模式下,有以下几类角色: Director, AbstractB

2011-09-06 08:54:08

阅读数 374

评论数 0

GOF学习笔记之:遇到的问题(1)

1:p7说:“几乎所有模式都使用继承机制” 是啥意思? 答:这句话是针对C++说的,因为C++中没有接口类的概念,如何是Java,有interface,就应该说成:“几乎所有模式都使用“接口”机制”!,当然,这是有语言本身所决定的,如果,从不严格的角度上来说,“接口也可以看成是

2011-09-04 09:32:43

阅读数 371

评论数 0

C++之萃取技术 笔记

#include using namespace std; //tag class _xFalse {}; class _xTrue {}; template struct traits { typedef _xFalse hasDefaultC

2011-09-02 07:14:14

阅读数 888

评论数 0

auto_ptr_ref 原理解析

auto_ptr ptr1(auto_ptr(new int(1)));  搞懂了上面这句话的执行流程,也就明白了auto_ptr_ref的原理: 执行流程如下: 1:调用explicit auto_ptr(_Ty *_Ptr = 0),完成一个auto_ptr

2011-08-24 15:40:41

阅读数 558

评论数 0

C++中内存管理的实践(理论与分析)

C++中指针的使用在为语言提供极大的灵活性的同时,也使得内存管理变得极其复杂。如何利用好指针,并在工程实践中组织好高效的内存管理策略,是一个C++项目按时交付、并取得成功的关键。 本文将从理论和实践上分析,如何通过良好的类的设计策略,来实践一个可在工程中使用的有效的内存管理方案

2011-08-23 13:59:46

阅读数 660

评论数 0

提示
确定要删除当前文章?
取消 删除