- 博客(21)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 AOP技术应用和研究
面向切面编程(Aspect—Oriented Programming,简称AOP)是一种新的软件丌发技术,它是针对面向对象编程(Object.Oriented Programming,简称oop)在处理横跨多个模块的非核心需求时所表现出来的不足而提出的。AOP技术应用和研究系列,首先分析了面向对象编程(OOP)的优点和缺点,从而引出AOP技术。并介绍AOP的基本思想和基本概念。并通
2014-09-20 13:01:04
2275
10
原创 warning: integer overflow in expression (take this as a lesson)
#define QUOTA (5*1024*1024*1024)uint64_t ui64 = QUOTA;gcc编译器会报出:warning: integer overflow in expression,你发现哪里出问题了?以此为戒!
2015-01-26 11:00:40
7838
1
原创 AOP技术应用和研究--AOP简单应用
为了更好的理解AOP实践和体现AOP的优势,我们始终将OOP和AOP的比较贯穿到下文中。并在最终总结出AOP与OOP相比所拥有的优点,AOP的缺点以及AOP一般的使用场景。 1.1 问题空间到解空间的映射在比较研究OOP和AOP实践之前,先让解决从理论上OOP和AOP解决问题的差别,也就是它们各自从问题空间到解空间的不同映射关系。1.1.1“问题空间”和“解空间”的定义
2014-10-11 23:53:28
3610
原创 AOP技术应用和研究--SpringAop实现原理
Spring的AOP实现遵守了AOP联盟的约定。同时 Spring 又扩展了它,增加了如 Pointcut、Advisor等一些接口使得更加灵活。在Spring的AOP模块中,包括AOP的基本概念,通知,切入点等,以及最核心的AopProxy代理对象生成和Spring AOP拦截器调用的实现。 1,Spring Aop的基本概念我们在前面 AOP基本概念对AOP
2014-09-20 23:39:30
1835
原创 Linux环境高级编程--出错处理(CLStatus)
很多程序库对外提供若干类,每个方法出错时如何告知调用者是否出错,以及出错码(在Linux上在error.h中的全局errno就是保存我们Linux程序执行的出错码的)?方法很多,为了简化起见,函数将返回一个对象,该对象保存了函数的返回值和出错码。/* * CLStatus.h * * Author: lilin * email: lilin@uestc.edu.
2014-09-19 15:05:24
2194
2
原创 无死角理解保存设置用户ID,设置用户ID位,有效用户ID,实际用户ID
最近在理解保存设置用户ID时,遇到一些问题,但是发现网上都没能把这个问题说清楚,通过自己的思考和查找资料,终于明白了,现在分享在这里共大家交流学习,如果有不正确的地方,欢迎指正1,基本概念:实际用户ID(RUID):用于标识一个系统中用户是谁,一般是在登录之后,就被唯一确定的,就是登陆的用户的uid有效用户ID(EUID):用于系统决定用户对系统资源的权限。也就是说当用户做任何一个
2014-09-18 13:47:31
7585
15
原创 缓冲区的一些例子
#include #include #include int main(){ pid_t pid = 0; printf("test\n"); pid = fork(); if (pid == 0) { exit(0); } return 0;}上面这
2014-09-17 21:28:21
3188
3
原创 AOP技术应用和研究--动态代理
在SpringAop的实现中,我们首先需要知道的就是动态代理。1,cglib动态代理先看一个简单的cglib动态代理实例,我们假设的场景是在web开发中,用户实体访问数据库的Dao层UserDao实现事务处理这项功能。具体代码如下:package cn.miao.proxy.cglib;public class User { private String username;
2014-09-17 20:44:34
1167
2
原创 AOP技术应用和研究--AOP概述
1,AOP的思想AOP: Aspect OrientedProgramming 面向切面编程。面向切面编程(也叫面向方面编程):Aspect Oriented Programming(AOP),是目前软件开发中的一个热点。AOP实际上是GoF(ObserverDesign Pattern)设计模式的延续,强调是调用者和被调用者之间的解耦,未开发者提供了一种描述横切关注点(Crosscu
2014-09-17 20:15:15
1552
1
原创 AOP技术应用和研究--OOP
1,软件编程技术的发展软件编程技术与程序设计语言是分不开的。过去的几十年中,程序设计语言对抽象机制的支持程度不断提高:从机器语言到汇编语言,到高级语言,再到面向对象语言。每一种新的程序设计语言的出现都带来软件编程方法的飞跃。汇编语言出现后,开发人员避免了直接使用0-l编码,而是利用符号来表示机器指令,从而更方便地编写程序。当程序规模继续增大的时候,出现了以Fortran、C、Pascal等为代
2014-09-17 20:13:18
1668
原创 strcpy源码分析
/* Copyright (C) 1991-2014 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms
2014-09-16 20:35:06
1347
原创 内部链接和外部链接以及const对象在头文件中的若干问题
首先我们看一段示例代码:t1.h #ifndef T1_H_#define T1_H_#include "t2.h"#ifndef HHH#define HHH int da = 5;#endif#endift2.h#ifndef T2_H_#define T2_H_const int ca = 7;extern int c;#endif#include
2014-09-16 08:54:57
2077
2
原创 strdup源码分析
#ifdef HAVE_CONFIG_H#include #endif#if defined _LIBC || defined STDC_HEADERS# include # include #elsechar *malloc ();char *memcpy ();#endif#undef __strdup#undef strdup#ifndef weak_alia
2014-09-15 18:53:44
1951
原创 全排列
全排列:非递归算法:解题思路因为自己都讲不清楚。但觉得这位网友讲的不错把他的就直接引用了,至于代码我自己已经修改编译通过了!题目:1~n的全排列思想:(字典序法)初始化数组为1,2,3,...,n作为开端;设法从后续排列中找到大于前次结果但小于其他结果的序列;依此找出这样的序列(后面序列肯定大于前面序列),则最后一个序列肯定是n,...,3,2,1步骤:· 假设情景:找“*2
2014-09-15 18:50:32
543
原创 八皇后问题
八皇后问题解答:解法1-非递归算法: 算法分析:对于八个皇后的位置,可以看成一个由1,2,3,4,5,6,7,8组成的八位数,这个八位数的第n位的数字代表的是第n行皇后坐在的列数,有排列组合的可以组成这个数范围为12345678~87654321,那么只要把遍历下去,只要把符合题意的输出即可。不过在此处有一个可以改进的地方就是可以有数学证明我们有1~8组成的数是一定可以被9整除
2014-09-15 18:49:17
692
原创 stcmp源码分析
/* Copyright (C) 1991-2014 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms
2014-09-15 18:33:35
1041
1
原创 strlen源码分析
/* Copyright (C) 1991-2014 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Torbjorn Granlund (tege@sics.se), with help from Dan Sahlin (dan@sics.se); comm
2014-09-15 11:26:29
660
原创 Emacs入门
基本文件操作C-x, C-f (fopen) 新建或打开一个文件C-x C-s 保存文件C-x C-w 另存为文件C-x C-v 关闭当前缓冲区文件并打开新文件C-x i 在当前光标处插入文件C-x b 新建/切换缓冲区C-x C-b 显示缓冲区列表C-x k 关闭当前缓冲区C-x C-c (cease)关闭emacs窗口命令窗口
2014-09-15 11:07:50
737
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人