C#编程之asp.net(C#)数据采集类

using System; 
using System.Data;
using System.Collections;
using System.Collections.Generic;
using System.Configuration;
using System.Web;
using MSXML2; 
System.Text.RegularExpressions;

namespace EC

{

    /// 

    /// 远程文件抓取类

    /// 

    public class GetRemoteObj

    {

 

        #region 构造与析构函数

        public GetRemoteObj()

        {

            //

            // TODO: 在此处添加构造函数逻辑

            //

        }

        ~GetRemoteObj()

        {

            Dispose();

        }

        #endregion

 

        #region IDisposable 成员

 

        public void Dispose()

        {

            GC.SuppressFinalize(this);

        }

 

        #endregion

 

        #region 取得文件后缀

        /// 

        /// 取得文件后缀

        /// 

        /// 文件名称

        /// 

        public string GetFileExtends(string filename)

        {

            string ext = null;

            if (filename.IndexOf('.') > 0)

            {

                string[] fs = filename.Split('.');

                ext = fs[fs.Length - 1];

            }

            return ext;

        }

        #endregion

 

        #region 获取远程文件源代码

        /**********************************

         * 函数名称:GetRemoteHtmlCode

         * 功能说明:获取远程文件源代码

         * 参    数:Url:远程url

         * 调用示例:

         *          GetRemoteObj o = new GetRemoteObj();

         *          string url = @"http://www.baidu.com";

         *          string s = o.GetRemoteHtmlCode(url);

         *          Response.Write(s);

         *          o.Dispose();

         * ********************************/

        /// 

        /// 获取远程文件源代码

        /// 

        /// 远程url

        /// 

        public string GetRemoteHtmlCode(string Url)

        {

            string s = "";

            MSXML2.XMLHTTP _xmlhttp = new MSXML2.XMLHTTP();

            _xmlhttp.open("GET", Url, false, null, null);

            _xmlhttp.send("");

            if (_xmlhttp.readyState == 4)

            {

                s = System.Text.Encoding.Default.GetString((byte[])_xmlhttp.responseBody);

            }

            return s;

        }

 

        #endregion

 

        #region 保存远程文件

        /**********************************

         * 函数名称:RemoteSave

         * 功能说明:保存远程文件

         * 参    数:Url:远程url;Path:保存到的路径

         * 调用示例:

         *          GetRemoteObj o = new GetRemoteObj();

         *          string s = "";

         *          string url = @"http://www.baidu.com/img/logo.gif";

         *          string path =Server.MapPath("Html/");

         *          s = o.RemoteSave(url,path);

         *          Response.Write(s);

         *          o.Dispose();          

         * ******************************/

        /// 

        /// 保存远程文件

        /// 

        /// 远程url

        /// 保存到的路径

        /// 

        public string RemoteSave(string Url, string Path)

        {

            Random ra = new Random();

            string StringFileName = DateTime.Now.ToString("yyyyMMddHHmmssffff") + "." + GetFileExtends(Url);

            string StringFilePath = Path + StringFileName;

            MSXML2.XMLHTTP _xmlhttp = new MSXML2.XMLHTTP();

            _xmlhttp.open("GET", Url, false, null, null);

            _xmlhttp.send("");

            if (_xmlhttp.readyState == 4)

            {

                if (System.IO.File.Exists(StringFilePath))

                    System.IO.File.Delete(StringFilePath);

                System.IO.FileStream fs = new System.IO.FileStream(StringFilePath, System.IO.FileMode.CreateNew);

                System.IO.BinaryWriter w = new System.IO.BinaryWriter(fs);

                w.Write((byte[])_xmlhttp.responseBody);

                w.Close();

                fs.Close();

            }

            else

                throw new Exception(_xmlhttp.statusText);

            return StringFileName;

        }

        #endregion

 

        #region 替换网页中的换行和引号

        /// 

        /// 替换网页中的换行和引号

        /// 

        /// HTML源代码

        /// 

        public string ReplaceEnter(string HtmlCode)

        {

            string s = "";

            if (HtmlCode == null || HtmlCode == "")

                s = "";

            else

                s = HtmlCode.Replace("\"", "");

            s = s.Replace("\r\n", "");

            return s;

        }

 

        #endregion

 

        #region 替换HTML标签

        /// 

        /// 替换HTML标签

        /// 

        /// html源代码

        /// 

        public string RemoveHTML(string HtmlCode)

        {

            string MatchVale = HtmlCode;

            foreach (Match s in Regex.Matches(HtmlCode, "<.+?>"))

            {

                MatchVale = MatchVale.Replace(s.Value, "");

            }

            return MatchVale;

        }

 

        #endregion

 

        #region 匹配页面的链接

        /// 

        /// 获取页面的链接正则

        /// 

        /// 

        /// 

        public List GetHref(string HtmlCode)

        {

            List list = new List();

            string Reg = @"(h|H)(r|R)(e|E)(f|F) *= *('|"")?((\w|\\|\/|\.|:|-|_)+)('|""| *|>)?";

            foreach (Match m in Regex.Matches(HtmlCode, Reg))

            {

                list.Add((m.Value).ToLower().Replace("href=", "").Trim());

            }

            return list;

        }

        #endregion

 

        #region 匹配页面的图片地址

        /// 

        /// 匹配页面的图片地址

        /// 

        /// 

        /// 要补充的http://路径信息

        /// 

        public string GetImgSrc(string HtmlCode, string imgHttp)

        {

            string MatchVale = "";

            string Reg = @"";

            foreach (Match m in Regex.Matches(HtmlCode, Reg))

            {

                MatchVale += GetImg((m.Value).ToLower().Trim(), imgHttp) + "||";

            }

            return MatchVale;

        }

 

        /// 

        /// 匹配中的图片路径实际链接

        /// 

        /// 字符串

        /// 

        public string GetImg(string ImgString, string imgHttp)

        {

            string MatchVale = "";

            string Reg = @"src=.+\.(bmp|jpg|gif|png|)";

            foreach (Match m in Regex.Matches(ImgString.ToLower(), Reg))

            {

                MatchVale += (m.Value).ToLower().Trim().Replace("src=", "");

            }

            return (imgHttp + MatchVale);

        }

 

        #endregion

 

        #region 获得指定Html代码中所有超级连接的标题和连接地址

        /// 

