PHPMailer 使用SMTP服务器发送邮件

phpmailer 安装或者下载方式:

1、从 github 上下载: https://github.com/PHPMailer/PHPMailer/

2、使用 composer 安装: 

composer require phpmailer/phpmailer

发送之前需要拥有自己的邮件服务器,测试的时候其实用自己申请的免费邮箱最方便了,不需要自己再搭建服务器了,可能要配置邮箱的SMTP服务,大部分公共邮箱(163、qq等)为了安全默认是关闭的。

网易邮箱配置如下图:

PHPMailer 使用SMTP服务器发送邮件_第1张图片

IMAP是通过本地服务器发送,需要安装邮件服务器,这里不管

我们只采用SMTP服务器. 既远程服务器

一. 开启PHP配置.

   PHPMailer 需要 PHP 的 sockets 扩展支持,而登录 QQ 邮箱 SMTP 服务器则必须通过 SSL 加密的, PHP 还得包含 openssl 的支持。

    PHPMailer 使用SMTP服务器发送邮件_第2张图片

找到php.ini,看  extension=php_sockets.dll 扩展是否打开,将前面的注释; 删去。   

openssl 如果没有开启请打开php.ini文件进行开启,检查php.ini中;extension=php_openssl.dll是否存在.

二. 设置QQ邮箱设置,开启SMTP服务

所有的主流邮箱都支持 SMTP 协议,但并非所有邮箱都默认开启,您可以在邮箱的设置里面手动开启。

第三方服务在提供了账号和密码之后就可以登录 SMTP 服务器,通过它来控制邮件的中转方式。

PHPMailer 使用SMTP服务器发送邮件_第3张图片

SMTP需要邮箱的登录账号和密码, QQ邮箱会生成一个授权码给你作为邮箱临时密码

PHPMailer 使用SMTP服务器发送邮件_第4张图片

三, 下载的PHPMailer 为6.0版,

  • 集成SMTP支持 - 无需本地邮件服务器即可发送
  • 发送包含多个To,CC,BCC和Reply-to地址的电子邮件
  • 不读取HTML电子邮件的邮件客户端的多部分/备用电子邮件
  • 添加附件,包括内联
  • 支持UTF-8内容和8bit,base64,二进制和可引用打印的编码
  • 通过SSL和SMTP + STARTTLS传输使用LOGIN,PLAIN,CRAM-MD5和XOAUTH2机制进行SMTP身份验证
  • 自动验证电子邮件地址
  • 防止标头注入攻击
  • 超过50种语言的错误消息!
  • DKIM和S / MIME签名支持
  • 兼容PHP 5.5及更高版本

下载后文件目录

PHPMailer 使用SMTP服务器发送邮件_第5张图片

使用方法:

// 引入PHPMailer的核心文件
require_once("PHPMailer/src/Exception.php");
require_once("PHPMailer/src/PHPMailer.php");
require_once("PHPMailer/src/SMTP.php");

// 实例化PHPMailer核心类
//$mail = new PHPMailer();
$mail = new \PHPMailer\PHPMailer\PHPMailer();
try { 
// 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 1;
// 使用smtp鉴权方式发送邮件
$mail->isSMTP();
// smtp需要鉴权 这个必须是true
$mail->SMTPAuth = true;
// 链接qq域名邮箱的服务器地址
$mail->Host = 'smtp.qq.com';
// 设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
// 设置ssl连接smtp服务器的远程服务器端口号
$mail->Port = 465;
// 设置发送的邮件的编码
$mail->CharSet = 'UTF-8';
// 设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名
$mail->FromName = '系统管理员';
// smtp登录的账号 QQ邮箱即可
$mail->Username = '[email protected]';
// smtp登录的密码 使用生成的授权码
$mail->Password = 'efclxpjpuyjhbjdg';
// 设置发件人邮箱地址 同登录账号
$mail->From = '[email protected]';
// 邮件正文是否为html编码 注意此处是一个方法
$mail->isHTML(true);
$mail->addReplyTo('[email protected]', 'info'); //回复的时候回复给哪个邮箱 建议和发件人一致
// 设置收件人邮箱地址
$mail->addAddress('[email protected]');
$mail->addAddress('[email protected]');//多个邮箱

// 添加该邮件的主题
$mail->Subject = '标题';
// 添加邮件正文
$mail->Body = '正文美容';
$mail->AltBody = '如果邮件客户端不支持HTML则显示此内容'; 
// 为该邮件添加附件
$mail->addAttachment('./example.pdf');

// 发送邮件 返回状态
$status = $mail->send();
echo '邮件发送成功'; 
} catch (Exception $e) { 
    echo '邮件发送失败: ', $mail->ErrorInfo; 
}

再写一个带邮箱模板的, 模板文件 temp/server_tmp.xml,代码如下



    
    <content value="
	desc {toname} :
{content},
{fromname},
{detetime},
通知邮件,请勿回复!" />
</mail></code></pre> 
  <p>php执行模板内容发送邮件</p> 
  <pre class="has"><code class="language-php">/******* 根据模板执行 ******/
$study = array();
$xml = simplexml_load_file('./PHPMailer/temp/server_tmp.xml');//邮件模板
foreach($xml->children() as $period) {
    $study[] = get_object_vars($period);//获取对象全部属性,返回数组
}


$news = array();//内容数组
$news['title'] = $study[0]['@attributes']['value'];
$news['content'] = $study[1]['@attributes']['value'];


//替换模板内容
$content = str_replace('{toname}','jake',$news['content']."\r\n");
$content = str_replace('{content}','这是封通知邮件',$content."\r\n");
$content = str_replace('{fromname}','admin管理员',$content."\r\n");
$content = str_replace('{detetime}',date('Y-m-d H:i:s'),$content."\r\n");

$mail_text = array(
    'title' =>  str_replace('{title}','一封测试邮件',$news['title']),
    'content' =>  $content,
);

print_r($mail_text);
//die();
/******* 根据模板执行 end ******/


// 引入PHPMailer的核心文件
require_once("PHPMailer/src/Exception.php");
require_once("PHPMailer/src/PHPMailer.php");
require_once("PHPMailer/src/SMTP.php");


