<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feeds.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feeds.feedsky.com/csdn.net/Breeze2003" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feeds.feedsky.com/csdn.net/Breeze2003" type="application/rss+xml"></fs:self_link><lastBuildDate>Fri, 20 May 2011 07:06:00 GMT</lastBuildDate><title>清风徐来，水波不兴--郭见伟的blog</title><description>不断在更高的角度审视自己</description><link>http://blog.csdn.net/blogrss.aspx?username=Breeze2003</link><item><title>VC++动态链接库(DLL)编程深入浅出(四)</title><link>http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434590.aspx</link><description>&lt;br /&gt;　　这是《VC++动态链接库(DLL)编程深入浅出》的第四部分，阅读本文前，请先阅读前三部分：（一）、（二）、（三）。&lt;br /&gt;　　MFC扩展DLL的内涵为MFC的扩展，用户使用MFC扩展DLL就像使用MFC本身的DLL一样。除了可以在MFC扩展DLL的内部使用MFC以外，MFC扩展DLL与应用程序的接口部分也可以是MFC。我们一般使用MFC扩展DLL来包含一些MFC的增强功能，譬如扩展MFC的CStatic、CButton等类使之具备更强大的能力。&lt;br /&gt;　　使用Visual C++向导生产MFC扩展DLL时，MFC向导会自动增加DLL的入口函数DllMain：extern &quot;C&quot; int APIENTRY&lt;br /&gt;DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)&lt;br /&gt;{&lt;br /&gt;// Remove this if you use lpReserved&lt;br /&gt;UNREFERENCED_PARAMETER(lpReserved);&lt;br /&gt;if (dwReason == DL&lt;img src=&quot;http://www1.feedsky.com/t1/513527370/Breeze2003/csdn.net/s.gif?r=http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434590.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 20 May 2011 15:06:00 +0800</pubDate><author>皓月清风</author><guid isPermaLink="false">http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434590.aspx</guid><dc:creator>皓月清风</dc:creator><fs:srclink>http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434590.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Breeze2003/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Breeze2003/~1127455/513527370/1127449</fs:itemid></item><item><title>VC++动态链接库(DLL)编程深入浅出(三)</title><link>http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434581.aspx</link><description>&lt;br /&gt;　　第4节我们对非MFC DLL进行了介绍，这一节将详细地讲述MFC规则DLL的创建与使用技巧。&lt;br /&gt;　　另外，自从本文开始连载后，收到了一些读者的e-mail。有的读者提出了一些问题，笔者将在本文的最后一次连载中选取其中的典型问题进行解答。由于时间的关系，对于读者朋友的来信，笔者暂时不能一一回复，还望海涵！由于笔者的水平有限，文中难免有错误和纰漏，也热诚欢迎读者朋友不吝指正！&lt;br /&gt;　　5. MFC规则DLL&lt;br /&gt;　　5.1 概述&lt;br /&gt;　　MFC规则DLL的概念体现在两方面：&lt;br /&gt;　　（1） 它是MFC的&lt;br /&gt;　　“是MFC的”意味着可以在这种DLL的内部使用MFC；&lt;br /&gt;　　（2） 它是规则的&lt;br /&gt;　　“是规则的”意味着它不同于MFC扩展DLL，在MFC规则DLL的内部虽然可以使用MFC，但是其与应用程序的接口不能是MFC。而MFC扩展DLL与应用程序的接口可以是MFC，可以从MFC扩展DLL中导出一个MFC类的派生类。&lt;br /&gt;　　Regular DLL能够被所有支持DLL技术的语言所编写的应用程序调用，当然也包括使用M&lt;img src=&quot;http://www1.feedsky.com/t1/513527241/Breeze2003/csdn.net/s.gif?r=http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434581.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 20 May 2011 15:04:00 +0800</pubDate><author>皓月清风</author><guid isPermaLink="false">http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434581.aspx</guid><dc:creator>皓月清风</dc:creator><fs:srclink>http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434581.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Breeze2003/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Breeze2003/~1127455/513527241/1127449</fs:itemid></item><item><title>VC++动态链接库(DLL)编程深入浅出(二)</title><link>http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434570.aspx</link><description>&lt;br /&gt;上节给大家介绍了静态链接库与库的调试与查看（动态链接库(DLL)编程深入浅出(一)），本节主要介绍非MFC DLL。&lt;br /&gt;　　4.非MFC DLL&lt;br /&gt;　　4.1一个简单的DLL&lt;br /&gt;　　第2节给出了以静态链接库方式提供add函数接口的方法，接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。&lt;br /&gt;　　如图6，在VC++中new一个Win32 Dynamic-Link Library工程dllTest（单击此处下载本工程附件）。注意不要选择MFC AppWizard(dll)，因为用MFC AppWizard(dll)建立的将是第5、6节要讲述的MFC 动态链接库。&lt;br /&gt;&lt;br /&gt;　　图6 建立一个非MFC DLL&lt;br /&gt;　　在建立的工程中添加lib.h及lib.cpp文件，源代码如下：&lt;br /&gt;/* 文件名：lib.h　*/&lt;br /&gt;#ifndef LIB_H&lt;br /&gt;#define LIB_H&lt;br /&gt;extern &quot;C&quot; int __declspec(dllexport)add(int x, int y);&lt;img src=&quot;http://www1.feedsky.com/t1/513527022/Breeze2003/csdn.net/s.gif?r=http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434570.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 20 May 2011 15:00:00 +0800</pubDate><author>皓月清风</author><guid isPermaLink="false">http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434570.aspx</guid><dc:creator>皓月清风</dc:creator><fs:srclink>http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434570.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Breeze2003/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Breeze2003/~1127455/513527022/1127449</fs:itemid></item><item><title>VC++动态链接库(DLL)编程深入浅出(一)</title><link>http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434554.aspx</link><description>&lt;br /&gt;1.概论&lt;br /&gt;　　先来阐述一下DLL(Dynamic Linkable Library)的概念，你可以简单的把DLL看成一种仓库，它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库－静态链接库－动态链接库”的时代。&lt;br /&gt;　　静态链接库与动态链接库都是共享代码的方式，如果采用静态链接库，则无论你愿不愿意，lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL，该DLL不必被包含在最终EXE文件中，EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库，而在动态链接库中还可以再包含其他的动态或静态链接库。&lt;br /&gt;　　对动态链接库，我们还需建立如下概念：&lt;br /&gt;　　（1）DLL 的编制与具体的编程语言及编译器无关&lt;br /&gt;　　只要遵循约定的DLL接口规范和调用方式，用各种语言编写的DLL都可以相互调用。譬如Windows提供的系统DLL（其中包括了Windows的API），在任何开发环境中都能被调用，不在乎其是Vis&lt;img src=&quot;http://www1.feedsky.com/t1/513526745/Breeze2003/csdn.net/s.gif?r=http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434554.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 20 May 2011 14:55:00 +0800</pubDate><author>皓月清风</author><guid isPermaLink="false">http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434554.aspx</guid><dc:creator>皓月清风</dc:creator><fs:srclink>http://blog.csdn.net/Breeze2003/archive/2011/05/20/6434554.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Breeze2003/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Breeze2003/~1127455/513526745/1127449</fs:itemid></item><item><title>让Java程序只运行一个实例</title><link>http://blog.csdn.net/Breeze2003/archive/2011/05/10/6408074.aspx</link><description>&lt;br /&gt;一个程序可以在内存里面存在多个运行实例，比如，你可以打开多个微软的Word程序。但是，有些时候我们需要控制程序运行的实例只有一个，也就是说，该程序同一时刻在内存里面运行的只有一个实例。这样当这个程序在内存中已经存在一个运行实例而用户又再次运行了该程序的时候，有两种结果，第一种结果是结束目前的运行实例，打开新运行的实例；第二种就是让新运行的实例退出，原有的运行实例继续运行。 &lt;br /&gt;&lt;br /&gt;原理&lt;br /&gt;　　因为任何时候只有一个实例，所以在实现这种功能的时候必须借助只能被独享的资源。如果我们的程序是基于某个平台的，那么就可以借助操作系统的内核对象来完成，比如Windows操作系统就提供了CreateMutex这个API来创建一个独享的内核对象。但是因为要考虑平台无关，Java程序的实例控制不应该使用系统的内核对象来完成，那么我们就必须找到其它的、可以独享的资源。实际上，一台机器无论是在什么操作系统上，网络端口都是独享的，也就是说基于网络端口这个独享的原理，我们可以很方便地让我们的Java程序实现在内存里面只有一个运行实例这个功能，而且这个功能的实现是与平台无关的。&lt;img src=&quot;http://www1.feedsky.com/t1/513526746/Breeze2003/csdn.net/s.gif?r=http://blog.csdn.net/Breeze2003/archive/2011/05/10/6408074.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Tue, 10 May 2011 00:28:00 +0800</pubDate><author>皓月清风</author><guid isPermaLink="false">http://blog.csdn.net/Breeze2003/archive/2011/05/10/6408074.aspx</guid><dc:creator>皓月清风</dc:creator><fs:srclink>http://blog.csdn.net/Breeze2003/archive/2011/05/10/6408074.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Breeze2003/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Breeze2003/~1127455/513526746/1127449</fs:itemid></item><item><title>用flex将两张图片合成一张图片</title><link>http://blog.csdn.net/Breeze2003/archive/2011/05/07/6402545.aspx</link><description>&lt;br /&gt;//图片1&lt;br /&gt;var s : Number = .5;&lt;br /&gt;&lt;br /&gt;// 建立matrix&lt;br /&gt;var scaleMatrix : Matrix = new Matrix();&lt;br /&gt;&lt;br /&gt;// 应用scale到matrix&lt;br /&gt;scaleMatrix.scale(s,s);&lt;br /&gt;&lt;br /&gt;// 建立bitmapdata对象&lt;br /&gt;var scaledBitmap : BitmapData = new BitmapData(bmp.width*s,bmp.height*s,false,0);&lt;br /&gt;&lt;br /&gt;// 填充内容&lt;br /&gt;scaledBitmap.draw(bmp,scaleMatrix);&lt;br /&gt;&lt;br /&gt;// 添加一个logo图片&lt;br /&gt;var icon : Bitmap = new flickr() as Bitmap;&lt;br /&gt;&lt;br /&gt;// 把logo合并放在背景图片的右下角&lt;br /&gt;var ix : Number = scaledBitmap.width-icon.width;&lt;img src=&quot;http://www1.feedsky.com/t1/513526747/Breeze2003/csdn.net/s.gif?r=http://blog.csdn.net/Breeze2003/archive/2011/05/07/6402545.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Sat, 07 May 2011 22:37:00 +0800</pubDate><author>皓月清风</author><guid isPermaLink="false">http://blog.csdn.net/Breeze2003/archive/2011/05/07/6402545.aspx</guid><dc:creator>皓月清风</dc:creator><fs:srclink>http://blog.csdn.net/Breeze2003/archive/2011/05/07/6402545.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Breeze2003/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Breeze2003/~1127455/513526747/1127449</fs:itemid></item><item><title>Tomcat 6 性能优化 小结</title><link>http://blog.csdn.net/Breeze2003/archive/2011/04/14/6322586.aspx</link><description>&lt;br /&gt;每个web客户端请求对于服务器端来说就一个单独的线程，客户端的请求数量增多将会导致线程数就上去了，CPU就忙着跟线程切换。 而NIO则是使用单线程(单个CPU)或者只使用少量的多线程(多CPU)来接受Socket，而由线程池来处理堵塞在pipe或者队列里的请求.这样的话，只要OS可以接受TCP的连接，web服务器就可以处理该请求。大大提高了web服务器的可伸缩性。 -------------------------------------------------------------------------------- 大家都听说了在Apache Tomcat6 中支持了Java语言的特性 NIO( New I/O)，不管你对NIO的技术是否熟悉，但你肯定能想象的到NIO是一个好东西。的确，使用NIO在服务器端会有更好的性能，加强服务器端对并发处理的性能。 请注意：很抱歉，在tomcat6在默认的配置选项中是没有把NIO功能打开。所以很多正在使用Tomcat6的朋友们本以为能快活的使用上NIO。 不信，你可以试试，从Apache Tomcat 站点下载 的Tomct6&lt;img src=&quot;http://www1.feedsky.com/t1/513526748/Breeze2003/csdn.net/s.gif?r=http://blog.csdn.net/Breeze2003/archive/2011/04/14/6322586.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Thu, 14 Apr 2011 11:05:00 +0800</pubDate><author>皓月清风</author><guid isPermaLink="false">http://blog.csdn.net/Breeze2003/archive/2011/04/14/6322586.aspx</guid><dc:creator>皓月清风</dc:creator><fs:srclink>http://blog.csdn.net/Breeze2003/archive/2011/04/14/6322586.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Breeze2003/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Breeze2003/~1127455/513526748/1127449</fs:itemid></item><item><title>几种流行Webservice框架性能对比</title><link>http://blog.csdn.net/Breeze2003/archive/2011/04/08/6308685.aspx</link><description>&lt;br /&gt;1      摘要&lt;br /&gt;开发webservice应用程序中离不开框架的支持，当open-open网站列举的就有30多种，这对于开发者如何选择带来一定的疑惑。性能Webservice的关键要素，不同的框架性能上存在较大差异，而当前在官方网站、网络资料中可以方便的找到各自框架的介绍，但是很少有针对不同框架性能测试数据。本文选择了比较流行几个框架：Apache Axis1、Apache Axis2、Codehaus XFire、Apache CXF等，采用java作为测试用例，通过本机和远程两种进行测试方式，对这几种框架进行了性能测试，并对测试结果分析和性能比较，最后并对性能优异的框架进行了推荐。&lt;br /&gt;关键词：Axis1、Axis2、XFire、CXF、Spring、SOAP、StAX、WSDL&lt;br /&gt;2      框架介绍&lt;br /&gt;2.1      Apache Axis1&lt;br /&gt;Axis本质上就是一个SOAP引擎（Apache Axis is an implementation of the SOAP），提供创建服务器端、客户端和网关SOAP操作的基本框&lt;img src=&quot;http://www1.feedsky.com/t1/513526749/Breeze2003/csdn.net/s.gif?r=http://blog.csdn.net/Breeze2003/archive/2011/04/08/6308685.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 08 Apr 2011 10:00:00 +0800</pubDate><author>皓月清风</author><guid isPermaLink="false">http://blog.csdn.net/Breeze2003/archive/2011/04/08/6308685.aspx</guid><dc:creator>皓月清风</dc:creator><fs:srclink>http://blog.csdn.net/Breeze2003/archive/2011/04/08/6308685.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Breeze2003/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Breeze2003/~1127455/513526749/1127449</fs:itemid></item><item><title>屏蔽FLEX右键菜单</title><link>http://blog.csdn.net/Breeze2003/archive/2011/04/08/6308676.aspx</link><description>&lt;br /&gt;&lt;br /&gt;==========================================================================================&lt;br /&gt;修订记录:&lt;br /&gt;     2007/06/07 :  创建      &lt;br /&gt;     2007/07/02 : 修改了一个错误: getMouseTarget参数event为MouseEvent, 而不是MenuEvent类型&lt;br /&gt;==========================================================================================&lt;br /&gt;&lt;br /&gt;完全屏蔽FLEX右键菜单比当初想象的要难一些,因为大多数FLEX文档中仅仅介绍了如何隐藏一部分FLEX右键菜单,例如:&lt;br /&gt;var contextMenu : ContextMenu = new ContextMenu();&lt;br /&gt;contextMenu.hideBuiltInItems(); // 隐藏一些内建的&lt;img src=&quot;http://www1.feedsky.com/t1/513526750/Breeze2003/csdn.net/s.gif?r=http://blog.csdn.net/Breeze2003/archive/2011/04/08/6308676.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Fri, 08 Apr 2011 09:57:00 +0800</pubDate><author>皓月清风</author><guid isPermaLink="false">http://blog.csdn.net/Breeze2003/archive/2011/04/08/6308676.aspx</guid><dc:creator>皓月清风</dc:creator><fs:srclink>http://blog.csdn.net/Breeze2003/archive/2011/04/08/6308676.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Breeze2003/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Breeze2003/~1127455/513526750/1127449</fs:itemid></item><item><title>屏蔽FLEX右键菜单以及实现自定义的FLEX右键功能</title><link>http://blog.csdn.net/Breeze2003/archive/2010/08/04/5788852.aspx</link><description>&lt;br /&gt;&lt;br /&gt;==========================================================================================&lt;br /&gt;修订记录:&lt;br /&gt;     2007/06/07 :  创建      &lt;br /&gt;     2007/07/02 : 修改了一个错误: getMouseTarget参数event为MouseEvent, 而不是MenuEvent类型&lt;br /&gt;==========================================================================================&lt;br /&gt;&lt;br /&gt;完全屏蔽FLEX右键菜单比当初想象的要难一些,因为大多数FLEX文档中仅仅介绍了如何隐藏一部分FLEX右键菜单,例如:&lt;br /&gt;var contextMenu : ContextMenu = new ContextMenu();&lt;br /&gt;contextMenu.hideBuiltInItems(); // 隐藏一些内建的&lt;img src=&quot;http://www1.feedsky.com/t1/513526751/Breeze2003/csdn.net/s.gif?r=http://blog.csdn.net/Breeze2003/archive/2010/08/04/5788852.aspx&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><pubDate>Wed, 04 Aug 2010 19:24:00 +0800</pubDate><author>皓月清风</author><guid isPermaLink="false">http://blog.csdn.net/Breeze2003/archive/2010/08/04/5788852.aspx</guid><dc:creator>皓月清风</dc:creator><fs:srclink>http://blog.csdn.net/Breeze2003/archive/2010/08/04/5788852.aspx</fs:srclink><fs:srcfeed>http://blog.csdn.net/Breeze2003/feed.aspx</fs:srcfeed><fs:itemid>csdn.net/Breeze2003/~1127455/513526751/1127449</fs:itemid></item></channel></rss>