        /// 获得指定Html代码中所有超级连接的标题和连接地址:测试有效 反回Dictionary   key-标题  value-地址

        /// 

        /// 需要匹配出超级连接的HTML代码

        /// 

        public Dictionary GetCodeHref(string HtmlCode)

        {

            Dictionary dic = new Dictionary();

            //匹配指定HTML代码中所有的超级连接中的href 和超连接文字内容的正则 有时候需要根据实际情况做小调整如果标题中间有文字的话

            string regex = @"\[^""]*)""|'(?[^']*)'|(?[^\>^\s]+)).*\>(?[^\<^\>]*)\<[^\</a\>]*/a\>";

            Regex reg1 = new Regex(regex, RegexOptions.IgnoreCase);//创建正则表达式对象

            MatchCollection ms1 = reg1.Matches(HtmlCode);//根据正则表达式匹配出所有匹配项返匹配集合

            foreach (Match m1 in ms1)//迭代集合获得每个匹配项

            {

                dic.Add(m1.Groups["title"].Value, m1.Groups["url"].Value);

            }

            return dic;

        }

        #endregion

 

        #region 正则获得字符串中开始和结束字符串之间的值

        /// <summary>

        /// 正则获得字符串中开始和结束字符串之间的值

        /// </summary>

        /// <param name="str">字符串</param>

        /// <param name="s">开始</param>

        /// <param name="e">结束</param>

        /// <returns></returns>

        public string GetRegValue(string str, string s, string e)

        {

            Regex rg = new Regex("(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))", RegexOptions.Multiline | RegexOptions.Singleline);

            return rg.Match(str).Value;

        }

 

        /// <summary>

        /// 正则获得字符串中开始和结束字符串之间的值

        /// </summary>

        /// <param name="str">字符串</param>

        /// <param name="s">开始</param>

        /// <param name="e">结束</param>

        /// <returns></returns>

        public List<string> GetRegValueArr(string str, string s, string e)

        {

            Match m;

            List<string> list = new List<string>();

            Regex rg = new Regex("(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))", RegexOptions.Multiline | RegexOptions.Singleline);

            for (m = rg.Match(str); m.Success; m = m.NextMatch())

            {

                list.Add(m.Groups[0].Value);

            }

            return list;

        }

        #endregion

 

        #region 替换通过正则获取字符串所带的正则首尾匹配字符串

        public string RegReplace(string RegValue, string regStart, string regEnd)

        {

            string s = RegValue;

            if (RegValue != "" && RegValue != null)

            {

                if (regStart != "" && regStart != null)

                {

                    s = s.Replace(regStart, "");

                }

                if (regEnd != "" && regEnd != null)

                {

                    s = s.Replace(regEnd, "");

                }

            }

            return s;

        }

        #endregion

    }

}

 </code></pre> 
  <p> </p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1297031041395007488"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(C#)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1835506236842405888.htm"
                           title="C#中使用split分割字符串" target="_blank">C#中使用split分割字符串</a>
                        <span class="text-muted">互联网打工人no1</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a>
                        <div>1、用字符串分隔:usingSystem.Text.RegularExpressions;stringstr="aaajsbbbjsccc";string[]sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);foreach(stringiinsArray)Response.Write(i.ToString()+"");输出结果:aaabbbc</div>
                    </li>
                    <li><a href="/article/1835471059135066112.htm"
                           title="你可能遗漏的一些C#/.NET/.NET Core知识点" target="_blank">你可能遗漏的一些C#/.NET/.NET Core知识点</a>
                        <span class="text-muted">追逐时光者</span>
<a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/.NET/1.htm">.NET</a><a class="tag" taget="_blank" href="/search/DotNetGuide%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97/1.htm">DotNetGuide编程指南</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/.netcore/1.htm">.netcore</a><a class="tag" taget="_blank" href="/search/microsoft/1.htm">microsoft</a>
                        <div>前言在这个快速发展的技术世界中,时常会有一些重要的知识点、信息或细节被忽略或遗漏。《C#/.NET/.NETCore拾遗补漏》专栏我们将探讨一些可能被忽略或遗漏的重要知识点、信息或细节,以帮助大家更全面地了解这些技术栈的特性和发展方向。拾遗补漏GitHub开源地址https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/D</div>
                    </li>
                    <li><a href="/article/1835352556197474304.htm"
                           title="C#动态加载DLL程序集及使用反射创建实例-简记" target="_blank">C#动态加载DLL程序集及使用反射创建实例-简记</a>
                        <span class="text-muted">不全</span>
<a class="tag" taget="_blank" href="/search/C%23%E7%9B%B8%E5%85%B3/1.htm">C#相关</a><a class="tag" taget="_blank" href="/search/Asp.net/1.htm">Asp.net</a><a class="tag" taget="_blank" href="/search/WebForm/1.htm">WebForm</a><a class="tag" taget="_blank" href="/search/Asp.net/1.htm">Asp.net</a><a class="tag" taget="_blank" href="/search/MVC/1.htm">MVC</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/Assembly/1.htm">Assembly</a><a class="tag" taget="_blank" href="/search/%E5%8F%8D%E5%B0%84/1.htm">反射</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E9%9B%86/1.htm">程序集</a>
                        <div>Assembly动态加载程序集:分两种情况:1、需要加载的程序集已经在程序中被引用了,则直接从当前程序域中查找即可:Assemblyassembly=AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(x=>x.GetName().Name.Contains("theAssemblyName"));2、需要加载的程序集未被加载,则使用程序集</div>
                    </li>
                    <li><a href="/article/1835349150519095296.htm"
                           title="开发游戏的学习规划" target="_blank">开发游戏的学习规划</a>
                        <span class="text-muted">杰克逊的日记</span>
<a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                        <div>第一阶段:●C#语言快速系统地学习一遍(基础的语法、面向对象、基础的数据结构、基础的设计模式)●Unity的2D和3D部分及UI、动画、物理系统●阶段性测验:需要去用前面所学的这些基础知识来完成一个简单的2d或者3d的案例,将通过一个自制的《Flappybird》游戏案例讲解游戏开发的思想及方法,并将《Flappybird》这个游戏进一步改造成一个横版射击类游戏《Crazybird》以巩固并且升华</div>
                    </li>
                    <li><a href="/article/1835347637017079808.htm"
                           title="python可以制作大型游戏_python能做游戏吗-python能开发游戏吗" target="_blank">python可以制作大型游戏_python能做游戏吗-python能开发游戏吗</a>
                        <span class="text-muted">靖dede</span>