// 实例化PHPMailer核心类
//$mail = new PHPMailer();
$mail = new \PHPMailer\PHPMailer\PHPMailer();
// 是否启用smtp的debug进行调试 开发环境建议开启 生产环境注释掉即可 默认关闭debug调试模式
$mail->SMTPDebug = 1;
// 使用smtp鉴权方式发送邮件
$mail->isSMTP();
// smtp需要鉴权 这个必须是true
$mail->SMTPAuth = true;
// 链接qq域名邮箱的服务器地址
$mail->Host = 'smtp.qq.com';
// 设置使用ssl加密方式登录鉴权
$mail->SMTPSecure = 'ssl';
// 设置ssl连接smtp服务器的远程服务器端口号
$mail->Port = 465;
// 设置发送的邮件的编码
$mail->CharSet = 'UTF-8';
// 设置发件人昵称 显示在收件人邮件的发件人邮箱地址前的发件人姓名
$mail->FromName = '系统管理员';
// smtp登录的账号 QQ邮箱即可
$mail->Username = '1177@qq.com';
// smtp登录的密码 使用生成的授权码
$mail->Password = 'qqclxpjpuyjhbjdg';
// 设置发件人邮箱地址 同登录账号
$mail->From = '1177@qq.com';
// 邮件正文是否为html编码 注意此处是一个方法
$mail->isHTML(true);
// 设置收件人邮箱地址
$mail->addAddress('3711@qq.com');
$mail->addAddress('y11@163.com');

// 添加该邮件的主题
$mail->Subject = $mail_text['title'];
// 添加邮件正文
$mail->Body = $mail_text['content'];
// 为该邮件添加附件
//$mail->addAttachment('./example.pdf');
$mail->addAttachment('');
// 发送邮件 返回状态
$status = $mail->send();</code></pre> 
  <blockquote> 
   <p>最后说明</p> 
  </blockquote> 
  <p> 1.PHPMailer 支持utf8格式, 中文输出正常可靠</p> 
  <p> 2.只支持php5.5以上版本,不支持以下版本, 服务器PHP版本老的,使用不了, 我会写一个低版本PHP的发送邮件文章.</p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1757302563679518720"></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">你可能感兴趣的:(php,技术,php发送邮件,PHPMailer,SMTP,配置发送邮件)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1939526049729671168.htm"
                           title="Linux PXE高效批量网络装机" target="_blank">Linux PXE高效批量网络装机</a>
                        <span class="text-muted">城南云小白</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>目录一、PXE概念1.PXE基本概念2.优点3.实现PXE的前提条件4.搭建PXE远程安装服务器二、搭建PXE远程安装服务器1.安装并启用TFTP服务2.安装并启用DHCP服务3.准备Linux内核、初始化镜像文件4.准备PXE引导程序5.安装FTP服务,准备CentOS7安装源6.配置启动菜单文件7.关闭防火墙,验证PXE网络安装三、实现Kickstart无人值守安装1.安装system-con</div>
                    </li>
                    <li><a href="/article/1939525671722217472.htm"
                           title="从快递配送看 AutoGen 主题订阅机制:四种通信场景的全解析" target="_blank">从快递配送看 AutoGen 主题订阅机制:四种通信场景的全解析</a>
                        <span class="text-muted">佑瞻</span>
<a class="tag" taget="_blank" href="/search/AutoGen/1.htm">AutoGen</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/AutoGen/1.htm">AutoGen</a>
                        <div>在多智能体系统开发中,我们常常面临这样的困惑:如何让不同智能体之间实现精准高效的消息传递?就像快递公司需要将包裹准确送达不同地址一样,AutoGen框架通过主题(Topic)与订阅(Subscription)机制构建了智能体通信的"物流网络"。今天,我们将以快递公司的业务场景为例,深入解析四种典型的广播模式,帮助你彻底掌握智能体通信的核心技术。一、智能体通信与快递配送的类比框架1.1核心概念映射快</div>
                    </li>
                    <li><a href="/article/1939525545339449344.htm"
                           title="深度解析 LangGraph 多智能体系统的通信机制与状态管理策略" target="_blank">深度解析 LangGraph 多智能体系统的通信机制与状态管理策略</a>
                        <span class="text-muted">佑瞻</span>
