<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Sky_Tan的专栏 ---- 只要开始行动，永远都不会太迟！]]></title><description><![CDATA[汲取从分享开始]]></description><link>https://blog.youkuaiyun.com/Sky_Tan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Sky_Tan]]></copyright><item><title><![CDATA[MinGW 编译出现g++: fatal error: -fuse-linker-plugin, but liblto_plugin-0.dll not found错误的解决方法]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/41384325</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/41384325</guid><author>Sky_Tan</author><pubDate>Sat, 22 Nov 2014 19:11:45 +0800</pubDate><description><![CDATA[在win 7下使用MinGW编译一个c]]></description><category></category></item><item><title><![CDATA[Linux下文件描述符和文件流的转换]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/28278963</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/28278963</guid><author>Sky_Tan</author><pubDate>Tue, 03 Jun 2014 18:44:57 +0800</pubDate><description><![CDATA[1.  FILE * fdopen(int fd, char * mode)
     cong]]></description><category></category></item><item><title><![CDATA[对JAVA反射机制的认识]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/13364857</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/13364857</guid><author>Sky_Tan</author><pubDate>Mon, 28 Oct 2013 21:49:45 +0800</pubDate><description><![CDATA[最近在看spring的源代码，发现其基本原理如依赖注入、aop、以及xml技术，还有hibernate、javabean等都运用了java的动态反射的机制。一直觉得都在用，却“不识庐山真面目”，所以对此做了总结。
1.      概述
Reflection（反射） 是Java被视为动态语言的一个关键性质。这个机制允许程序在运行时透过Reflection APIs取得任何一个已知名称的class]]></description><category></category></item><item><title><![CDATA[寻找两个单链表的第一个公共节点]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11774717</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11774717</guid><author>Sky_Tan</author><pubDate>Tue, 17 Sep 2013 15:47:52 +0800</pubDate><description><![CDATA[题目：两个单向链表，找出它们的第一个公共结点。
链表的结点定义为：
struct ListNode
{
      int       m_nKey;
      ListNode*   m_pNext;
};
分析：这是一道微软的面试题。微软非常喜欢与链表相关的题目，因此在微软的面试题中，链表出现的概率相当高。
如果两个单向链表有公共的结点，也就是说两个链表从某一结点开始，它们的]]></description><category></category></item><item><title><![CDATA[一个有趣的抛硬币问题]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11762753</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11762753</guid><author>Sky_Tan</author><pubDate>Tue, 17 Sep 2013 10:40:18 +0800</pubDate><description><![CDATA[假设有一个硬币，抛出字（背面）和花（正面）的概率都是0.5，而且每次抛硬币与前次结果无关。现在做一个游戏，连续地抛这个硬币，直到连续出现两次字为止，问平均要抛多少次才能结束游戏？注意，一旦连续抛出两个“字”向上游戏就结束了，不用继续抛。
上面这个题目我第一次见到是在pongba的TopLanguage的一次讨论上，提出问题的人为Shuo Chen，当时我给出了一个解法，自认为已经相当简单了，先来]]></description><category></category></item><item><title><![CDATA[STL之Map使用小结]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11747261</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11747261</guid><author>Sky_Tan</author><pubDate>Mon, 16 Sep 2013 21:00:24 +0800</pubDate><description><![CDATA[/*
自动建立Key － value的对应。key 和 value可以是任意你需要的类型。 
根据key值快速查找记录，查找的复杂度基本是Log(N)，如果有1000个记录，最多查找10次，1,000,000个记录，最多查找20次。 
快速插入Key - Value 记录。 
快速删除记录 
根据Key 修改value记录。 
遍历所有记录。
MAP的插入方式跟别的容器有所不同：除数]]></description><category></category></item><item><title><![CDATA[深入 char * ,char ** ,char a[ ] ,char *a[] 内核]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11744919</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11744919</guid><author>Sky_Tan</author><pubDate>Mon, 16 Sep 2013 18:35:01 +0800</pubDate><description><![CDATA[C语言中由于指针的灵活性，导致指针能代替数组使用，或者混合使用，这些导致了许多指针和数组的迷惑，因此，刻意再次深入探究了指针和数组这玩意儿，其他类型的数组比较简单，容易混淆的是字符数组和字符指针这两个。。。下面就开始剖析一下这两位的恩怨情仇。。。
　１　数组的本质
　　　数组是多个元素的集合，在内存中分布在地址相连的单元中，所以可以通过其下标访问不同单元的元素。。
　２　指针。
　　　指针]]></description><category></category></item><item><title><![CDATA[字符串常量到底存放在哪个存储区]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11744813</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11744813</guid><author>Sky_Tan</author><pubDate>Mon, 16 Sep 2013 18:31:18 +0800</pubDate><description><![CDATA[字符串常量，放在哪个存储区呢？是“自动存储区”还是“静态存储区”中？

比如：

char *pstr="hello world!";
这里，"hello world!"是一个字符串常量，
pstr是在栈中的变量。
我想问，字符串常量，在哪个内存区域分配空间呢？

好像应该不是在“栈区“分配空间吧！！！


一、预备知识—程序的内存分配
一个由C/C++编译的程序占用的内]]></description><category></category></item><item><title><![CDATA[request.getRequestURI和request.getRequestURL返回值]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11179155</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11179155</guid><author>Sky_Tan</author><pubDate>Thu, 05 Sep 2013 21:32:12 +0800</pubDate><description><![CDATA[//HttpServletRequest获取请求路径  //Returns the part of this request's URL from the protocol name up to the query string in the first line of the HTTP request  
//  eg.  /ser.do?method=add_pre&type=mad]]></description><category></category></item><item><title><![CDATA[OS的进程调度]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11160589</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11160589</guid><author>Sky_Tan</author><pubDate>Thu, 05 Sep 2013 17:02:46 +0800</pubDate><description><![CDATA[在多进程、多线程并发的环境里，从概念上看，有多个进程或者多个线程在同时执行，具体到单个CPU级别，实际上任何时刻只能有一个进程或者线程处于执行状态；因此OS需要决定哪个进程执行，哪些进程等待，也就是进程的调度。
一、调度的目标
1、首先要区分程序使用CPU的三种模式：IO密集型、计算密集型和平衡型。对于IO密集型程序来说，响应时间非常重要；对于CPU密集型来说，CPU的周转时间就比较重要；对于]]></description><category></category></item><item><title><![CDATA[WEB服务器、应用程序服务器、HTTP服务器区别]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11158349</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11158349</guid><author>Sky_Tan</author><pubDate>Thu, 05 Sep 2013 16:50:26 +0800</pubDate><description><![CDATA[WEB服务器、应用程序服务器、HTTP服务器有何区别？IIS、Apache、Tomcat、Weblogic、WebSphere都各属于哪种服务器，这些问题困惑了很久，今天终于梳理清楚了：
    Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP，所以通常情况下HTTP服务器和W]]></description><category></category></item><item><title><![CDATA[HashMap与Hashtable的区别]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11126213</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11126213</guid><author>Sky_Tan</author><pubDate>Thu, 05 Sep 2013 12:58:09 +0800</pubDate><description><![CDATA[HashTable的应用非常广泛，HashMap是新框架中用来代替HashTable的类，也就是说建议使用HashMap，不要使用HashTable。可能你觉得HashTable很好用，为什么不用呢？这里简单分析他们的区别。 
1.HashTable的方法是同步的，HashMap未经同步，所以在多线程场合要手动同步HashMap这个区别就像Vector和ArrayList一样。

2.Has]]></description><category></category></item><item><title><![CDATA[多路IO复用模型 select epoll]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11085199</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11085199</guid><author>Sky_Tan</author><pubDate>Wed, 04 Sep 2013 17:51:52 +0800</pubDate><description><![CDATA[同步阻塞IO在等待数据就绪上花去太多时间，而传统的同步非阻塞IO虽然不会阻塞进程，但是结合轮询来判断数据是否就绪仍然会耗费大量的CPU时间。
多路IO复用提供了对大量文件描述符进行就绪检查的高性能方案。
select
select诞生于4.2BSD，在几乎所有平台上都支持，其良好的跨平台支持是它的主要的也是为数不多的优点之一。
select的缺点（1）单个进程能够监视的文件描述符的数量存在]]></description><category></category></item><item><title><![CDATA[ssh框架]]></title><link>https://blog.youkuaiyun.com/Sky_Tan/article/details/11053973</link><guid>https://blog.youkuaiyun.com/Sky_Tan/article/details/11053973</guid><author>Sky_Tan</author><pubDate>Wed, 04 Sep 2013 14:14:03 +0800</pubDate><description><![CDATA[ssh框架
SSH 为 struts+spring+hibernate的一个集成框架，是目前较流行的一种Web应用程序开源框架。
集成SSH框架的系统从职责上分为四层：表示层、业务逻辑层、数据持久层和域模块层，以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构，负责MVC的分离，在Struts框架的模型部分，控制业务跳转，利用H]]></description><category></category></item></channel></rss>