<a class="tag" taget="_blank" href="/search/python%E5%8F%AF%E4%BB%A5%E5%88%B6%E4%BD%9C%E5%A4%A7%E5%9E%8B%E6%B8%B8%E6%88%8F/1.htm">python可以制作大型游戏</a>
                        <div>python可以写游戏,但不适合。下面我们来分析一下具体原因。用锤子能造汽车吗?谁也没法说不能吧?历史上也确实曾经有些汽车,是用锤子造出来的。但一般来说,还是用工业机器人更合适对吗?比较大型的,使用Python的游戏有两个,一个是《EVE》,还有一个是《文明》。但这仅仅是个例,没有广泛意义。一般来说,用来做游戏的语言,有两种。一是C++。。一是C#。。Python理论上,不仅不适合做游戏,而是只要</div>
                    </li>
                    <li><a href="/article/1835305216686256128.htm"
                           title="【C#生态园】深度剖析:C#嵌入式开发工具大揭秘" target="_blank">【C#生态园】深度剖析:C#嵌入式开发工具大揭秘</a>
                        <span class="text-muted">friklogff</span>
<a class="tag" taget="_blank" href="/search/C%23%E7%94%9F%E6%80%81%E5%9B%AD/1.htm">C#生态园</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>C#嵌入式开发:全面了解六大框架与库前言随着物联网和嵌入式系统的快速发展,越来越多的开发者开始关注使用C#语言进行嵌入式开发。本文将介绍几种用于C#的嵌入式开发框架和相关库,以及它们的核心功能、安装配置方法和API概览,帮助读者了解并选择适合自己项目的工具和资源。欢迎订阅专栏:C#生态园文章目录C#嵌入式开发:全面了解六大框架与库前言1.nanoFramework:一个用于C#的嵌入式开发框架1.</div>
                    </li>
                    <li><a href="/article/1835303453203722240.htm"
                           title="Lua 与 C#交互" target="_blank">Lua 与 C#交互</a>
                        <span class="text-muted">z2014z</span>
<a class="tag" taget="_blank" href="/search/lua/1.htm">lua</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>Lua与C#交互前提Lua是一种嵌入式脚本语言,Lua的解释器是用C编写的,因此可以方便的与C/C++进行相互调用。轻量级Lua语言的官方版本只包括一个精简的核心和最基本的库,这使得Lua体积小、启动速度快,也适合嵌入在别的程序里。交互过程C#调用Lua:由C#文件调用Lua解析器底层dll库(由C语言编写),再由dll文件执行相应的Lua文件。Lua调用C#:1、Wrap方式:首先生成C#源文件</div>
                    </li>
                    <li><a href="/article/1835295766747377664.htm"
                           title="C# 开发教程-入门基础" target="_blank">C# 开发教程-入门基础</a>
                        <span class="text-muted">天马3798</span>