<a class="tag" taget="_blank" href="/search/LangChain/1.htm">LangChain</a><a class="tag" taget="_blank" href="/search/LangGraph/1.htm">LangGraph</a><a class="tag" taget="_blank" href="/search/langgraph/1.htm">langgraph</a>
                        <div>构建多智能体系统时,通信机制与状态管理是决定系统效能的核心要素。当智能体数量超过3个时,系统常面临通信延迟、状态冲突等挑战。本文将系统化解析LangGraph中智能体交互的技术细节,帮助开发者构建高效稳定的多智能体协作体系。一、智能体通信的四大核心维度1.1通信模式选择:交接与工具调用的技术分野智能体间通信存在两种基础模式,其选择取决于状态传递需求:交接(Handoffs)模式适用于复杂状态传递场</div>
                    </li>
                    <li><a href="/article/1939524283881549824.htm"
                           title="Python 解析 AI 在能源管理与智能电网中的应用" target="_blank">Python 解析 AI 在能源管理与智能电网中的应用</a>
                        <span class="text-muted">头发在线失联</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>```htmlPython解析AI在能源管理与智能电网中的应用Python解析AI在能源管理与智能电网中的应用随着全球对可持续发展的重视和能源需求的不断增长,能源管理与智能电网技术正在成为研究和实践的重要领域。在这个背景下,人工智能(AI)作为一项前沿技术,正被广泛应用于能源管理与智能电网中,以提高效率、优化资源分配并减少环境影响。本文将探讨Python如何在这一领域中发挥作用,并解析其具体应用场</div>
                    </li>
                    <li><a href="/article/1939523150018572288.htm"
                           title="微调大语言模型后,如何评估效果?一文讲清" target="_blank">微调大语言模型后,如何评估效果?一文讲清</a>
                        <span class="text-muted">茫茫人海一粒沙</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>在做大语言模型(LLM)微调时,“怎么判断模型调得好不好”是必须回答的问题。无论是在研究、项目落地,还是面试中,评估方法都不能停留在“训练loss降了”这么简单。本文从评估目标、技术指标、业务适配、实战建议四个维度,讲清楚微调后的模型评估怎么做,为什么这么做。一,评估前,先搞清楚目标不同的微调目的,评估方式也不同:✅精调任务能力:判断模型是否更好完成分类、问答、摘要、代码生成等任务。✅领域适应:关</div>
                    </li>
                    <li><a href="/article/1939521764287639552.htm"
                           title="如何实现聊天模型响应流式处理" target="_blank">如何实现聊天模型响应流式处理</a>
                        <span class="text-muted">yunwu12777</span>
<a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a>
                        <div>在现代人工智能应用中,流式处理聊天模型的响应成为一种常见需求,特别是在需要实时输出或大规模处理时。本文将详细介绍如何在Python中实现聊天模型的同步和异步流式处理,使用langchain库中提供的ChatAnthropic模型作为示例。技术背景介绍流式处理是指从模型逐步获取输出,而不是等待整个输出完成。这对于处理长文本生成或需要动态响应的应用场景特别有用。langchain库中的聊天模型实现了R</div>
                    </li>
                    <li><a href="/article/1939521764694487040.htm"
                           title="本地运行大型语言模型(LLM)的实践指南" target="_blank">本地运行大型语言模型(LLM)的实践指南</a>
                        <span class="text-muted">yunwu12777</span>
<a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">语言模型</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a>
                        <div>技术背景介绍近年来,项目如llama.cpp、Ollama、GPT4All等的流行标志着在本地设备上运行大型语言模型(LLM)的需求日益增长。选择在本地运行LLM,至少有两个重要的好处:隐私和成本。隐私上,数据不需要发送到第三方,避免了商业服务条款的限制;成本方面,无需支付推理费用,尤其是对于那些需要大量计算的应用,如长时间的模拟和总结。核心原理解析在本地运行LLM,需要准备以下几个条件:开源LL</div>
                    </li>
                    <li><a href="/article/1939521511585017856.htm"
                           title="宝塔+fastadmin:给项目添加定时任务+log日志自定义添加" target="_blank">宝塔+fastadmin:给项目添加定时任务+log日志自定义添加</a>
                        <span class="text-muted">25号底片~</span>
<a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%EF%BC%88%E5%AE%9D%E5%A1%94%EF%BC%89/1.htm">后端配置(宝塔)</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>一、定时任务脚本编写1.使用shebang声明执行器#!/usr/bin/envphp这是Unix/Linux系统中脚本文件的标准开头。表示这个脚本使用系统环境变量中的php来执行。2.定义ThinkPHP入口路径并加载框架define('APP_PATH',__DIR__.'/../../application/');require__DIR__.'/../../thinkphp/start.p</div>
                    </li>
                    <li><a href="/article/1939517983600734208.htm"
                           title="python中解决Chrome中文字体显示为方框的问题" target="_blank">python中解决Chrome中文字体显示为方框的问题</a>
                        <span class="text-muted">张苹果博客</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/chrome/1.htm">chrome</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>当您在CentOS或RHEL系统上处理中文内容时,可能会遇到字体显示为方框或乱码的情况。这是因为系统默认没有安装中文字体包。本指南将详细介绍如何正确安装和配置中文字体。原文地址:python中解决Chrome中文字体显示为方框的问题-张苹果博客字体显示问题示例如下:在CentOS/RHEL上安装中文字体的正确方法1.使用yum安装中文字体#安装文泉驿中文字体sudoyuminstall-ywqy-</div>
                    </li>
                    <li><a href="/article/1939515211564249088.htm"
                           title="小米路由安装frpc" target="_blank">小米路由安装frpc</a>
                        <span class="text-muted">zngw</span>
<a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a><a class="tag" taget="_blank" href="/search/frp/1.htm">frp</a>
                        <div>一、起因家里部署了Nas,在出租屋里直接使用frp访问外网服务器转发的是可以用,但是,流量得多贵啊,还有中间商赚带宽。于是想了一下,在出租屋的路由上部署frp客户端,使用xtcp协议,打洞直连,速度快还不需要流量。二、流程前提条件:一台公网frps服务器家里Nas,已经配置好SMB文件共享(端口445)、WebDav(端口80,可选端口443),其他自行发挥。出租屋解锁SSH的小米路由,我家是小米</div>
                    </li>
                    <li><a href="/article/1939515084460060672.htm"
                           title="【STM32】USART串口协议&串口外设" target="_blank">【STM32】USART串口协议&串口外设</a>
                        <span class="text-muted">对error说不</span>
<a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a>
                        <div>✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进❤欢迎关注我的知乎:对error视而不见代码获取、问题探讨及文章转载可私信。☁愿你的生命中有够多的云翳,来造就一个美丽的黄昏。获取更多嵌入式资料可点击链接进群领取,谢谢支持!点击领取更多详细资料一、引言在嵌入式系统开发里,设备间的通信是关键环节。串口通信由于其实现简单、成本低廉等特性,被广泛应用于各类设备之间的数据传输。STM32系列微控制器具</div>
                    </li>
                    <li><a href="/article/1939511807483899904.htm"
                           title="构建私有视觉搜索应用:多模态大模型的应用实例" target="_blank">构建私有视觉搜索应用:多模态大模型的应用实例</a>
                        <span class="text-muted">2301_80727036</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a>
                        <div>在当今的科技时代,视觉搜索功能已经不再是新鲜事物,许多智能手机用户都可以通过自然语言搜索照片。随着开源多模态大型语言模型(Multi-modalLLMs)的兴起,我们现在可以为自己构建这种视觉搜索应用,用于管理自己的私人照片收藏。本教程将向您展示如何通过代码示例,使用开源多模态LLM构建私有视觉搜索和问答系统。技术背景介绍多模态大模型结合了文本和图像处理能力,使得我们可以开发更智能的应用程序。通过</div>
                    </li>
                    <li><a href="/article/1939511177721737216.htm"
                           title="zookeeper Curator(5):集群架构和集群搭建" target="_blank">zookeeper Curator(5):集群架构和集群搭建</a>
                        <span class="text-muted">后会无期77</span>
<a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a><a class="tag" taget="_blank" href="/search/Curator/1.htm">Curator</a><a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>文章目录一、集群架构:Leader-Follower模式二、核心机制:ZAB协议三、Leader选举机制四、集群部署要点五、优势与挑战Zookeeper集群是一个由多个Zookeeper服务实例组成的分布式协调服务系统,通过奇数个节点(通常3、5、7个)的协作,提供高可用性、容错性和数据一致性,适用于分布式环境下的配置管理、命名服务、分布式锁等场景。以下从架构、核心机制、选举机制、数据模型、应用场</div>
                    </li>
                    <li><a href="/article/1939510925501460480.htm"
                           title="中华人民共和国网络安全法" target="_blank">中华人民共和国网络安全法</a>
                        <span class="text-muted">周周记笔记</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>链接:中华人民共和国网络安全法.pdf总则:明确立法目的是保障网络安全,维护网络空间主权和国家安全等,规定了本法适用范围,强调国家坚持网络安全与信息化发展并重的方针,确定了相关部门的网络安全监督管理职责,还对网络运营者义务、网络使用规范等作出原则性规定。网络安全支持与促进:国家建立和完善网络安全标准体系,扶持重点网络安全技术产业和项目,推进网络安全社会化服务体系建设,鼓励开发网络数据安全保护和利用</div>
                    </li>
                    <li><a href="/article/1939510673335709696.htm"
                           title="[架构之美]Ubuntu 系统安装 Redis 的详细步骤(七)" target="_blank">[架构之美]Ubuntu 系统安装 Redis 的详细步骤(七)</a>
                        <span class="text-muted">曼岛_</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E4%B9%8B%E7%BE%8E/1.htm">架构之美</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>Ubuntu系统安装Redis的详细步骤一,安装成功截图1.1更新系统并安装依赖1.2修改配置文件1.3安装成功截图二,安装Redis2.1更新系统并安装依赖</div>
                    </li>
                    <li><a href="/article/1939507897478213632.htm"
                           title="DeepSeek:AI驱动的效率革命与实战案例解" target="_blank">DeepSeek:AI驱动的效率革命与实战案例解</a>
                        <span class="text-muted">weixin_45788582</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a>
                        <div>在人工智能技术的浪潮中,DeepSeek作为一款专注实现AGI(通用人工智能)的先锋工具,正通过其强大的自然语言处理(NLP)与分布式计算能力,重新定义高效办公的边界。以下通过技术解析与实战案例,展现DeepSeek如何赋能个人与企业,开启职场效率革命。一、技术革新:DeepSeek的核心竞争力深度学习赋能DeepSeek的技术架构基于BERT、Transformer等先进深度学习模型,通过构建复</div>
                    </li>
                    <li><a href="/article/1939507519470759936.htm"
                           title="ASP.Net依赖注入!使用Microsoft.Extensions.DependencyInjection配置依赖注入" target="_blank">ASP.Net依赖注入!使用Microsoft.Extensions.DependencyInjection配置依赖注入</a>
                        <span class="text-muted">weixin_44710358</span>
<a class="tag" taget="_blank" href="/search/c%23/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/%E4%BE%9D%E8%B5%96%E6%B3%A8%E5%85%A5/1.htm">依赖注入</a>
                        <div>文章目录前言一、依赖注入是什么?二、使用步骤三、示例四、依赖注入服务生命周期五、依赖注入的方式前言ASP.Net依赖注入!使用Microsoft.Extensions.DependencyInjection配置依赖注入一、依赖注入是什么?百度百科:控制反转(InversionofControl,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做</div>
                    </li>
                    <li><a href="/article/1939504872198041600.htm"
                           title="AI驱动的智能电网:平衡供需提高效率" target="_blank">AI驱动的智能电网:平衡供需提高效率</a>
                        <span class="text-muted">AI智能应用</span>
<a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BA%94%E7%94%A8%E5%85%A5%E9%97%A8%E5%AE%9E%E6%88%98%E4%B8%8E%E8%BF%9B%E9%98%B6/1.htm">AI大模型应用入门实战与进阶</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/kotlin/1.htm">kotlin</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>智能电网,AI,机器学习,预测模型,优化算法,供需平衡,能源效率1.背景介绍随着全球能源需求的不断增长和可再生能源的快速发展,传统电网面临着越来越多的挑战。传统的电网结构是集中式供电,难以适应分布式能源的接入和负荷需求的波动性。智能电网应运而生,它利用先进的通信技术、传感器网络和数据分析技术,实现电网的自动化、智能化和可视化,从而提高电网的可靠性、效率和安全性。人工智能(AI)作为一种新兴技术,在</div>
                    </li>
                    <li><a href="/article/1939501847798673408.htm"
                           title="从HTML4到HTML5+CSS3,如何快速掌握?(有老版HTML基础或经验)" target="_blank">从HTML4到HTML5+CSS3,如何快速掌握?(有老版HTML基础或经验)</a>
                        <span class="text-muted">唐骁虎</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>从HTML4.0到HTML5+CSS3的升级是Web开发技术的一次重要迭代,两者在语法、功能、兼容性等方面存在显著差异。以下是具体异同点、学习注意事项及快速掌握方法:一、HTML5与HTML4.0的核心差异语义化标签HTML5新增:、、、、等,使代码结构更清晰,利于SEO和可维护性。HTML4.0依赖:主要用配合class/id实现布局,语义性较弱。多媒体支持HTML5原生支持:、标签,无需依赖F</div>
                    </li>
                    <li><a href="/article/1939501218183311360.htm"
                           title="rollupOptions 详细讲解,如何优化性能" target="_blank">rollupOptions 详细讲解,如何优化性能</a>
                        <span class="text-muted">东心十</span>
<a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a>
                        <div>RollupOptions详细讲解与性能优化Rollup是一个JavaScript模块打包器,特别适合用于库和应用的打包。rollupOptions是在使用Vite、WMR等构建工具时配置Rollup的选项对象。下面我将详细讲解rollupOptions的各个配置项以及如何优化打包性能。核心配置项详解输入(input)javascriptrollupOptions:{input:‘src/main</div>
                    </li>
                    <li><a href="/article/1939499706568732672.htm"
                           title="【ESP32设备通信】- LoRaWAN网关" target="_blank">【ESP32设备通信】- LoRaWAN网关</a>
                        <span class="text-muted">视觉与物联智能</span>
<a class="tag" taget="_blank" href="/search/%E7%89%A9%E8%81%94%E7%BD%91%E5%85%A8%E6%A0%88%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">物联网全栈开发实战</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a><a class="tag" taget="_blank" href="/search/%E7%89%A9%E8%81%94%E7%BD%91/1.htm">物联网</a><a class="tag" taget="_blank" href="/search/ESP32/1.htm">ESP32</a><a class="tag" taget="_blank" href="/search/LoRa/1.htm">LoRa</a><a class="tag" taget="_blank" href="/search/%E6%97%A0%E7%BA%BF%E9%80%9A%E4%BF%A1/1.htm">无线通信</a>
                        <div>ESP32LoRaWAN网关文章目录ESP32LoRaWAN网关1、LoRaWAN简单介绍2、LoRa模块的区域频率注意事项3、硬件准备与接线3.1LoRaWAN网关接线3.2LoRa节点接线4、代码实现4.1LoRaWAN网关代码实现4.2LoRa节点代码实现在物联网(IoT)时代,连接设备和收集数据变得比以往任何时候都更加容易和重要。LoRaWAN(远程广域网)技术已成为远程、低功耗物联网通信</div>
                    </li>
                    <li><a href="/article/1939498446100688896.htm"
                           title="同花顺python_【本地直连】同花顺 Python量化交易接口上线" target="_blank">同花顺python_【本地直连】同花顺 Python量化交易接口上线</a>
                        <span class="text-muted">weixin_39938724</span>
<a class="tag" taget="_blank" href="/search/%E5%90%8C%E8%8A%B1%E9%A1%BApython/1.htm">同花顺python</a>
                        <div>来源:雪球App,作者:私募之家THS,(https://xueqiu.com/5808549553/129022113)导读:同花顺智能交易终端MindGo版已上线2年多,凭借着同花顺深厚的技术底蕴,不断地对终端进行优化。至今,已服务近1000位个人客户,超过200家私募机构,市场份额不断扩大。目前终端已实现:支持股票、指数、基金、期货、外汇、黄金T+D等6个品种日/分钟级策略回测投研策略无缝对</div>
                    </li>
                    <li><a href="/article/1939496303612456960.htm"
                           title="Java+POI+EXCEL导出折线图到Excel表格中" target="_blank">Java+POI+EXCEL导出折线图到Excel表格中</a>
                        <span class="text-muted">雾林小妖</span>
<a class="tag" taget="_blank" href="/search/java%E9%A1%B9%E7%9B%AE%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/1.htm">java项目解决方案</a><a class="tag" taget="_blank" href="/search/excel/1.htm">excel</a>
                        <div>1、问题概述?本案例使用POI版本:5.2.3在项目中我们经常需要将项目中的数据以图标的形式导出,以下是,以JAVA+POI技术,将数据以折线图导出到Excel表格中。2、实现方式--折线图2.1、导入依赖包-案例完整pom.xml文件此处需要注意,我是用的springboot版本是2.17.6版本。同时需要注意commons-lang3的版本,版本尽量高一些,否则会报错,我使用的是3.12.0。</div>
                    </li>
                    <li><a href="/article/1939494791540699136.htm"
                           title="使用Git版本控制查看文件更改历史" target="_blank">使用Git版本控制查看文件更改历史</a>
                        <span class="text-muted">1010n111</span>
<a class="tag" taget="_blank" href="/search/git/1.htm">git</a>
                        <div>使用Git版本控制查看文件更改历史技术背景在软件开发和项目管理中,版本控制是一项至关重要的技术。Git作为目前最流行的分布式版本控制系统,提供了强大的文件更改历史查看功能。通过查看文件的更改历史,开发者可以了解文件的演变过程,追踪问题的根源,以及与团队成员进行有效的协作。实现步骤生成每个日志条目的补丁使用以下命令让Git为每个日志条目生成补丁:gitlog-p--其中,-p选项用于生成补丁文本。获</div>
                    </li>
                    <li><a href="/article/1939494035961999360.htm"
                           title="多模态融合相机L3CAM" target="_blank">多模态融合相机L3CAM</a>
                        <span class="text-muted">moonsims</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>多模态融合相机L3CAML3CAM是Beamagine公司推出的多模态传感器融合技术,结合了激光雷达(LiDAR)和可见光摄像头,旨在为自动驾驶、工业机器人和其他需要精确环境感知的应用场景提供高效、安全的解决方案。L3CAM技术参数L3CAM结合了LiDAR和可见光摄像头,使其能够提供三维空间感知及图像级别的环境识别能力激光雷达部分(LiDAR)探测范围:大约200米(具体范围根据不同环境和反射面</div>
                    </li>
                    <li><a href="/article/1939493532226088960.htm"
                           title="【小白Java进阶之路】 2024年Java小白如何成为大牛?超详细学习路线图!" target="_blank">【小白Java进阶之路】 2024年Java小白如何成为大牛?超详细学习路线图!</a>
                        <span class="text-muted">全栈陈序员</span>
<a class="tag" taget="_blank" href="/search/Java%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91/1.htm">Java后端开发</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a>
                        <div>??2024年Java小白如何成为大牛?超详细学习路线图!摘要本文为Java初学者提供了一份详细的学习路线图,旨在帮助他们从基础到进阶,最终成为Java领域的专家。文章涵盖了Java基础、进阶技术、Web开发、框架与工具、软技能等多个方面,并提供了代码示例、流程图和表格,以增强理解和实践能力。关键词Java,学习路线图,进阶,Web开发,框架,工具,软技能1.Java基础1.1语法基础变量和数据类</div>
                    </li>
                    <li><a href="/article/1939491389586862080.htm"
                           title="[大A量化专栏] 独家梳理-A股周末消息汇总-20250630" target="_blank">[大A量化专栏] 独家梳理-A股周末消息汇总-20250630</a>
                        <span class="text-muted">心心喵</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7A%E9%87%8F%E5%8C%96%E4%B8%93%E6%A0%8F/1.htm">大A量化专栏</a><a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D/1.htm">金融</a>
                        <div>短期ST板块博弈机会政策催化主板ST股涨跌幅放宽至10%,与普通股一致(*ST华光、ST新研弹性大)。风险提示需严格筛选“摘帽预期强+业绩改善”标的,避免退市风险。稳定币/数字人民币香港政策落地8月1日《稳定币条例》生效,关注HB股份(硬件钱包)、JBF(银行IT改造)。上海地铁试点数字人民币“碰一碰”全线网覆盖,CTL(交通支付场景)受益明确。充电宝新规3C认证强制化维K技术(半固态电芯)、安K</div>
                    </li>
                    <li><a href="/article/1939489372059529216.htm"
                           title="基于SpringBoot律师事务所案件管理系统的设计与实现" target="_blank">基于SpringBoot律师事务所案件管理系统的设计与实现</a>
                        <span class="text-muted">一点教程</span>
<a class="tag" taget="_blank" href="/search/Java%E9%A1%B9%E7%9B%AE/1.htm">Java项目</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E5%BE%8B%E5%B8%88%E4%BA%8B%E5%8A%A1%E6%89%80%E6%A1%88%E4%BB%B6%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F/1.htm">律师事务所案件管理系统</a>
                        <div>博主主页:一点教程博主简介:专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容:毕业设计,SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Python、Nodejs、小程序、安卓app、大数据等设计与开发感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以和博主沟通,希</div>
                    </li>
                    <li><a href="/article/1939489119944110080.htm"
                           title="Python爬虫实战:使用Scrapy+Selenium+Playwright高效爬取Stack Overflow问答数据" target="_blank">Python爬虫实战:使用Scrapy+Selenium+Playwright高效爬取Stack Overflow问答数据</a>
                        <span class="text-muted">Python爬虫项目</span>
<a class="tag" taget="_blank" href="/search/2025%E5%B9%B4%E7%88%AC%E8%99%AB%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/1.htm">2025年爬虫实战项目</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1/1.htm">微信</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/%E7%A7%91%E6%8A%80/1.htm">科技</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a>
                        <div>摘要本文将详细介绍如何使用Python生态中最先进的爬虫技术组合(Scrapy+Selenium+Playwright)来爬取StackOverflow的问答数据。我们将从基础爬虫原理讲起,逐步深入到分布式爬虫、反反爬策略、数据存储等高级话题,并提供完整的可运行代码示例。本文适合有一定Python基础,想要掌握专业级网络爬虫技术的开发者阅读。1.爬虫技术概述1.1为什么选择StackOverflo</div>
                    </li>
                    <li><a href="/article/1939488993569730560.htm"
                           title="Python爬虫实战:使用Scrapy+Selenium+Playwright高效爬取Coursera课程信息" target="_blank">Python爬虫实战:使用Scrapy+Selenium+Playwright高效爬取Coursera课程信息</a>
                        <span class="text-muted">Python爬虫项目</span>
<a class="tag" taget="_blank" href="/search/2025%E5%B9%B4%E7%88%AC%E8%99%AB%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/1.htm">2025年爬虫实战项目</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1/1.htm">微信</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/%E7%A7%91%E6%8A%80/1.htm">科技</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a>
                        <div>前言在当今信息爆炸的时代,在线教育平台如Coursera提供了海量的高质量课程资源。对于学习者、教育研究者和数据分析师来说,获取这些平台的课程信息具有重要价值。本文将详细介绍如何使用Python爬虫技术高效爬取Coursera课程信息,并分析其中的技术难点与解决方案。1.Coursera网站分析Coursera是一个典型的现代Web应用,具有以下特点:采用React/Vue等前端框架构建,大量内容</div>
                    </li>
                                <li><a href="/article/43.htm"
                                       title="集合框架" target="_blank">集合框架</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/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E5%90%88%E6%A1%86%E6%9E%B6/1.htm">集合框架</a>
                                    <div>   集合框架 
集合框架可以理解为一个容器,该容器主要指映射(map)、集合(set)、数组(array)和列表(list)等抽象数据结构。 
从本质上来说,Java集合框架的主要组成是用来操作对象的接口。不同接口描述不同的数据类型。 
  
简单介绍: 
  
Collection接口是最基本的接口,它定义了List和Set,List又定义了LinkLi</div>
                                </li>
                                <li><a href="/article/170.htm"
                                       title="Table Driven(表驱动)方法实例" target="_blank">Table Driven(表驱动)方法实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/Table+Driven/1.htm">Table Driven</a><a class="tag" taget="_blank" href="/search/%E8%A1%A8%E9%A9%B1%E5%8A%A8/1.htm">表驱动</a>
                                    <div>实例一:   
/**
 * 驾驶人年龄段
 * 保险行业,会对驾驶人的年龄做年龄段的区分判断
 * 驾驶人年龄段:01-[18,25);02-[25,30);03-[30-35);04-[35,40);05-[40,45);06-[45,50);07-[50-55);08-[55,+∞)
 */
public class AgePeriodTest {

    //if...el</div>
                                </li>
                                <li><a href="/article/297.htm"
                                       title="Jquery 总结" target="_blank">Jquery 总结</a>
                                    <span class="text-muted">cuishikuan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/jquery%E6%96%B9%E6%B3%95/1.htm">jquery方法</a>
                                    <div>1.$.trim方法用于移除字符串头部和尾部多余的空格。如:$.trim('   Hello   ') // Hello2.$.contains方法返回一个布尔值,表示某个DOM元素(第二个参数)是否为另一个DOM元素(第一个参数)的下级元素。如:$.contains(document.documentElement, document.body); 3.$</div>
                                </li>
                                <li><a href="/article/424.htm"
                                       title="面向对象概念的提出" target="_blank">面向对象概念的提出</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/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/1.htm">面向对象</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E5%90%91%E8%BF%87%E7%A8%8B/1.htm">面向过程</a>
                                    <div>   
     面向对象中,一切都是由对象展开的,组织代码,封装数据。 
  在台湾面向对象被翻译为了面向物件编程,这充分说明了,这种编程强调实体。 
  
    下面就结合编程语言的发展史,聊一聊面向过程和面向对象。 
     c语言由贝尔实</div>
                                </li>
                                <li><a href="/article/551.htm"
                                       title="linux网口绑定" target="_blank">linux网口绑定</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>刚在一台IBM Xserver服务器上装了RedHat Linux Enterprise AS 4,为了提高网络的可靠性配置双网卡绑定。 
 
一、环境描述 
我的RedHat Linux Enterprise AS 4安装双口的Intel千兆网卡,通过ifconfig -a命令看到eth0和eth1两张网卡。 
 
二、双网卡绑定步骤: 
2.1 修改/etc/sysconfig/network</div>
                                </li>
                                <li><a href="/article/678.htm"
                                       title="XML基础语法" target="_blank">XML基础语法</a>
                                    <span class="text-muted">肆无忌惮_</span>
<a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a>
                                    <div>一、什么是XML? 
XML全称是Extensible Markup Language,可扩展标记语言。很类似HTML。XML的目的是传输数据而非显示数据。XML的标签没有被预定义,你需要自行定义标签。XML被设计为具有自我描述性。是W3C的推荐标准。 
  
二、为什么学习XML? 
用来解决程序间数据传输的格式问题 
做配置文件 
充当小型数据库 
  
三、XML与HTM</div>
                                </li>
                                <li><a href="/article/805.htm"
                                       title="为网页添加自己喜欢的字体" target="_blank">为网页添加自己喜欢的字体</a>
                                    <span class="text-muted">知了ing</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%97%E4%BD%93+%E7%A7%92%E8%A1%A8+css/1.htm">字体 秒表 css</a>
                                    <div>@font-face {
			font-family: miaobiao;//定义字体名字
			font-style:  normal;
		    font-weight: 400;
			src: url('font/DS-DIGI-e.eot');//字体文件
		} 
使用: 
 
<label style="font-size:18px;font-famil</div>
                                </li>
                                <li><a href="/article/932.htm"
                                       title="redis范围查询应用-查找IP所在城市" target="_blank">redis范围查询应用-查找IP所在城市</a>
                                    <span class="text-muted">矮蛋蛋</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a>
                                    <div>原文地址: 
http://www.tuicool.com/articles/BrURbqV 
需求 
 
根据IP找到对应的城市 
 
原来的解决方案 
 
oracle表(ip_country): 
 
 
查询IP对应的城市: 
 
1.把a.b.c.d这样格式的IP转为一个数字,例如为把210.21.224.34转为3524648994 
 
2. select city from ip_</div>
                                </li>
                                <li><a href="/article/1059.htm"
                                       title="输入两个整数, 计算百分比" target="_blank">输入两个整数, 计算百分比</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>	public static String getPercent(int x, int total){
		 
		double result=(x*1.0)/(total*1.0);
		System.out.println(result);
		
		
		DecimalFormat df1=new DecimalFormat("0.0000%");
		
</div>
                                </li>
                                <li><a href="/article/1186.htm"
                                       title="百合——————>怎么学习计算机语言" target="_blank">百合——————>怎么学习计算机语言</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java+%E7%A7%BB%E5%8A%A8%E5%BC%80%E5%8F%91/1.htm">java 移动开发</a>
                                    <div>    对于一个从没有接触过计算机语言的人来说,一上来就学面向对象,就算是心里上面接受的了,灵魂我觉得也应该是跟不上的,学不好是很正常的现象,计算机语言老师讲的再多,你在课堂上面跟着老师听的再多,我觉得你应该还是学不会的,最主要的原因是你根本没有想过该怎么来学习计算机编程语言,记得大一的时候金山网络公司在湖大招聘我们学校一个才来大学几天的被金山网络录取,一个刚到大学的就能够去和</div>
                                </li>
                                <li><a href="/article/1313.htm"
                                       title="linux下tomcat开机自启动" target="_blank">linux下tomcat开机自启动</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
                                    <div>方法一: 
修改Tomcat/bin/startup.sh 为: 
export JAVA_HOME=/home/java1.6.0_27
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export PATH=$JAVA_HOME/bin:$PATH
export CATALINA_H</div>
                                </li>
                                <li><a href="/article/1440.htm"
                                       title="spring aop实例" target="_blank">spring aop实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a>
                                    <div>1.AdviceMethods.java 
package com.bijian.study.spring.aop.schema;

public class AdviceMethods {

	public void preGreeting() {
		System.out.println("--how are you!--");
	}
} 
2.beans.x</div>
                                </li>
                                <li><a href="/article/1567.htm"
                                       title="[Gson八]GsonBuilder序列化和反序列化选项enableComplexMapKeySerialization" target="_blank">[Gson八]GsonBuilder序列化和反序列化选项enableComplexMapKeySerialization</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/serialization/1.htm">serialization</a>
                                    <div>enableComplexMapKeySerialization配置项的含义 
 Gson在序列化Map时,默认情况下,是调用Key的toString方法得到它的JSON字符串的Key,对于简单类型和字符串类型,这没有问题,但是对于复杂数据对象,如果对象没有覆写toString方法,那么默认的toString方法将得到这个对象的Hash地址。 
  
GsonBuilder用于</div>
                                </li>
                                <li><a href="/article/1694.htm"
                                       title="【Spark九十一】Spark Streaming整合Kafka一些值得关注的问题" target="_blank">【Spark九十一】Spark Streaming整合Kafka一些值得关注的问题</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a>
                                    <div>包括Spark Streaming在内的实时计算数据可靠性指的是三种级别: 
1. At most once,数据最多只能接受一次,有可能接收不到 
2. At least once, 数据至少接受一次,有可能重复接收 
3. Exactly once  数据保证被处理并且只被处理一次, 
  
具体的多读几遍http://spark.apache.org/docs/lates</div>
                                </li>
                                <li><a href="/article/1821.htm"
                                       title="shell脚本批量检测端口是否被占用脚本" target="_blank">shell脚本批量检测端口是否被占用脚本</a>
                                    <span class="text-muted">ronin47</span>

                                    <div>#!/bin/bash
cat ports   |while read line
do#nc -z  -w 10  $line

nc -z -w 2 $line 58422>/dev/null2>&1if[ $?-eq 0]then
echo $line:ok
else
echo $line:fail
fi

done

这里的ports 既可以是文件</div>
                                </li>
                                <li><a href="/article/1948.htm"
                                       title="java-2.设计包含min函数的栈" target="_blank">java-2.设计包含min函数的栈</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>具体思路参见:http://zhedahht.blog.163.com/blog/static/25411174200712895228171/ 
 

import java.util.ArrayList;
import java.util.List;


public class MinStack {

	//maybe we can use origin array rathe</div>
                                </li>
                                <li><a href="/article/2075.htm"
                                       title="Netty源码学习-ChannelHandler" target="_blank">Netty源码学习-ChannelHandler</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/netty/1.htm">netty</a>
                                    <div> 
一般来说,“有状态”的ChannelHandler不应该是“共享”的,“无状态”的ChannelHandler则可“共享” 
例如ObjectEncoder是“共享”的, 但 ObjectDecoder 不是 
因为每一次调用decode方法时,可能数据未接收完全(incomplete), 
它与上一次decode时接收到的数据“累计”起来才有可能是完整的数据,是“有状态”的 
 
 

p</div>
                                </li>
                                <li><a href="/article/2202.htm"
                                       title="java生成随机数" target="_blank">java生成随机数</a>
                                    <span class="text-muted">cngolon</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>方法一: 
/** 
* 生成随机数 
* @author cngolon@126.com 
* @return 
*/ 
public synchronized static String getChargeSequenceNum(String pre){ 
StringBuffer sequenceNum = new StringBuffer(); 
Date dateTime = new D</div>
                                </li>
                                <li><a href="/article/2329.htm"
                                       title="POI读写海量数据" target="_blank">POI读写海量数据</a>
                                    <span class="text-muted">ctrain</span>
<a class="tag" taget="_blank" href="/search/%E6%B5%B7%E9%87%8F%E6%95%B0%E6%8D%AE/1.htm">海量数据</a>
                                    <div>import java.io.FileOutputStream; 
import java.io.OutputStream; 
 
import org.apache.poi.xssf.streaming.SXSSFRow; 
import org.apache.poi.xssf.streaming.SXSSFSheet; 
import org.apache.poi.xssf.streaming</div>
                                </li>
                                <li><a href="/article/2456.htm"
                                       title="mysql 日期格式化date_format详细使用" target="_blank">mysql 日期格式化date_format详细使用</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/date_format/1.htm">date_format</a><a class="tag" taget="_blank" href="/search/%E6%97%A5%E6%9C%9F%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2/1.htm">日期格式转换</a><a class="tag" taget="_blank" href="/search/%E6%97%A5%E6%9C%9F%E6%A0%BC%E5%BC%8F%E5%8C%96/1.htm">日期格式化</a>
                                    <div> 
 日期转换函数的详细使用说明 
   DATE_FORMAT(date,format) Formats the date value according to the format string. The following specifiers may be used in the format string. The&n</div>
                                </li>
                                <li><a href="/article/2583.htm"
                                       title="一个程序员分享8年的开发经验" target="_blank">一个程序员分享8年的开发经验</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a>
                                    <div>  
在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子的,在下从事.NET及JAVA方面的开发的也有8年的时间了,在这里在下想凭借自己的亲身经历,与大家一起探讨一下。 
明确入行的目的 
很多人干IT这一行都冲着“收入高”这一点的,因为只要学会一点HTML, DIV+CSS,要做一个页面开发人员并不是一件难事,而且做一个页面开发人员更容</div>
                                </li>
                                <li><a href="/article/2710.htm"
                                       title="android欢迎界面淡入淡出效果" target="_blank">android欢迎界面淡入淡出效果</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>很多Android应用一开始都会有一个欢迎界面,淡入淡出效果也是用得非常多的,下面来实现一下。 
主要代码如下: 
package com.myaibang.activity; 
import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.CountDown</div>
                                </li>
                                <li><a href="/article/2837.htm"
                                       title="linux 复习笔记之常见压缩命令" target="_blank">linux 复习笔记之常见压缩命令</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/tar%E8%A7%A3%E5%8E%8B/1.htm">tar解压</a><a class="tag" taget="_blank" href="/search/linux%E7%B3%BB%E7%BB%9F%E5%B8%B8%E8%A7%81%E5%8E%8B%E7%BC%A9%E5%91%BD%E4%BB%A4/1.htm">linux系统常见压缩命令</a><a class="tag" taget="_blank" href="/search/linux%E5%8E%8B%E7%BC%A9%E5%91%BD%E4%BB%A4/1.htm">linux压缩命令</a><a class="tag" taget="_blank" href="/search/tar%E5%8E%8B%E7%BC%A9/1.htm">tar压缩</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2109693 
linux中常见压缩文件的拓展名 
*.gz   gzip程序压缩的文件
*.bz2  bzip程序压缩的文件
*.tar  tar程序打包的数据,没有经过压缩
*.tar.gz  tar程序打包后,并经过gzip程序压缩
*.tar.bz2 tar程序打包后,并经过bzip程序压缩
*.zi</div>
                                </li>
                                <li><a href="/article/2964.htm"
                                       title="Android 应用程序发送shell命令" target="_blank">Android 应用程序发送shell命令</a>
                                    <span class="text-muted">gqdy365</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>项目中需要直接在APP中通过发送shell指令来控制lcd灯,其实按理说应该是方案公司在调好lcd灯驱动之后直接通过service送接口上来给APP,APP调用就可以控制了,这是正规流程,但我们项目的方案商用的mtk方案,方案公司又没人会改,只调好了驱动,让应用程序自己实现灯的控制,这不蛋疼嘛!!!! 
 
发就发吧! 
 
一、关于shell指令: 
我们知道,shell指令是Linux里面带的</div>
                                </li>
                                <li><a href="/article/3091.htm"
                                       title="java 无损读取文本文件" target="_blank">java 无损读取文本文件</a>
                                    <span class="text-muted">hw1287789687</span>
<a class="tag" taget="_blank" href="/search/%E8%AF%BB%E5%8F%96%E6%96%87%E4%BB%B6/1.htm">读取文件</a><a class="tag" taget="_blank" href="/search/%E6%97%A0%E6%8D%9F%E8%AF%BB%E5%8F%96/1.htm">无损读取</a><a class="tag" taget="_blank" href="/search/%E8%AF%BB%E5%8F%96%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6/1.htm">读取文本文件</a><a class="tag" taget="_blank" href="/search/charset/1.htm">charset</a>
                                    <div>java 如何无损读取文本文件呢? 
以下是有损的 
@Deprecated
	public static String getFullContent(File file, String charset) {
		BufferedReader reader = null;
		if (!file.exists()) {
			System.out.println("getFull</div>
                                </li>
                                <li><a href="/article/3218.htm"
                                       title="Firebase 相关文章索引" target="_blank">Firebase 相关文章索引</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/firebase/1.htm">firebase</a>
                                    <div>Awesome Firebase 
最近谷歌收购Firebase的新闻又将Firebase拉入了人们的视野,于是我做了这个 github 项目。 
Firebase 是一个数据同步的云服务,不同于 Dropbox 的「文件」,Firebase 同步的是「数据」,服务对象是网站开发者,帮助他们开发具有「实时」(Real-Time)特性的应用。 
开发者只需引用一个 API 库文件就可以使用标准 RE</div>
                                </li>
                                <li><a href="/article/3345.htm"
                                       title="C++学习重点" target="_blank">C++学习重点</a>
                                    <span class="text-muted">lx.asymmetric</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                                    <div>1.c++面向对象的三个特性:封装性,继承性以及多态性。 
  
2.标识符的命名规则:由字母和下划线开头,同时由字母、数字或下划线组成;不能与系统关键字重名。 
  
3.c++语言常量包括整型常量、浮点型常量、布尔常量、字符型常量和字符串性常量。 
  
4.运算符按其功能开以分为六类:算术运算符、位运算符、关系运算符、逻辑运算符、赋值运算符和条件运算符。 
&n</div>
                                </li>
                                <li><a href="/article/3472.htm"
                                       title="java bean和xml相互转换" target="_blank">java bean和xml相互转换</a>
                                    <span class="text-muted">q821424508</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/xml%E5%92%8Cbean%E8%BD%AC%E6%8D%A2/1.htm">xml和bean转换</a><a class="tag" taget="_blank" href="/search/java+bean%E5%92%8Cxml%E8%BD%AC%E6%8D%A2/1.htm">java bean和xml转换</a>
                                    <div>这几天在做微信公众号 
做的过程中想找个java bean转xml的工具,找了几个用着不知道是配置不好还是怎么回事,都会有一些问题, 
然后脑子一热谢了一个javabean和xml的转换的工具里,自己用着还行,虽然有一些约束吧 , 
还是贴出来记录一下  
  
  
顺便你提一下下,这个转换工具支持属性为集合、数组和非基本属性的对象。 
  
packag</div>
                                </li>
                                <li><a href="/article/3599.htm"
                                       title="C 语言初级 位运算" target="_blank">C 语言初级 位运算</a>
                                    <span class="text-muted">1140566087</span>
<a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div>  第十章 位运算    1、位运算对象只能是整形或字符型数据,在VC6.0中int型数据占4个字节    2、位运算符:  运算符 作用  ~ 按位求反  << 左移  >> 右移  & 按位与  ^ 按位异或  | 按位或   他们的优先级从高到低;    3、位运算符的运算功能:  a、按位取反:  ~01001101 = 101</div>
                                </li>
                                <li><a href="/article/3726.htm"
                                       title="14点睛Spring4.1-脚本编程" target="_blank">14点睛Spring4.1-脚本编程</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a>
                                    <div>14.1 Scripting脚本编程 
 
 脚本语言和java这类静态的语言的主要区别是:脚本语言无需编译,源码直接可运行; 
 如果我们经常需要修改的某些代码,每一次我们至少要进行编译,打包,重新部署的操作,步骤相当麻烦; 
 如果我们的应用不允许重启,这在现实的情况中也是很常见的; 
 在spring中使用脚本编程给上述的应用场景提供了解决方案,即动态加载bean; 
 spring支持脚本</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><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>