- 军军小站|张军博客
搜索到与相关的文章
编程技术

C语言面向对象编程(三):虚函数与多态

在《C++编程思想》一书中对虚函数的实现机制有详细的描述,一般的编译器通过虚函数表,在编译时插入一段隐藏的代码,保存类型信息和虚函数地址,而在调用时,这段隐藏的代码可以找到和实际对象一致的虚函数实现。我们在这里提供一个C中的实现,模仿VTABLE这种机制,但一切都需要我们自己在代码中装配。之前在网上看到一篇描述C语言实现虚函数和多态的文章,谈到在基类中保存派生类的指针、在派生类中保存基类的指针来实现相互调用,保障基类、派生类在使用虚函数时的行为和C++类似

系统 2019-08-29 22:29:10 1929

编程技术

高效快捷解决一个TextView显示多种字体的控件Sp

这个控件本人强烈推荐,它会使得布局非常的简单且高效;下面这个布局如果是你,你会用多少层?多少控件生成?告诉你吧,一个SpannableTextView控件就搞定了!它把TextView和Spannable封装在了一起,可以在一个TextView中显示不同的字体颜色,大小,背景色等;它支持如下样式:*BabushkaMethodInternalSpan*textSizeAbsoluteSizeSpan*textColorForegroundColorSpan

系统 2019-08-29 22:24:29 1929

编程技术

武汉大学自由软件日宣讲活动记录

为了推广自由以及开源软件,让广大老师学生、软件爱好者使用者能够更深刻地感受到软件自由的重要性、体会到自由和开源软件的乐趣,在每年九月的第三个星期六,全球各地的团体自发举办各式各样的活动,共同庆祝自由软件日。这次活动就是由武汉大学开源技术俱乐部主办,自强网络、网络编程协会、信息安全协会协办的一个华中地区的自由软件盛会。由于我们俱乐部刚刚成立,在组织中还有很多问题望同行和朋友们多多指教。到场嘉宾:Sun湖北、湖南上海区销售经理简波资深软件开发工程师、武汉大学国

系统 2019-08-29 22:17:16 1929

编程技术

Spring整合JMS(一)——基于ActiveMQ实现

1.1JMS简介JMS的全称是JavaMessageService,即Java消息服务。它主要用于在生产者和消费者之间进行消息传递,生产者负责产生消息,而消费者负责接收消息。把它应用到实际的业务需求中的话我们可以在特定的时候利用生产者生成一消息,并进行发送,对应的消费者在接收到对应的消息后去完成对应的业务逻辑。对于消息的传递有两种类型,一种是点对点的,即一个生产者和一个消费者一一对应;另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费

系统 2019-08-29 22:12:09 1929

编程技术

Cas(07)——建立使用Cas进行单点登录的应用

建立使用Cas进行单点登录的应用目录1.1加入cas-client-core-xxx.jar到classpath1.2配置Filter1.2.1AuthenticationFilter1.2.2TicketValidationFilter1.2.3HttpServletRequestWrapperFilter1.2.4AssertionThreadLocalFilter1.2.5基于Spring的Filter配置1.3添加证书到信任库根据之前的描述我们知道

系统 2019-08-29 22:12:02 1929

编程技术

spring 与 mybatis 整合笔记

参考http://www.cnblogs.com/wushiqi54719880/archive/2011/07/27/2117944.html1、创建一个model对象packageadtec.dbtest.model;publicclassK_user{privateIntegerid;privateStringname;privateIntegerage;publicIntegergetId(){returnid;}publicvoidsetId(I

系统 2019-08-29 22:10:49 1929

编程技术

一堂如何提高代码质量的培训课(2)

3.可变更性前面我提到了,软件的变更性是所有软件理论的核心,那么什么是软件的可变更性呢?按照现在的软件理论,客户对软件的需求时时刻刻在发生着变化。当软件设计好以后,为应对客户需求的变更而进行的代码修改,其所需要付出的代价,就是软件设计的可变更性。由于软件合理地设计,修改所付出的代价越小,则软件的可变更性越好,即代码设计的质量越高。一种非常理想的状态是,无论客户需求怎样变化,软件只需进行适当地修改就能够适应。但这之所以称之为理想状态,因为客户需求变化是有大有

系统 2019-08-29 21:58:57 1929

编程技术

bbed小结1--修改数据

1.安装10g:[oracle@styrac1~]$cd$ORACLE_HOME/rdbms/lib/[oracle@styrac1lib]$make-fins_rdbms.mk$ORACLE_HOME/rdbms/lib/bbed11g:拷贝10g的文件[oracle@styrac2lib]$mkdir/tmp/libtmp[oracle@styrac2lib]$mkdir/tmp/msgtmp[oracle@styrac2lib]$cp$ORACLE_

系统 2019-08-12 09:29:46 1929

编程技术

UNIX环境高级编程 守护进程

相关函数列表//syslog函数#includevoidopenlog(constchar*ident,intoption,intfacility);voidsyslog(intpriority,constchar*format,...);voidcloselog(void);intsetlogmask(intmaskpri);//除syslog,很多平台还提供它的一种变体来处理可变参数列表#include#incl

系统 2019-08-12 09:29:37 1929

各行各业

微软企业库4.1学习笔记(十二)中间人Providers

一、Provider在.NETframeword中每一个provider都是一段代码的中间人,通过它,你的应用可以连接到一个服务或者是数据源,可以获取或者是修改服务和数据源的数据。在企业库中包含很多的providers。另外,你也可以创建自己的provider,在你的应用中满足特殊的需求。一个providertype定义了和一个模块相关的功能的接口,一个provider是一个providertype的实现。每一个模块中,对于一个providertype,都

系统 2019-08-12 09:27:24 1929