<a class="tag" taget="_blank" href="/search/%E6%95%99%E7%A8%8B%E7%B3%BB%E5%88%97%E6%95%B4%E7%90%86/1.htm">教程系列整理</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>1.C#简介、环境,程序结构2.C#基本语法,变量,控制局域,数据类型,类型转换3.C#数组、循环,Linq4.C#类,封装,方法5.C#枚举、字符串6.C#面相对象,继承,封装,多态7.C#特性、属性、反射、索引器8.C#委托,事件,集合,泛型9.C#匿名方法10.C#多线程更多:JQuery开发教程入门基础Vue开发基础入门教程Vue开发高级学习教程</div>
                    </li>
                    <li><a href="/article/1835288207923703808.htm"
                           title="C# 禁止程序重复启动" target="_blank">C# 禁止程序重复启动</a>
                        <span class="text-muted">wiseyao1219</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a>
                        <div>修改:Program.cs[STAThread]staticvoidMain(){Mutexmutex=newMutex(true,"NewGuid123456",outboolisCreatedNew);if(!isCreatedNew){MessageBox.Show(Application.ProductName+"isrunning...");return;}Application.Ena</div>
                    </li>
                    <li><a href="/article/1835275356035182592.htm"
                           title="C#中判断socket是否已断开的方法" target="_blank">C#中判断socket是否已断开的方法</a>
                        <span class="text-muted">wiseyao1219</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a>
                        <div>代码如下:Sockets=newSocket(..);if(s.Poll(-1,SelectMode.SelectRead)){intnRead=s.Receive();if(nRead==0){//socket连接已断开}}参考:C#中判断socket是否已断开的方法</div>
                    </li>
                    <li><a href="/article/1835231486190645248.htm"
                           title="C#文件被占用的解决方案" target="_blank">C#文件被占用的解决方案</a>
                        <span class="text-muted">花北城</span>
<a class="tag" taget="_blank" href="/search/C%23%E9%A1%B9%E7%9B%AE/1.htm">C#项目</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E5%8D%A0%E7%94%A8/1.htm">文件占用</a>
                        <div>问题打更新包时,提示文件被占用。System.IO.IOException:文件“D:\RS\RS_CCVI20111210.exe”正由另一进程使用,因此该进程无法访问该文件。在System.IO.__Error.WinIOError(Int32errorCode,StringmaybeFullPath)在System.IO.FileStream.Init(Stringpath,FileMode</div>
                    </li>
                    <li><a href="/article/1835210183991717888.htm"
                           title="C#实现软件自动升级" target="_blank">C#实现软件自动升级</a>
                        <span class="text-muted">BruceEditCode</span>

                        <div>winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,本文结合实际情况,通过软件实现自动升级,弥补了这一缺陷,有较好的参考价值。由于程序在运行时不能用新的版本覆盖自己,因此,我们将登录窗口单独做成一个可执行文件,用户登录时,从网上检测是否有新的主程序,如果有,则从后台下载并覆盖老的版本,用户输入正确的用户名和密码后,通过参数将必要的信息(如用</div>
                    </li>
                    <li><a href="/article/1835209301472407552.htm"
                           title="C# 自动化" target="_blank">C# 自动化</a>
                        <span class="text-muted">TineAine</span>
<a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81%E7%89%87%E6%AE%B5/1.htm">代码片段</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E6%A8%A1%E6%8B%9F%E6%93%8D%E4%BD%9C/1.htm">模拟操作</a>
                        <div>实现的方法可能很笨,但是确实很好用usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Runtime.InteropServices;usingSystem.Text;usingSystem.Threading;usingSystem.Threading.Tasks;/******************</div>
                    </li>
                    <li><a href="/article/1835137152187461632.htm"
                           title="技术周总结 09.09~09.15周日(C# WinForm WPF)" target="_blank">技术周总结 09.09~09.15周日(C# WinForm WPF)</a>
                        <span class="text-muted">打破砂锅问到底007</span>
<a class="tag" taget="_blank" href="/search/wpf/1.htm">wpf</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/WinForm/1.htm">WinForm</a>
                        <div>文章目录一、09.09周一1.1)问题01:Windows桌面开发中,WPF和WinForm的区别和联系?联系:区别:二、09.12周四2.1)问题01:visualstudio的相关快捷键有哪些?通用快捷键编辑导航调试窗口管理2.2)问题02:publicpartialclassChoosePLReason:CommonBaseForm2.3)问题03:介绍WindowsForms中的Syste</div>
                    </li>
                    <li><a href="/article/1835117601345335296.htm"
                           title="通过C# 裁剪PDF页面" target="_blank">通过C# 裁剪PDF页面</a>
                        <span class="text-muted">Eiceblue</span>
<a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/.NET/1.htm">.NET</a><a class="tag" taget="_blank" href="/search/PDF/1.htm">PDF</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/pdf/1.htm">pdf</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/visual/1.htm">visual</a><a class="tag" taget="_blank" href="/search/studio/1.htm">studio</a>
                        <div>在处理PDF文档时,有时需要精确地裁剪页面以适应特定需求,比如去除广告、背景信息或者仅仅是为了简化文档内容。本文将指导如何使用免费.NET控件通过C#实现裁剪PDF页面。免费库FreeSpire.PDFfor.NET支持在.NET(C#,VB.NET,ASP.NET,.NETCore)程序中实现创建、操作、转换和打印PDF文档等操作。可以从以下链接下载产品包后手动添加引用,或者直接通过NuGet安</div>
                    </li>
                    <li><a href="/article/1835057092260622336.htm"
                           title="【Unity基础】如何选择脚本编译方式Mono和IL2CPP?" target="_blank">【Unity基础】如何选择脚本编译方式Mono和IL2CPP?</a>
                        <span class="text-muted">tealcwu</span>
<a class="tag" taget="_blank" href="/search/Unity%E5%9F%BA%E7%A1%80/1.htm">Unity基础</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a>
                        <div>Edit->ProjectSettings->Player在Unity中,ScriptingBackend决定了项目的脚本编译方式,即如何将C#代码转换为可执行代码。Unity提供了两种主要的ScriptingBackend选项:Mono和IL2CPP。它们之间的区别影响了项目的性能、平台支持、编译时间和调试体验。以下是两者的详细对比:1.Mono简介:Mono是Unity最早使用的脚本后端,基于</div>
                    </li>
                    <li><a href="/article/1835051793449578496.htm"
                           title="C# Tuple、ValueTuple" target="_blank">C# Tuple、ValueTuple</a>
                        <span class="text-muted">語衣</span>
<a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/%E7%9F%A5%E8%AF%86%E8%A1%A5%E5%85%85/1.htm">知识补充</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a>
                        <div>栏目总目录TupleTuple是C#4.0引入的一个新特性,主要用于存储一个固定数量的元素序列,且这些元素可以具有不同的类型。Tuple是一种轻量级的数据结构,非常适合用于临时存储数据,而无需定义完整的类或结构体。优点简便性:可以快速创建一个包含多个不同类型数据的对象,而无需定义新的类或结构体。灵活性:元素数量和类型在编译时确定,但可以在不同上下文中重复使用不同元素的Tuple。缺点性能:作为引用</div>
                    </li>
                    <li><a href="/article/1834933913856864256.htm"
                           title="C# Linq语句用法大全以及Lambda表达式" target="_blank">C# Linq语句用法大全以及Lambda表达式</a>
                        <span class="text-muted">一个小码码</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/linq/1.htm">linq</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a>
                        <div>C#Linq语句用法大全以及Lambda表达式Linq:是一种用于数据查询和操作的语言集成查询(LanguageIntegratedQuery)技术。通过Linq,我们可以使用类似于SQL查询的方式来查询、筛选和操作各种类型的数据集合,包括数组、列表、集合、XML文档、数据库表等等。常见的有:LinqtoObjects:用于操作对象集合,例如数组、列表等。LinqtoXML:用于操作XML数据,支</div>
                    </li>
                    <li><a href="/article/1834931138385244160.htm"
                           title="C#中的LInq语句" target="_blank">C#中的LInq语句</a>
                        <span class="text-muted">weixin_30588907</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>语言集成查询(LINQ)是一组技术的名称,这些技术建立在将查询功能直接集成到C#语言(以及VisualBasic和可能的任何其他.NET语言)的基础上。借助于LINQ,查询现在已是高级语言构造,就如同类、方法、事件等等。对于编写查询的开发人员来说,LINQ最明显的“语言集成”部分是查询表达式。查询表达式是使用C#3.0中引入的声明性查询语法编写的。通过使用查询语法,您甚至可以使用最少的代码对数据源</div>
                    </li>
                    <li><a href="/article/1834923946097602560.htm"
                           title="C#的linq语句" target="_blank">C#的linq语句</a>
                        <span class="text-muted">木生火18624</span>
<a class="tag" taget="_blank" href="/search/C%23%E5%BC%80%E5%8F%91/1.htm">C#开发</a>
                        <div>/查询表达式必须以form子句开头,以select或者group子句结束,在这两个子句之间,可以使用///where、orderby、join、let和其他的from子句本章要点用列表在对象上执行传统查询扩展方法LINQ查询操作符平行LNQ表达式树本章源代码下载地址(wrox.com)打开网页www.wrox.com/go/procsharp,单击DownloadCode选项卡即可下载本章源代码。</div>
                    </li>
                    <li><a href="/article/1834922812595335168.htm"
                           title="C# 多线程操作同一个文件,如何避免冲突" target="_blank">C# 多线程操作同一个文件,如何避免冲突</a>
                        <span class="text-muted">FlYFlOWERANDLEAF</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>1使用lock经测试,依然存在线程冲突privatestaticobjectlocker=newobject();……lock(locker){stringbText=File.ReadAllText(FPath);returnbText;}……lock(locker){File.WriteAllText(FPath,aContent);}2使用ReaderWriterLockSlim经测试,依然</div>
                    </li>
                    <li><a href="/article/1834911090987855872.htm"
                           title="C#LINQ常用扩展语句" target="_blank">C#LINQ常用扩展语句</a>
                        <span class="text-muted">月落.</span>
<a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/linq/1.htm">linq</a><a class="tag" taget="_blank" href="/search/solr/1.htm">solr</a>
                        <div>在C#中,LINQ提供了许多扩展方法,这些方法定义在System.Linq命名空间中。以下是一些常用的LINQ扩展方法:Where-过滤数据集合,返回满足条件的元素。varfilteredItems=collection.Where(item=>item.SomeProperty>10);Select-从数据集合中选择数据或创建新的投影。varprojectedItems=collection.S</div>
                    </li>
                    <li><a href="/article/1834859789155397632.htm"
                           title="source insight4.0中文乱码解决方法" target="_blank">source insight4.0中文乱码解决方法</a>
                        <span class="text-muted">鹿屿二向箔</span>
<a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</a><a class="tag" taget="_blank" href="/search/keil/1.htm">keil</a><a class="tag" taget="_blank" href="/search/mdk/1.htm">mdk</a>
                        <div>Sourceinsight是强大、顺手的代码编辑器,它几乎支持所有的语言,包括:C,C++,C#,HTML等等,能够自动创建并维护它自己高性能的符号数据库,包括函数、全局变量、结构、类和工程源文件里定义的其它类型的符号,对于大工程的源码阅读非常方便。但是因为是国外软件,对中文支持不是很好,很多电脑安装使用都会出现注释乱码问题,很让人抓狂。网上很多人遇到类似的问题,也有很多解决方式,也有很多“终极解</div>
                    </li>
                    <li><a href="/article/1834786550047666176.htm"
                           title="C#基础知识-.NET,变量,容量单位,数据类型" target="_blank">C#基础知识-.NET,变量,容量单位,数据类型</a>
                        <span class="text-muted">yi碗汤园</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>目录1.NET简介2.变量1)定义2)声明3)赋值3.容量单位4.数据类型1)整形(整数)2)非整型(小数)3)非数值型本篇文章来分享一下C#的基础知识,主要讲述一下变量和数据类型的相关知识。1.NET简介.NETdonet是Microsoft新一代多语言的开发平台,用于构建和运行应用程序。Unity借助Mono实现跨平台,核心是.NETFramework框架。2.变量1)什么是变量变量是用来存储</div>
                    </li>
                    <li><a href="/article/1834760963690164224.htm"
                           title="C# 在WPF中实现图表生成" target="_blank">C# 在WPF中实现图表生成</a>
                        <span class="text-muted">A_nanda</span>
<a class="tag" taget="_blank" href="/search/WPF%E8%B5%8F%E6%9E%90/1.htm">WPF赏析</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/wpf/1.htm">wpf</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>在现代应用程序中,数据可视化是一个重要的功能,它可以帮助用户更直观地理解数据。在C#WPF(WindowsPresentationFoundation)中,有多种方式可以生成图表。以下是五种常见的方法,每种方法都有其独特的优势和局限。1.使用System.Windows.Shapes命名空间代码示例:<RectangleWidth="50"Height="50"Fill="Blue"Canva</div>
                    </li>
                    <li><a href="/article/1834735120645451776.htm"
                           title="C#中关闭窗口清除内容" target="_blank">C#中关闭窗口清除内容</a>
                        <span class="text-muted">Vae_Mars</span>
<a class="tag" taget="_blank" href="/search/AI%E5%AF%B9%E8%AF%9D%E4%B8%AD%E7%9A%84%E5%85%B6%E4%BB%96%E7%9F%A5%E8%AF%86/1.htm">AI对话中的其他知识</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>1.解释说明-窗口关闭时是可以执行函数的,可以做一部分事件处理-因为删除文件夹的方案不好做,所以改成清空文件夹内的内容2.程序示例publicMainWindow(){InitializeComponent();//检查窗口关闭this.Closing+=MainWindow_Closing;}//执行具体的方法privatevoidMainWindow_Closing(objectsender,</div>
                    </li>
                    <li><a href="/article/1834721624809631744.htm"
                           title="C#中Invoke的用法()" target="_blank">C#中Invoke的用法()</a>
                        <span class="text-muted">世界太过浮夸</span>
<a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a>
                        <div>转自:http://www.cnblogs.com/lsgsanxiao/p/5523282.htmlinvoke和begininvoke区别一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。首先说下,invoke和begininvoke的使用有两种情况:control中的invoke、begininvoke。delegra</div>
                    </li>
                    <li><a href="/article/1834716705641820160.htm"
                           title=".NET常见面试题汇总" target="_blank">.NET常见面试题汇总</a>
                        <span class="text-muted">.Net Core 爱好者</span>
<a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a>
                        <div>首先,汇总一共分为三部分:一是关于.NET技术的面试问题,二是关于.NET项目中的实际问题,三是历年出现过一些面试题汇总一、.NET技术面试问题请简述.NET中的装箱和拆箱。什么是泛型,以及它在.NET中的用途?请解释一下C#中的委托是什么,以及它们如何工作?什么是事件,如何使用它们?请解释一下C#中的特性(Attributes)及其应用场景。.NET中的异步编程模式有哪些?什么是LINQ,它在.</div>
                    </li>
                    <li><a href="/article/1834716450888183808.htm"
                           title="c# net8调用vc写的dll" target="_blank">c# net8调用vc写的dll</a>
                        <span class="text-muted">wiseyao1219</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/dll/1.htm">dll</a>
                        <div>dll程序(vc,x86)头文件extern"C"int__declspec(dllexport)WINAPIadd(inta,intb);实现intWINAPIadd(inta,intb){returna+b;}c#/net8函数声明:[DllImport("dll/Dll1.dll",CallingConvention=CallingConvention.StdCall)]publicstat</div>
                    </li>
                    <li><a href="/article/1834716451433443328.htm"
                           title="c# json使用" target="_blank">c# json使用</a>
                        <span class="text-muted">wiseyao1219</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>安装包用NuGet安装包:Newtonsoft.Json对象转为Json字符串publicclassPerson{publicstringName{get;set;}publicintAge{get;set;}}Personperson=newPerson{Name="JohnDoe",Age=30};stringjson2=JsonConvert.SerializeObject(person);</div>
                    </li>
                                <li><a href="/article/28.htm"
                                       title="如何用ruby来写hadoop的mapreduce并生成jar包" target="_blank">如何用ruby来写hadoop的mapreduce并生成jar包</a>
                                    <span class="text-muted">wudixiaotie</span>
<a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a>
                                    <div>ruby来写hadoop的mapreduce,我用的方法是rubydoop。怎么配置环境呢: 
1.安装rvm: 
    不说了 网上有 
2.安装ruby: 
    由于我以前是做ruby的,所以习惯性的先安装了ruby,起码调试起来比jruby快多了。 
3.安装jruby: 
    rvm install jruby然后等待安</div>
                                </li>
                                <li><a href="/article/155.htm"
                                       title="java编程思想 -- 访问控制权限" target="_blank">java编程思想 -- 访问控制权限</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6%E6%9D%83%E9%99%90/1.htm">访问控制权限</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a>
                                    <div>访问权限是java中一个比较中要的知识点,它规定者什么方法可以访问,什么不可以访问 
  
一:包访问权限; 
  
自定义包: 
package com.wj.control;
//包
public class Demo {
  //定义一个无参的方法
	public void DemoPackage(){
		System.out.println("调用</div>
                                </li>
                                <li><a href="/article/282.htm"
                                       title="[生物与医学]请审慎食用小龙虾" target="_blank">[生物与医学]请审慎食用小龙虾</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9/1.htm">生物</a>
                                    <div> 
     现在的餐馆里面出售的小龙虾,有一些是在野外捕捉的,这些小龙虾身体里面可能带有某些病毒和细菌,人食用以后可能会导致一些疾病,严重的甚至会死亡..... 
 
     所以,参加聚餐的时候,最好不要点小龙虾...就吃养殖的猪肉,牛肉,羊肉和鱼,等动物蛋白质 
    </div>
                                </li>
                                <li><a href="/article/409.htm"
                                       title="org.apache.jasper.JasperException: Unable to compile class for JSP:" target="_blank">org.apache.jasper.JasperException: Unable to compile class for JSP:</a>
                                    <span class="text-muted">商人shang</span>
<a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/2.2/1.htm">2.2</a><a class="tag" taget="_blank" href="/search/jdk1.8/1.htm">jdk1.8</a>
                                    <div>环境: jdk1.8    maven  tomcat7-maven-plugin  2.0 
原因: tomcat7-maven-plugin  2.0 不知吃 jdk 1.8,换成 tomcat7-maven-plugin  2.2就行,即 
  
  
<plugin>
				</div>
                                </li>
                                <li><a href="/article/536.htm"
                                       title="你的垃圾你处理掉了吗?GC" target="_blank">你的垃圾你处理掉了吗?GC</a>
                                    <span class="text-muted">oloz</span>
<a class="tag" taget="_blank" href="/search/GC/1.htm">GC</a>
                                    <div>前序:本人菜鸟,此文研究学习来自网络,各位牛牛多指教  
 
 
 
1.垃圾收集算法的核心思想 
  Java语言建立了垃圾收集机制,用以跟踪正在使用的对象和发现并回收不再使用(引用)的对象。该机制可以有效防范动态内存分配中可能发生的两个危险:因内存垃圾过多而引发的内存耗尽,以及不恰当的内存释放所造成的内存非法引用。 
  垃圾收集算法的核心思想是:对虚拟机可用内存空间,即堆空间中的对象进行识别</div>
                                </li>
                                <li><a href="/article/663.htm"
                                       title="shiro 和 SESSSION" target="_blank">shiro 和 SESSSION</a>
                                    <span class="text-muted">杨白白</span>
<a class="tag" taget="_blank" href="/search/shiro/1.htm">shiro</a>
                                    <div>shiro 在web项目里默认使用的是web容器提供的session,也就是说shiro使用的session是web容器产生的,并不是自己产生的,在用于非web环境时可用其他来源代替。在web工程启动的时候它就和容器绑定在了一起,这是通过web.xml里面的shiroFilter实现的。通过session.getSession()方法会在浏览器cokkice产生JESSIONID,当关闭浏览器,此</div>
                                </li>
                                <li><a href="/article/790.htm"
                                       title="移动互联网终端 淘宝客如何实现盈利" target="_blank">移动互联网终端 淘宝客如何实现盈利</a>
                                    <span class="text-muted">小桔子</span>
<a class="tag" taget="_blank" href="/search/%E7%A7%BB%E5%8B%95%E5%AE%A2%E6%88%B6%E7%AB%AF/1.htm">移動客戶端</a><a class="tag" taget="_blank" href="/search/%E6%B7%98%E5%AE%A2/1.htm">淘客</a><a class="tag" taget="_blank" href="/search/%E6%B7%98%E5%AF%B6App/1.htm">淘寶App</a>
                                    <div>       2012年淘宝联盟平台为站长和淘宝客带来的分成收入突破30亿元,同比增长100%。而来自移动端的分成达1亿元,其中美丽说、蘑菇街、果库、口袋购物等App运营商分成近5000万元。 可以看出,虽然目前阶段PC端对于淘客而言仍旧是盈利的大头,但移动端已经呈现出爆发之势。而且这个势头将随着智能终端(手机,平板)的加速普及而更加迅猛</div>
                                </li>
                                <li><a href="/article/917.htm"
                                       title="wordpress小工具制作" target="_blank">wordpress小工具制作</a>
                                    <span class="text-muted">aichenglong</span>
<a class="tag" taget="_blank" href="/search/wordpress/1.htm">wordpress</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E5%B7%A5%E5%85%B7/1.htm">小工具</a>
                                    <div>wordpress 使用侧边栏的小工具,很方便调整页面结构 
小工具的制作过程 
1 在自己的主题文件中新建一个文件夹(如widget),在文件夹中创建一个php(AWP_posts-category.php) 
小工具是一个类,想侧边栏一样,还得使用代码注册,他才可以再后台使用,基本的代码一层不变 
<?php 
 class AWP_Post_Category extends WP_Wi</div>
                                </li>
                                <li><a href="/article/1044.htm"
                                       title="JS微信分享" target="_blank">JS微信分享</a>
                                    <span class="text-muted">AILIKES</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a>
                                    <div>// 所有功能必须包含在 WeixinApi.ready 中进行 
   WeixinApi.ready(function(Api) { 
       // 微信分享的数据 
           var wxData = { 
      &nb</div>
                                </li>
                                <li><a href="/article/1171.htm"
                                       title="封装探讨" target="_blank">封装探讨</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/JAVA%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1+%E5%B0%81%E8%A3%85/1.htm">JAVA面向对象 封装</a>
                                    <div>//封装   属性 方法 将某些东西包装在一起,通过创建对象或使用静态的方法来调用,称为封装;封装其实就是有选择性地公开或隐藏某些信息,它解决了数据的安全性问题,增加代码的可读性和可维护性 
  
在 Aname类中申明三个属性,将其封装在一个类中:通过对象来调用 
  
例如   1: 
	//属性 将其设为私有
	姓名 name 可以公开
</div>
                                </li>
                                <li><a href="/article/1298.htm"
                                       title="jquery radio/checkbox change事件不能触发的问题" target="_blank">jquery radio/checkbox change事件不能触发的问题</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a>
                                    <div>我想让radio来控制当前我选择的是机动车还是特种车,如下所示:  
<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"><</div>
                                </li>
                                <li><a href="/article/1425.htm"
                                       title="AngularJS中安全性措施" target="_blank">AngularJS中安全性措施</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%80%A7/1.htm">安全性</a><a class="tag" taget="_blank" href="/search/XSRF/1.htm">XSRF</a><a class="tag" taget="_blank" href="/search/JSON%E6%BC%8F%E6%B4%9E/1.htm">JSON漏洞</a>
                                    <div>        在使用web应用中,安全性是应该首要考虑的一个问题。AngularJS提供了一些辅助机制,用来防护来自两个常见攻击方向的网络攻击。 
一.JSON漏洞 
        当使用一个GET请求获取JSON数组信息的时候(尤其是当这一信息非常敏感,</div>
                                </li>
                                <li><a href="/article/1552.htm"
                                       title="[Maven学习笔记九]Maven发布web项目" target="_blank">[Maven学习笔记九]Maven发布web项目</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a>
                                    <div>基于Maven的web项目的标准项目结构 
user-project 
    user-core 
    user-service 
    user-web 
       src 
     </div>
                                </li>
                                <li><a href="/article/1679.htm"
                                       title="【Hive七】Hive用户自定义聚合函数(UDAF)" target="_blank">【Hive七】Hive用户自定义聚合函数(UDAF)</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a>
                                    <div>用户自定义聚合函数,用户提供的多个入参通过聚合计算(求和、求最大值、求最小值)得到一个聚合计算结果的函数。 
问题:UDF也可以提供输入多个参数然后输出一个结果的运算,比如加法运算add(3,5),add这个UDF需要实现UDF的evaluate方法,那么UDF和UDAF的实质分别究竟是什么? 
  
Double evaluate(Double a, Double b) 
 </div>
                                </li>
                                <li><a href="/article/1806.htm"
                                       title="通过 nginx-lua 给 Nginx 增加 OAuth 支持" target="_blank">通过 nginx-lua 给 Nginx 增加 OAuth 支持</a>
                                    <span class="text-muted">ronin47</span>

                                    <div>前言:我们使用Nginx的Lua中间件建立了OAuth2认证和授权层。如果你也有此打算,阅读下面的文档,实现自动化并获得收益。SeatGeek 在过去几年中取得了发展,我们已经积累了不少针对各种任务的不同管理接口。我们通常为新的展示需求创建新模块,比如我们自己的博客、图表等。我们还定期开发内部工具来处理诸如部署、可视化操作及事件处理等事务。在处理这些事务中,我们使用了几个不同的接口来认证: 
&n</div>
                                </li>
                                <li><a href="/article/1933.htm"
                                       title="利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法" target="_blank">利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法</a>
                                    <span class="text-muted">bsr1983</span>
<a class="tag" taget="_blank" href="/search/session/1.htm">session</a>
                                    <div>在利用tomcat-redis-session-manager做session同步时,遇到了在session保存一个自定义对象时,修改该对象中的某个属性,session未进行序列化,属性没有被存储到redis中。   在 tomcat-redis-session-manager的github上有如下说明:   Session Change Tracking 
As noted in the &qu</div>
                                </li>
                                <li><a href="/article/2060.htm"
                                       title="《代码大全》表驱动法-Table Driven Approach-1" target="_blank">《代码大全》表驱动法-Table Driven Approach-1</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                                    <div>关于Table Driven Approach的一篇非常好的文章: 
 
http://www.codeproject.com/Articles/42732/Table-driven-Approach 
 
 
package com.ljn.base;

import java.util.Random;

public class TableDriven {

    public </div>
                                </li>
                                <li><a href="/article/2187.htm"
                                       title="Sybase封锁原理" target="_blank">Sybase封锁原理</a>
                                    <span class="text-muted">chicony</span>
<a class="tag" taget="_blank" href="/search/Sybase/1.htm">Sybase</a>
                                    <div>       昨天在操作Sybase IQ12.7时意外操作造成了数据库表锁定,不能删除被锁定表数据也不能往其中写入数据。由于着急往该表抽入数据,因此立马着手解决该表的解锁问题。     无奈此前没有接触过Sybase IQ12.7这套数据库产品,加之当时已属于下班时间无法求助于支持人员支持,因此只有借助搜索引擎强大的</div>
                                </li>
                                <li><a href="/article/2314.htm"
                                       title="java异常处理机制" target="_blank">java异常处理机制</a>
                                    <span class="text-muted">CrazyMizzz</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>java异常关键字有以下几个,分别为 try catch final throw throws 
他们的定义分别为 
try:    Opening exception-handling statement. 
catch:  Captures the exception. 
finally: Runs its code before terminating</div>
                                </li>
                                <li><a href="/article/2441.htm"
                                       title="hive 数据插入DML语法汇总" target="_blank">hive 数据插入DML语法汇总</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/DML/1.htm">DML</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8F%92%E5%85%A5/1.htm">数据插入</a>
                                    <div>Hive的数据插入DML语法汇总1、Loading files into tables语法:1) LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]解释:1)、上面命令执行环境为hive客户端环境下: hive>l</div>
                                </li>
                                <li><a href="/article/2568.htm"
                                       title="工厂设计模式" target="_blank">工厂设计模式</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>  使用设计模式是促进最佳实践和良好设计的好办法。设计模式可以提供针对常见的编程问题的灵活的解决方案。  工厂模式 
工厂模式(Factory)允许你在代码执行时实例化对象。它之所以被称为工厂模式是因为它负责“生产”对象。工厂方法的参数是你要生成的对象对应的类名称。  
Example #1 调用工厂方法(带参数)   
<?phpclass Example{ </div>
                                </li>
                                <li><a href="/article/2695.htm"
                                       title="mysql字符串查找函数" target="_blank">mysql字符串查找函数</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>  
FIND_IN_SET(str,strlist) 
假如字符串str 在由N 子链组成的字符串列表strlist 中,则返回值的范围在1到 N 之间。一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则   FIND_IN_SET() 函数被优化,使用比特计算。如果str不在strlist 或st</div>
                                </li>
                                <li><a href="/article/2822.htm"
                                       title="jvm内存管理" target="_blank">jvm内存管理</a>
                                    <span class="text-muted">easterfly</span>
<a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a>
                                    <div>一、JVM堆内存的划分 
 分为年轻代和年老代。年轻代又分为三部分:一个eden,两个survivor。 
 工作过程是这样的:e区空间满了后,执行minor gc,存活下来的对象放入s0, 对s0仍会进行minor gc,存活下来的的对象放入s1中,对s1同样执行minor gc,依旧存活的对象就放入年老代中; 
 年老代满了之后会执行major gc,这个是stop the word模式,执行</div>
                                </li>
                                <li><a href="/article/2949.htm"
                                       title="CentOS-6.3安装配置JDK-8" target="_blank">CentOS-6.3安装配置JDK-8</a>
                                    <span class="text-muted">gengzg</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a>
                                    <div>JAVA_HOME=/usr/java/jdk1.8.0_45
JRE_HOME=/usr/java/jdk1.8.0_45/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME</div>
                                </li>
                                <li><a href="/article/3076.htm"
                                       title="【转】关于web路径的获取方法" target="_blank">【转】关于web路径的获取方法</a>
                                    <span class="text-muted">huangyc1210</span>
<a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E8%B7%AF%E5%BE%84/1.htm">路径</a>
                                    <div>假定你的web application 名称为news,你在浏览器中输入请求路径:  http://localhost:8080/news/main/list.jsp  则执行下面向行代码后打印出如下结果:  1、 System.out.println(request.getContextPath()); //可返回站点的根路径。也就是项</div>
                                </li>
                                <li><a href="/article/3203.htm"
                                       title="php里获取第一个中文首字母并排序" target="_blank">php里获取第一个中文首字母并排序</a>
                                    <span class="text-muted">远去的渡口</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a>
                                    <div>很久没来更新博客了,还是觉得工作需要多总结的好。今天来更新一个自己认为比较有成就的问题吧。 最近在做储值结算,需求里结算首页需要按门店的首字母A-Z排序。我的数据结构原本是这样的: 
Array
(
    [0] => Array
        (
            [sid] => 2885842
            [recetcstoredpay] =&g</div>
                                </li>
                                <li><a href="/article/3330.htm"
                                       title="java内部类" target="_blank">java内部类</a>
                                    <span class="text-muted">hm4123660</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">内部类</a><a class="tag" taget="_blank" href="/search/%E5%8C%BF%E5%90%8D%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">匿名内部类</a><a class="tag" taget="_blank" href="/search/%E6%88%90%E5%91%98%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">成员内部类</a><a class="tag" taget="_blank" href="/search/%E6%96%B9%E6%B3%95%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">方法内部类</a>
                                    <div>      在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。内部类可以间接解决多继承问题,可以使用内部类继承一个类,外部类继承一个类,实现多继承。 
     &nb</div>
                                </li>
                                <li><a href="/article/3457.htm"
                                       title="Caused by: java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.Exten" target="_blank">Caused by: java.lang.IncompatibleClassChangeError: class org.hibernate.cfg.Exten</a>
                                    <span class="text-muted">zhb8015</span>

                                    <div>maven pom.xml关于hibernate的配置和异常信息如下,查了好多资料,问题还是没有解决。只知道是包冲突,就是不知道是哪个包....遇到这个问题的分享下是怎么解决的。。 
  
maven pom: 
  
		<dependency>
			<groupId>org.hibernate</groupId>
			<ar</div>
                                </li>
                                <li><a href="/article/3584.htm"
                                       title="Spark 性能相关参数配置详解-任务调度篇" target="_blank">Spark 性能相关参数配置详解-任务调度篇</a>
                                    <span class="text-muted">Stark_Summer</span>
<a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a><a class="tag" taget="_blank" href="/search/cpu/1.htm">cpu</a><a class="tag" taget="_blank" href="/search/%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6/1.htm">任务调度</a><a class="tag" taget="_blank" href="/search/yarn/1.htm">yarn</a>
                                    <div>随着Spark的逐渐成熟完善, 越来越多的可配置参数被添加到Spark中来, 本文试图通过阐述这其中部分参数的工作原理和配置思路, 和大家一起探讨一下如何根据实际场合对Spark进行配置优化。 
  
由于篇幅较长,所以在这里分篇组织,如果要看最新完整的网页版内容,可以戳这里:http://spark-config.readthedocs.org/,主要是便</div>
                                </li>
                                <li><a href="/article/3711.htm"
                                       title="css3滤镜" target="_blank">css3滤镜</a>
                                    <span class="text-muted">wangkeheng</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>经常看到一些网站的底部有一些灰色的图标,鼠标移入的时候会变亮,开始以为是js操作src或者bg呢,搜索了一下,发现了一个更好的方法:通过css3的滤镜方法。 
 
html代码: 
 
<a href='' class='icon'><img src='utv.jpg' /></a> 
css代码: 
 
.icon{-webkit-filter: graysc</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>