<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[myjoying的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/myjoying</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; myjoying]]></copyright><item><title><![CDATA[AOP技术研究]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/27233241</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/27233241</guid><author>myjoying</author><pubDate>Tue, 27 May 2014 21:00:31 +0800</pubDate><description><![CDATA[第一部分  引言

软件设计因为引入面向对象思想而逐渐变得丰富起来。“一切皆为对象”的精义，使得程序世界所要处理的逻辑简化，开发者可以用一组对象以及这些对象之 间的关系将软件系统形象地表示出来。而从对象的定义，进而到模块，到组件的定义，利用面向对象思想的封装、继承、多态的思想，使得软件系统开发可以向搭建 房屋那样，循序渐进，从砖石到楼层，进而到整幢大厦的建成。应用面向对象思想，在设计规模更大、]]></description><category></category></item><item><title><![CDATA[Linux内核空间管理]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/9918949</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/9918949</guid><author>myjoying</author><pubDate>Mon, 12 Aug 2013 10:58:09 +0800</pubDate><description><![CDATA[Linux 操作系统和驱动程序运行在内核空间，应用程序运行在用户空间，两者不能简单地使用指针传递数据，因为Linux使用的虚拟内存机制，用户空间的数据可能被换出，当内核空间使用用户空间指针时，对应的数据可能不在内存中。









Linux内核地址映射模型

x86 CPU采用了段页式地址映射模型。进程代码中的地址为逻辑地址，经过段页式地址映射后，才真正访问物理内存]]></description><category></category></item><item><title><![CDATA[二分查找法的实现和应用汇总]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8820911</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8820911</guid><author>myjoying</author><pubDate>Thu, 18 Apr 2013 20:21:01 +0800</pubDate><description><![CDATA[二分查找法的实现和应用汇总





在学习算法的过程中，我们除了要了解某个算法的基本原理、实现方式，更重要的一个环节是利用big-O理论来分析算法的复杂度。在时间复杂度和空间复杂度之间，我们又会更注重时间复杂度。
时间复杂度按优劣排差不多集中在：
O(1), O(log n), O(n), O(n log n), O(n2), O(nk), O(2n)
到目前位置，似乎我学到的]]></description><category></category></item><item><title><![CDATA[银行家算法]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8760652</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8760652</guid><author>myjoying</author><pubDate>Fri, 05 Apr 2013 10:31:38 +0800</pubDate><description><![CDATA[银行家算法

转自：维基百科，自由的百科全书










银行家算法（Banker's Algorithm）是一个避免死锁（Deadlock）的著名算法，是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础，判断并保证系统的安全运行。

在银行中，客户申请贷款的数量是有限的，每个客户在第一次申请贷款时]]></description><category></category></item><item><title><![CDATA[C++类对应的内存结构（虚函数，虚继承）]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8723381</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8723381</guid><author>myjoying</author><pubDate>Tue, 26 Mar 2013 19:40:00 +0800</pubDate><description><![CDATA[转自：http://blog.youkuaiyun.com/guogangj/article/details/2036785
 
提示1：对“内存结构”表示有疑问或不解的，先参考：
http://blog.youkuaiyun.com/guogangj/archive/2007/05/25/1625199.aspx，
本文使用的表示方法和VC6的Memory视图一致，即：左上表示低位。
 
提示2：下文提到的]]></description><category></category></item><item><title><![CDATA[STL--智能指针(auto_ptr)]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8443987</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8443987</guid><author>myjoying</author><pubDate>Thu, 27 Dec 2012 15:45:03 +0800</pubDate><description><![CDATA[STL中的智能指针不能用于引用计数,但是其优点是指针所有权自动转移和指针自动删除技术.

       auto_ptr会在复制构造时,将原指针自动删除,将使用权交给其复制的对象.

        

  例子:

   

//源码

  template

  class auto_ptr{

     public: 

         explici]]></description><category></category></item><item><title><![CDATA[重建二叉树（先序+中序 ： 中序+后序）]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8306325</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8306325</guid><author>myjoying</author><pubDate>Mon, 17 Dec 2012 10:40:22 +0800</pubDate><description><![CDATA[由中序遍历 分别和前序遍历，后序遍历进行建树的方法：
 
// 由中序和后序遍历序列进行建树， 返回根结点指针 
Node * InPostCreateTree(int *mid,int *post,int len){ 
    if(len == 0) 
        return NULL; 
    int i=len-1; 
    while(post[len-1] !=]]></description><category></category></item><item><title><![CDATA[C++ Placement New]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8288996</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8288996</guid><author>myjoying</author><pubDate>Thu, 13 Dec 2012 08:58:27 +0800</pubDate><description><![CDATA[原文地址：http://hubeihuyanwei.blog.163.com/blog/static/28205284201171722359640/

     placement new是重载operator new的一个标准、全局的版本，它不能被自定义的版本代替（不像普通的operator new和operator delete能够被替换成用户自定义的版本）。
它的原型如下：]]></description><category></category></item><item><title><![CDATA[Linux进程通信]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8114122</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8114122</guid><author>myjoying</author><pubDate>Fri, 26 Oct 2012 10:17:56 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[LINUX创建进程]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8104706</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8104706</guid><author>myjoying</author><pubDate>Tue, 23 Oct 2012 21:50:44 +0800</pubDate><description><![CDATA[Linux通过 Task_struct 结构体来管理进程信息，包括进程的基本信息、内存信息、tty终端信息、当前目录信息，打开文件的描述符以及信号信息等。
    进程状态包括就绪/运行状态、等待状态（可以被中断）、等待状态（不可以被中断）、停止状态和僵死状态。


创建进程


（1） fork()
    无参数，失败返回值-1，成功则在父进程中返回子进程的PID号，在子进程中]]></description><category></category></item><item><title><![CDATA[进程用户属性]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8100711</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8100711</guid><author>myjoying</author><pubDate>Mon, 22 Oct 2012 22:07:04 +0800</pubDate><description><![CDATA[1.  进程真实用户号（RUID）
     创建该进程的用户UID为进程的真实用户号（RUID）；
     读取：getuid()
 
2.  进程有效用户号
     EUID主要用于权限检查，多数情况下，EUID和UID相同，但是当设置了setuid位之后，任何运行该程序的进程均可获得该文件拥有者的权限，即EUID在此时等于程序拥有者的UID。
     参考：passwd进程]]></description><category></category></item><item><title><![CDATA[哈夫曼编码简介]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8096064</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8096064</guid><author>myjoying</author><pubDate>Sun, 21 Oct 2012 19:58:29 +0800</pubDate><description><![CDATA[哈夫曼编码简介
2010年03月17日 |本网站遵守CC版权协议 转载请注明出自www.thecodeway.com


    哈弗曼编码几乎是所有压缩算法的基础，其实这个算法并不复杂，简单的理解就是，如何用更短的bit来编码数据。
    我们知道普通的编码都是定长的，比如常用的ASCII编码,每个字符都是8个bit:



字符
编码


A
00101001]]></description><category></category></item><item><title><![CDATA[memcpy,strcpy,memset,memmove的函数实现]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8095300</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8095300</guid><author>myjoying</author><pubDate>Sun, 21 Oct 2012 14:47:59 +0800</pubDate><description><![CDATA[【转】memcpy,strcpy,memset,memmove的函数实现

/**********************************************************
公司考试这种题目主要考你编写的代码是否考虑到各种情况，是否安全（不会溢出）各种情况包括：１、参数是指针，检查指针是否有效２、检查复制的源目标和目的地是否为同一个，若为同一个，则直接跳出３、读写权限检]]></description><category></category></item><item><title><![CDATA[linux 程序存储结构与进程结构]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8087528</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8087528</guid><author>myjoying</author><pubDate>Thu, 18 Oct 2012 21:55:21 +0800</pubDate><description><![CDATA[linux的可执行文件拥有两种内存分配方式：存储时 和运行时
     1、存储时
      存储时是指可执行文件尚未调入内存中运行。这时的存储分为3部分：代码区，数据区和未初始化数据区。
      （1） 代码区：顾名思义，代码区即存储CPU可执行的机器代码的区域，值得指出的是指令的立即数是存储在这个区域，并且该区域一般是只读、共享的，因为对于频繁执行的代码只有一份代码并保证代码安全。]]></description><category></category></item><item><title><![CDATA[Linux中的tty与pts]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8086561</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8086561</guid><author>myjoying</author><pubDate>Thu, 18 Oct 2012 16:57:59 +0800</pubDate><description><![CDATA[tty一词源于Teletypes，或者teletypewriters，原来指的是电传打字机，是通过串行线用打印机键盘通过阅读和发送信息的东西，后来这东西被键盘与显示器取代，所以现在叫终端比较合适。但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么？是的，这就是虚拟终端pty(pseudo-tty)，pts(pseudo-terminal slave)是pty的实现方法，与p]]></description><category></category></item><item><title><![CDATA[VC++中使用内存映射文件处理大文件]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/8085664</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/8085664</guid><author>myjoying</author><pubDate>Thu, 18 Oct 2012 14:41:41 +0800</pubDate><description><![CDATA[VC++中使用内存映射文件处理大文件
　　摘要： 本文给出了一种方便实用的解决大文件的读取、存储等处理的方法，并结合相关程序代码对具体的实现过程进行了介绍。
　　引言
　　文件操作是应用程序最为基本的功能之一，Win32 API和MFC均提供有支持文件处理的函数和类，常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等]]></description><category></category></item><item><title><![CDATA[Linux软连接和硬链接]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/7973793</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/7973793</guid><author>myjoying</author><pubDate>Thu, 13 Sep 2012 10:12:20 +0800</pubDate><description><![CDATA[1.Linux链接概念
Linux链接分两种，一种被称为硬链接（Hard Link），另一种被称为符号链接（Symbolic Link）。默认情况下，ln命令产生硬链接。
【硬连接】
硬连接指通过索引节点来进行连接。在Linux的文件系统中，保存在磁盘分区中的文件不管是什么类型都给它分配一个编号，称为索引节点号(Inode Index)。在Linux中，多个文件名指向同一索引节点是存在的。一]]></description><category></category></item><item><title><![CDATA[ubuntu下中文乱码解决方案(全)]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/7967209</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/7967209</guid><author>myjoying</author><pubDate>Tue, 11 Sep 2012 14:45:54 +0800</pubDate><description><![CDATA[阅读本文之前请阅读
http://www.cnblogs.com/math2010/archive/2012/01/05/2312951.html
 
 


1、ibus输入法
Ubuntu 系统安装后已经自带了ibus输入法，在英语环境下默认不启动。
配置ibus自动启动可以在ubuntu系统菜单上选择System --- Preferences --- Startup App]]></description><category></category></item><item><title><![CDATA[ubuntu10.04上移植miniGUI 1.3.3]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/7965484</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/7965484</guid><author>myjoying</author><pubDate>Tue, 11 Sep 2012 14:23:33 +0800</pubDate><description><![CDATA[首先，你需要下载的MiniGUI 的包：

http://www.minigui.com/download/libminigui-1.3.3.tar.gz    
http://www.minigui.com/download/minigui-res-1.3.3.tar.gz 
这两个包的下载需要你在www.minigui.com  上注册过才可以下载，免费注册的，自己去下吧
http:]]></description><category></category></item><item><title><![CDATA[Trie树与AC算法]]></title><link>https://blog.youkuaiyun.com/myjoying/article/details/7962177</link><guid>https://blog.youkuaiyun.com/myjoying/article/details/7962177</guid><author>myjoying</author><pubDate>Mon, 10 Sep 2012 10:26:32 +0800</pubDate><description><![CDATA[作者：myjoying
        时间：2012年9月10日
      
        在我的前一篇博文《AC算法--多模式匹配（论文解析版）》（http://blog.youkuaiyun.com/myjoying/article/details/7960534）中介绍了AC算法的实现原理，但是并没有给出AC算法的具体实现。AC算法的实现必须首先解决几个问题。首先需要解决的是goto表的实现]]></description><category></category></item></channel></rss>