超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)

本文通过学习其他网站的内容,展示自己学习的过程,标出出现的问题并给出解决方案。本文多数是引用,也含有大量自己查找资料和试错进行的补充。
引用内容的链接:
核心引用:
Python爬虫入门教程:超级简单的Python爬虫教程:
http://c.biancheng.net/view/2011.html
部分补充:
python爬虫的原理介绍:
https://blog.csdn.net/wapecheng/article/details/93519747
爬虫的基本原理:
https://zhuanlan.zhihu.com/p/66375984

一.网页构造:

在这里插入图片描述

  • 1.网页标签

网页一般由三部分组成,分别是 HTML(超文本标记语言)、CSS(层叠样式表)和 JScript(活动脚本语言)。
HTML
HTML 是整个网页的结构,相当于整个网站的框架。带“<”、“>”符号的都是属于 HTML 的标签,并且标签都是成对出现的。

常见的标签如下:
超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第1张图片
备注:其中div全称:DIVision,是层叠样式表中的定位技术
href是Hypertext Reference的缩写。 意思是指定超链接目标的URL
/

表示换行操作,全称break (在编译md文件时使用\是字符转义,
为换行,\
则直接输出


  • 2.CSS图形样式

CSS 表示样式,<style type="text/css">表示下面引用一个 CSS,在 CSS 中定义了外观。
JScript
JScript 表示功能。交互的内容和各种特效都在 JScript 中,JScript 描述了网站中的各种功能。

  • 3.JScript

JScript 表示功能。交互的内容和各种特效都在 JScript 中,JScript 描述了网站中的各种功能。

如果用人体来比喻,HTML 是人的骨架,并且定义了人的嘴巴、眼睛、耳朵等要长在哪里。CSS 是人的外观细节,如嘴巴长什么样子,眼睛是双眼皮还是单眼皮,是大眼睛还是小眼睛,皮肤是黑色的还是白色的等。JScript 表示人的技能,例如跳舞、唱歌或者演奏乐器等。

在我搭建自己的博客的时候借鉴t他人的模板里面经常会看到一些JScript插件,这些插件可以实现非常丰富的功能,例如人机交互的图案(移动鼠标将会在相应的位置出现图形),酷炫的效果等等。
以下是我未将主页上传到服务器,仅仅搭建好Apache+php+mysql(LAMP)时的效果,个人主页暂时未上传。目前可以访问alvincr.com并使用ctrl+u进行查看源代码
超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第2张图片

二.关于爬虫的合法性

几乎每一个网站都有一个名为 robots.txt 的文档,当然也有部分网站没有设定 robots.txt。对于没有设定 robots.txt 的网站可以通过网络爬虫获取没有口令加密的数据,也就是该网站所有页面数据都可以爬取。如果网站有 robots.txt 文档,就要判断是否有禁止访客获取的数据。

搜索引擎获取一个新网站的 URL:
(1) 新网站向搜索引擎主动提交网址:(如百度 http://zhanzhang.baidu.com/linksubmit/url)
(2) 在其他网站上设置新网站外链(尽可能处于搜索引擎爬虫爬取范围)
(3) 搜索引擎和 DNS 解析服务商(如 DNSPod 等) 合作, 新网站域名将被迅速抓取。
但是搜索引擎蜘蛛的爬行是被输入了一定的规则的, 它需要遵从一些命令或文件的内容, 如标注为 nofollow 的链接, 或者是 Robots 协议。
Robots 协议(也叫爬虫协议、 机器人协议等) , 全称是“网络爬虫排除标准”(Robots Exclusion Protocol) , 网站通过 Robots 协议告诉搜索引擎哪些页面可以抓取, 哪些页面不能抓取, 例如:
淘宝网: https://www.taobao.com/robots.txt
腾讯网: http://www.qq.com/robots.txt

以淘宝网为例,在浏览器中访问 https://www.taobao.com/robots.txt,
在这里插入图片描述这里不允许baidu进行爬取,但是我即便使用google登录同样也显示的是上面的文档,在谷歌搜索相关资料,大家说是淘宝整个网站都不给爬取。所以放弃对淘宝进行爬取,随便找一个网站看他的robots文档,若能进行爬取再使用爬取功能。实在找不到可以爬取我的小水管主页。
超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第3张图片

三 .爬虫软件的工作流程

不想了解基础的可跳过

爬虫的比喻:如果我们把互联网比作一张大的蜘蛛网,那一台计算机上的数据便是蜘蛛网上的一个猎物,而爬虫程序就是一只小蜘蛛,沿着蜘蛛网抓取自己想要的猎物/数据.


爬虫的定义:向网站发起请求,获取资源后分析并提取有用数据的程序

  • 1.抓取网页

搜索引擎网络爬虫的基本工作流程如下:
首先选取一部分的种子 URL, 将这些 URL 放入待抓取 URL 队列;
取出待抓取 URL, 解析 DNS 得到主机的 IP, 并将 URL 对应的网页下载下来, 存储进已下载网页库中, 并且将这些 URL 放进已抓取 URL 队列。
分析已抓取 URL 队列中的 URL, 分析其中的其他 URL, 并且将 URL 放入待抓取 URL队列, 从而进入下一个循环…
注:大意是:要爬取alvincr.com,首先给定alvincr.com这个种子url,然后从这个种子找使用的外链链接进行爬取,在爬取的时候以及我们看到的都是网页名称,例如alvincr.com,但是计算机在爬取时要找到这个网页在哪台主机上,要找到主机就需要主机的ip,DNS解析便是将alvincr.com找到对应的ip地址,然后连接对应主机并将内容全部下载到本地。
超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第4张图片

  • 2.数据存储

搜索引擎通过爬虫爬取到的网页, 将数据存入原始页面数据库。 其中的页面数据与用户浏览器得到的 HTML 是完全一样的。
搜索引擎蜘蛛在抓取页面时, 也做一定的重复内容检测, 一旦遇到访问权重很低的网站上有大量抄袭、 采集或者复制的内容, 很可能就不再爬行。

  • 3.请求与响应
    请求方式:
    3.1.1.常用的请求方式:GET,POST
    3.1.2其他请求方式:HEAD,PUT,DELETE,OPTHONS

响应:
3.2.1、响应状态: 200:代表成功 301:代表跳转 404:文件不存在 403:权限 502:服务器错误
3.2.2、响应头: Respone header set-cookie:可能有多个,是来告诉浏览器,把cookie保存下来。
3.2.3、网页源代码: preview 最主要的部分,包含了请求资源的内容,如网页html、图片和二进制数据等。

四 .实现爬虫的语言

1.php:可以实现爬虫。php被号称是全世界最优美的语言,但是php在实现爬虫中支持多线程和多进程方面做的不好。

2.java:可以实现爬虫。java可以非常好的处理和实现爬虫,是唯一可以与python并驾齐驱且是python的头号劲敌。但是java实现爬虫代码较为臃肿,重构成本较大。

3.c、c++:可以实现爬虫。但是使用这种方式实现爬虫纯粹是是某些人(大佬们)能力的体现,却不是明智和合理的选择。

4.python:可以实现爬虫。python实现和处理爬虫语法简单,代码优美,支持的模块繁多,学习成本低,具有非常强大的框架(scrapy等)


注:最终使用的是python,IDE(Integrated Drive Electronics,集成编译环境)使用的是Anaconda,也可以使用Pycharm,一开始我使用的是Pycharm,但是出现了很多BUG,可能是我BUG体质引起的,然后专用Anaconda自带的Spyder,不管用哪个实际使用都一样,但是Anconada还有很多其它的功能,集成效果更好。

另附Pycharm使用指南:https://mp.weixin.qq.com/s?__biz=MzU2ODYzNTkwMg==&mid=2247483976&idx=1&sn=ffb8362d88371c805823da9ba408b9b2&chksm=fc8bbad9cbfc33cfccdb68caaea78b412b016302826312beeae09317d98aeb495736b80e1f02&scene=21#wechat_redirect

Spyder使用指南:https://zhuanlan.zhihu.com/p/67080268

五.用 Python 登录网页

在spyder中任意新建一个项目(按ctrl+n可以快速新建)
超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第5张图片
用 Python 来爬取这个网页的一些基本信息. 首先要做的, 是使用 Python 来登录这个网页, 并打印出这个网页 HTML 的 source code. 注意, 因为网页中存在中文, 为了正常显示中文, read() 完以后, 我们要对读出来的文字进行转换, decode() 成可以正常显示中文的形式.
备注:由于我的网页目前没有上传,显示是全英文,但是自己的服务器可以自己随便折腾,也不会对他人造成困扰,因此下面仍然用我自己的网页进行爬取,后面如果上传自己的主页,爬取出来的内容可能会不同

五.简单爬取网页

  • 使用urlopen操作进行爬取

from urllib.request import urlopen

html = urlopen(
“http://www.alvincr.com/” ).read().decode(‘utf-8’)
print(html)
图片版含备注:lib全称:Library即库,urllib即链接库,从链接库中导入urlopen开源链接命令。
超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第6张图片

  • 使用get操作

import requests
url=‘http://www.alvincr.com/’
strhtml=request.get(url)
print(strhtml.text)
图片版:在这里插入图片描述

爬取结果:超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第7张图片
备注:Str 函数 返回代表一数值的 Variant (String)。可包含任何有效的数值表达式。

注意:无论是使用哪种方式,一定一定不要写网站的简称,例如:如果我将http://www.alvincr.com/写成alvincr.com则输出错误超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第8张图片
在这里插入图片描述在这里插入图片描述
如果仍然不能爬取,请检测大小写以及中英文输入法问题

六.简单匹配网页内容

print 出来这就证明了我们能够成功读取这个网页的所有信息了. 但我们还没有对网页的信息进行汇总和利用. 我们发现, 想要提取一些形式的信息, 合理的利用 tag 的名字十分重要.

这里我们使用 Python 的正则表达式 RegEx 进行匹配文字,可以认为RegEx就是正则表达式,正则表达式的目的便是为了匹配文字或是找到你想要的内容,类似于Win10中的查找,只不过使用正则表达式更为灵活,可以更加随心所欲的过滤和查找内容, 筛选信息。

pattern1 = “alvin”
pattern2 = “com”
pattern3 = “linux”
string = “http://alvincr.com.html”
print(pattern1 in string)
print(pattern2 in string)
print(pattern3 in string)
在这里插入图片描述

备注:测试发现string可以随意改名,但是改成string-test就无法运行

七.普通匹配网页内容

如果需要找到潜在的多个可能性文字, 我们可以使用 [] 将可能的字符囊括进来. 比如 [ab] 就说明我想要找的字符可以是 a 也可以是 b. 这里我们还需要注意的是, 建立一个正则的规则, 我们在 pattern 的 “” 前面需要加上一个 r 用来表示这是正则表达式, 而不是普通字符串. 通过下面这种形式, 如果字符串中出现 “add” 或者是 “adm”, 它都能找到.

  • 匹配字符串

from urllib.request import urlopen
import re
html = urlopen(
“http://www.alvincr.com/”).read().decode(‘utf-8’)
print(html)
#multiple patterns (“add” or “adm”)
ptn = r"ad[dm]"
print(re.search(ptn, html))

超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第9张图片
匹配结果
超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第10张图片
备注:PTN是分组传送网的英文缩写,全称为Packet Transport Network
注意:在使用re.search时要首先调用re,否则输出:NameError: name ‘re’ is not defined。方法为在首行添加:import re**

  • 匹配标题

如果我们想用代码找到这个网页的 title, 我们就能这样写. 选好要使用的 tag 名称 . 使用正则匹配。

from urllib.request import urlopen
import re
html = urlopen(“http://www.alvincr.com/”).read().decode(‘utf-8’)
res=re.findall(r"(.+?)",html)
print("\nPage title is ",res[0])
在这里插入图片描述

从浏览器按F12可以看到网页的源代码超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第11张图片可以看到标题就是Welcome to CentOS
注意:
res=re.findall(r"(.+?)",html)要写完整
比如写成res=re.findall(r"(.+?)",html)输出界面就只有W,因为没有给定标题的结尾
写成res=re.findall(r"(+?)",html),则显示error: nothing to repeat<br> 写成res=re.findall(r"(.?)",html),则显示IndexError: list index out of range<br> 写成res=re.findall(r"(.?)",html),显示error: nothing to repeat</strong></p> <p>备注:<br> ?表示找到匹配内容就停止,不继续匹配,必须跟在*或者+后边用<br> .表示除\n之外的任意字符<br> *表示匹配0-无穷<br> +表示匹配1-无穷</p> <ul> <li>重点:找所有的链接</li> </ul> <h2>八.进阶网页匹配</h2> <p>随用随看,无需全部记忆<br> 链接:https://ahkcn.github.io/docs/misc/RegEx-QuickRef.htm<br> 主要功能及对应命令:</p> <ul> <li> <p>按类型匹配:<br> \d:任何数字<br> \D:不是数字<br> \s:任意空白字符如[\t\n\r\f\v]<br> \w:任意大小写字母和数字和“”<br> \:匹配<br> .:匹配任何字符<br> ^:匹配开头<br> $:匹配结尾<br> ?:前面的字符可有可无</p> </li> <li> <p>重复匹配<br> *:重复零次或多次<br> +:重复一次或多次<br> [h,n]:重复n至m次<br> [n]:重复n次</p> </li> <li> <p>分组<br> 使用()<br> 在(\d+)组里,找到的是数字,其中\d代表任何数字<br> 在(.+)组里,会找到“Date:”后面的所有内容,其中.是匹配所有字符,+重复一次或多次<br> match.group返回所有组里的内容<br> ?P<名字>给组自定义名字</p> </li> <li> <p>findall<br> 找到全部的匹配项</p> </li> <li> <p>replace<br> re.sub()通过正则表达式匹配上一些形式的字符串然后再替代掉这些字符串</p> </li> <li> <p>split切割<br> <a href="http://img.e-com-net.com/image/info8/a7ca6f4799c24fa19f30417ea45282f1.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/a7ca6f4799c24fa19f30417ea45282f1.jpg" alt="超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder)_第12张图片" width="650" height="1398" style="border:1px solid black;"></a></p> </li> </ul> <h2>九</h2> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1274474176521977856"></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">你可能感兴趣的:(超详细Python爬虫自学整理从基础内容开始到进阶(不断更新)(Anaconda中的Spyder))</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1835232578660036608.htm" title="致即将逝去的2020年" target="_blank">致即将逝去的2020年</a> <span class="text-muted">斯丹钰</span> <div>婚姻生活没有想象中那么完美…有时候特别痛恨小时候受的那些教育为什么要被灌输:结婚就好了结婚根本不是那么一件容易的事情…结婚是一种全新生活方式的开始是每一个人学习的新课程很讨厌传统思想中:女人的价值不就是为了生儿育女的吗!我觉得女人哪怕你不是想走所谓的事业型但是你一定要拥有一技之长无论你身在职场,还是想退隐江湖哪天再回来…至少你能在这个时代和这个社会生存下去那时候再来谈你的精神你要的所有其它的东西不</div> </li> <li><a href="/article/1835231308377321472.htm" title="《易经•节卦》,懂得适度节制的智慧,才能健康安定!" target="_blank">《易经•节卦》,懂得适度节制的智慧,才能健康安定!</a> <span class="text-muted">读史明智慧</span> <div>先看卦画和标题:本卦的卦名节,本义是竹节,引申为节制、节俭的意思。从卦画上可以看到,节卦是上坎下兑,上卦坎为水,下卦兑为泽,水流入泽中,过度就会溢出,所以用竹节的形象表示要加以限制。节卦与之前的涣卦互为综卦,卦象相反,义理相通,涣散与节制,二者相反相成。节制也是人类与自然的共同规律,春夏秋冬各季节,每“节”都要适度,人的生活和健康,也需要有节制,把握好分寸。接着看正文和卦辞:原文:节,亨。苦节不可</div> </li> <li><a href="/article/1835231177401790464.htm" title="65岁老人亲身经历,老年的无助,从活到60岁的那一刻,就注定了" target="_blank">65岁老人亲身经历,老年的无助,从活到60岁的那一刻,就注定了</a> <span class="text-muted">舒山有鹿</span> <div>01人到中年,前怕虎,后怕狼,中间怕没钱。人到晚年,前不见归途,后不见来路,让人唏嘘感叹。如果说中年是一道坎,那晚年就是一座山。我们跨过了坎,可还是逃不过这座大山。因为谁也无法逃避老去的命运,谁也无法改变年迈体衰的事实。尤其在这个老龄化突出,且老人不受待见的年代里面,人到晚年,或许就是一场劫难。对此,很多人都会疑惑,老龄化突出还可以理解,可为什么老人会面临“不受待见”的命运呢?人老了,被人嫌弃,被</div> </li> <li><a href="/article/1835231173622722560.htm" title="奇慧文化华日雁:行走于另类品牌传播策划的激情人生" target="_blank">奇慧文化华日雁:行走于另类品牌传播策划的激情人生</a> <span class="text-muted">静雅子</span> <div>华日雁原名陈浩,新锐品牌策划界代表性人物,厦门奇慧文化传播有限公司创始人,首席导师,曾任知名上市公司总裁。华日雁最常讲的一句话就是:品牌传播要敢于天马行空,要敢于无中生有,要敢于打破规则,同时要传递积极的社会正能量。这也是华日雁给自己的品牌策划生涯制定的最基本的创意底线和道德底线。奇慧文化创始人华日雁说华日雁的发展史就是一部传奇史一点儿也不为过,从一名普通的销售人员到创立自己的公司,到把公司成功于</div> </li> <li><a href="/article/1835231046422065152.htm" title="452期:2022年吉林养老金方案公布,三降一升一持平,基础养老金高优势大" target="_blank">452期:2022年吉林养老金方案公布,三降一升一持平,基础养老金高优势大</a> <span class="text-muted">社保小龙虾</span> <div>社保知识,小龙虾每日分享第452期,欢迎关注!续陕西首先默默调整2022年养老金后,吉林也开始进行了养老金的调整(河南的公告不算,没有任何具体调整比例!)下面随小龙虾一起看看吉林的调整方案,具体参照吉人社联【2022】95号文件!一、具体方案对比,三降一升1、定额调整2022年吉林的定额调整金额是每人每月增加30元,相对于去年的36元,下降了6元,下降幅度16.67%2、挂钩调整:工龄挂钩调整工龄</div> </li> <li><a href="/article/1835230980848316416.htm" title="【华为OD机试真题 python】输出指定字母在字符串的中的索引【2022 Q4 | 100分】" target="_blank">【华为OD机试真题 python】输出指定字母在字符串的中的索引【2022 Q4 | 100分】</a> <span class="text-muted">无痕de泪</span> <a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95%E7%9C%9F%E9%A2%98/1.htm">华为OD机试真题</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%BE%93%E5%87%BA%E6%8C%87%E5%AE%9A%E5%AD%97%E6%AF%8D%E5%9C%A8%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E4%B8%AD%E7%9A%84%E7%B4%A2%E5%BC%95/1.htm">输出指定字母在字符串的中的索引</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2/1.htm">字符串</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>前言《华为OD笔试真题python》专栏含华为OD机试真题、华为面试题、牛客网华为专栏真题。如果您正在准备华为的面试,或者华为od的机会,有任何想了解的可以私信我进行交流。我会尽可能的给一些建议,和帮您解答!PS:文中答案仅供参考,不能照抄哦■题目描述【输出指定字母在字符串的中的索引】给定一个字符串,把字符串按照大写在前小写在后排序,输出排好后的第K个字母在原来字符串的索引。相同字母输出第一个出现</div> </li> <li><a href="/article/1835230790942814208.htm" title="颜汝老师2.6号直播@命硬私董会" target="_blank">颜汝老师2.6号直播@命硬私董会</a> <span class="text-muted">酸梅子616</span> <div>一层:用番茄钟;一次只做一件事;做到有结果再去做另一件事专注第二层:石墨文档全屏功能;让你完全忘记时间;抖音就是让你经常偷走时间的软件专注第三层:当别人没给你设置倒计时,你要给自己设置倒计时;有意识去给自己倒计时;乔布斯假如今天是我生命中的最后一天我要如何对待这一天)人有两种状态:一种是懒洋洋状态;另一种是灰大狼专注记者思维;随时随地进入专注的状态的那个人生疑问是什么,去训练自己,去给生活做结合;</div> </li> <li><a href="/article/1835229972021735424.htm" title="【RabbitMQ 项目】服务端数据管理模块之交换机管理" target="_blank">【RabbitMQ 项目】服务端数据管理模块之交换机管理</a> <span class="text-muted">月夜星辉雪</span> <a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>文章目录一.编写思路二.代码实践一.编写思路定义交换机类型直接交换广播交换主题交换定义交换机名字类型是否持久化定义交换机持久化类(持久化到sqlite3)构造函数(只能成功,不能失败)如果数据库(文件)不存在则创建打开数据库打开exchange_table数据库表插入交换机移除交换机将数据库中的交换机恢复到内存中传入一个哈希表,key为名字,value为交换机的智能指针,填充该哈希表定义交换机管理</div> </li> <li><a href="/article/1835229465546944512.htm" title="SQL查询技巧:深入解析学生选课系统数据库" target="_blank">SQL查询技巧:深入解析学生选课系统数据库</a> <span class="text-muted">天冬忘忧</span> <a class="tag" taget="_blank" href="/search/SQL/1.htm">SQL</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>在大学的学生选课系统中,数据库的管理和查询是日常操作中的重要部分。本文通过一系列具体的SQL查询示例,深入解析如何高效地从数据库中获取所需信息,包括学生选课情况、成绩分析、教师课程管理等。系统数据库结构首先,我们有一个包含以下表的数据库:course-存储课程信息建表CREATETABLE`course`(`CNO`varchar(5)NOTNULL,`CNAME`varchar(10)NOTNU</div> </li> <li><a href="/article/1835229087489159168.htm" title="为什么Node.js不适合CPU密集型应用?" target="_blank">为什么Node.js不适合CPU密集型应用?</a> <span class="text-muted">weixin_54503231</span> <a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a> <div>Node.js不适合CPU密集型应用的原因主要基于其设计理念和核心特性,具体可以归纳为以下几点:单线程模型Node.js采用单线程模型来处理用户请求和异步I/O操作。虽然这种模型在处理高并发I/O密集型任务时非常高效,因为它避免了传统多线程模型中的线程上下文切换开销,但这也意味着它不能充分利用现代多核CPU的计算能力。对于需要大量计算资源的CPU密集型应用,单线程模型会成为瓶颈,导致应用性能受限。</div> </li> <li><a href="/article/1835228376634322944.htm" title="《掌控习惯》第二遍读书笔记" target="_blank">《掌控习惯》第二遍读书笔记</a> <span class="text-muted">尼古拉斯咚</span> <div>这本书反反复复看了两遍,每一遍对书中的内容都有不同的认识;以下是我的读书笔记和行动感悟读书的笔记和感悟好习惯+复利的力量是巨大的,这个可能是老生常谈的话题,但当我真正意识到,并重新开始审视自己日常生活中的习惯时才发现,坏习惯让我自己每天有不少时间浪费在了平庸上,随着时间的消逝我损失的也越来越多;生活中经常说“做时间的朋友”,“延迟满足”之类的话,但这些都有一个前提条件是只有当你真正是养成了好的习惯</div> </li> <li><a href="/article/1835228374067408896.htm" title="大难未死,后福在何方" target="_blank">大难未死,后福在何方</a> <span class="text-muted">吴江月</span> <div>每个人的一生都会经历几次磨难,甚至是接近死亡。图片发自App今天回家的时候听家里人说村里的一个人出了车祸,很严重,差点就没有抢救过来,说幸亏他命大,要是赶别人,早就撞死了。然后突然想到了自己年轻的时候,那时候经历的几次磨难,是真真切切体会到了死神的气息。第一次是在我上小学的时候,忘了是几岁了,只记得那时候家里还有羊。我是在去放羊的时候,爬到树上掰树叶给羊吃,结果一下树枝断了,我从树上掉了下来,后背</div> </li> <li><a href="/article/1835228375313117184.htm" title="心若不复杂,人生也简单" target="_blank">心若不复杂,人生也简单</a> <span class="text-muted">陈怀南</span> <div>日精进打卡第193天姓名:陈怀南546期学员,565期志工公司:宁波新斯维箱包有限公司[知~学习]背诵《六项精进》1遍共271遍背诵《大学》1遍共248遍诵读《干法》,听樊登读书《干法》读《活法》2遍(1.27开始看第三遍)樊登听书《扫除道》《非暴力沟通》等抄写《活法》1遍完结听《活法》《日行一善》《京博国学》公众号文章:心若不复杂,人生也简单。世界复杂么?其实远比你想的简单得多;所谓的“复杂”,</div> </li> <li><a href="/article/1835228079501438976.htm" title="PCIe进阶之TL:Common Packet Header Fields & TLPs with Data Payloads Rules" target="_blank">PCIe进阶之TL:Common Packet Header Fields & TLPs with Data Payloads Rules</a> <span class="text-muted">芯芯之火,可以燎原</span> <a class="tag" taget="_blank" href="/search/PCIe%E8%BF%9B%E9%98%B6/1.htm">PCIe进阶</a><a class="tag" taget="_blank" href="/search/PCIe%E8%BF%9B%E9%98%B6/1.htm">PCIe进阶</a><a class="tag" taget="_blank" href="/search/%E7%A1%AC%E4%BB%B6%E5%B7%A5%E7%A8%8B/1.htm">硬件工程</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E4%B8%8E%E9%80%9A%E4%BF%A1/1.htm">信息与通信</a> <div>1TransactionLayerProtocol-PacketDefinitionTLP有四种事务类型:Memory、I/O、Configuration和Messages,两种地址格式:32bit和64bit。构成TLP时,所有标记为Reserved的字段(有时缩写为R)都必须全为0。接收者Rx必须忽略此字段中的值,PCIeSwitch必须对其进行原封不动的转发。请注意,对于某些字段,既有指定值</div> </li> <li><a href="/article/1835227862991466496.htm" title="人生最好是小满" target="_blank">人生最好是小满</a> <span class="text-muted">周哥建辉</span> <div>苦菜秀,靡草死,麦秋至。夏天已至,炽热未满。今日小满。小满,是二十四节气之一,是夏季的第二个节气——四月中,小满者,物致于此小得盈满。其含义是夏熟作物的籽粒开始灌浆、饱满,但还未成熟,只是小满,还未大满。小满是一个充满传统智慧的节气。中国传统文化讲中庸之道,二十四节气中很多是相对着的,比如小暑大暑、小雪大雪、小寒大寒等等,唯独有小满,没有大满。俗话有“月满则亏,水满则溢”,以及“盛极必衰”的说法,</div> </li> <li><a href="/article/1835226975535460352.htm" title="学习的斑斓世界" target="_blank">学习的斑斓世界</a> <span class="text-muted">小白记录本</span> <div>心仪的书总舍不得读完,总舍不得合上书放下。这本书写于2017年,是一本新书,通过刘秀老师读到了这本书,荣幸之极。以前读过华德福华德福教育的创始人鲁道夫斯坦纳的著作《斯坦纳给教师的建议》,了解到一些华德福的教育思想,一些教育理论性的,思想指导性的东西,让我眼前一亮,印象深刻。今天看到这么通俗易懂的华德福教育理念,以及详细贴地气的华德福的教育案例,让我觉得既兴奋又激动。华德福的教育来源于德国,这本书的</div> </li> <li><a href="/article/1835225686630035456.htm" title="c语言双向链表清空,C语言实现链表之双向链表(四)清空链表" target="_blank">c语言双向链表清空,C语言实现链表之双向链表(四)清空链表</a> <span class="text-muted">火龙果和哈密瓜</span> <a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80%E5%8F%8C%E5%90%91%E9%93%BE%E8%A1%A8%E6%B8%85%E7%A9%BA/1.htm">c语言双向链表清空</a> <div>/*==============================================================================*操作:清空链表,释放结点内存,将链表重置为空表*操作前:ppHeadNode为链表头指针的二级指针*操作后:(*ppHeadNode)所指链表中的所有结点的内存被释放,重置为空表==============================</div> </li> <li><a href="/article/1835225687028494336.htm" title="java获取applicationcontext,SpringBoot获取ApplicationContext的3种方式" target="_blank">java获取applicationcontext,SpringBoot获取ApplicationContext的3种方式</a> <span class="text-muted">花儿街参考</span> <div>ApplicationContext是什么?简单来说就是Spring中的容器,可以用来获取容器中的各种bean组件,注册监听事件,加载资源文件等功能。ApplicationContext获取的几种方式1直接使用Autowired注入@ComponentpublicclassBook1{@AutowiredprivateApplicationContextapplicationContext;pub</div> </li> <li><a href="/article/1835225571777409024.htm" title="特雷-杨表现出色,比肩詹姆斯,库里" target="_blank">特雷-杨表现出色,比肩詹姆斯,库里</a> <span class="text-muted">Allen196</span> <div>特雷-杨得到35分11次助攻。从2000年以后只有两个新秀可以打出这样的数据(至少35分,10次助攻),他们的名字是:史蒂芬-库里,勒布朗-詹姆斯。现在亚特兰大老鹰队的特雷-杨加入了他们的行列,在对阵克里夫兰骑士队的比赛中,他拿到了35分,11次助攻帮助老鹰队取得胜利,同时也是老鹰队主教练罗伊德-皮尔斯作为NBA主教练的首场胜利。揭幕战战胜尼克斯,第二场战胜防守强硬的灰熊后,杨再次帮助球队战胜了骑</div> </li> <li><a href="/article/1835225316210077696.htm" title="京东三八妇女节优惠券怎么领?领券规则有哪些?" target="_blank">京东三八妇女节优惠券怎么领?领券规则有哪些?</a> <span class="text-muted">高省APP珊珊</span> <div>京东三八妇女节优惠券的领取方式和领券规则如下:高省-淘宝38密令(超红密令)领取/核销时间一致:2月29日10点——3月8号(含)你真漂亮377【高省】APP(高佣金领导者)是一个自用省钱佣金高,分享推广赚钱多的平台,2000万用户信赖的四年老平台,稳定可靠。高省APP佣金更高,模式更好,终端用户不流失。高省是公认的返利最高的软件。珊珊导师高省邀请码666123,注册送2皇冠会员,送万元推广大礼包</div> </li> <li><a href="/article/1835225180255907840.htm" title="疫情与青春" target="_blank">疫情与青春</a> <span class="text-muted">白羊日记</span> <div>偶然间看到这样一句话“青春才几年疫情就占了三年”刚看到这句话我想包括我在内,大部分青年无疑都会赶到伤感,所有人的计划都变成了:等疫情结束以后。疫情那年我初三,延期的中考,透不过气的口罩换了又换,到现在疫情已经整整三年了,我以为中考之后的我会去旅游看偶像的演唱会,疫情偷走了我人生中最珍贵的几年,它好像漫长的没有尽头。今年它来到了我的城市,这是我第一次感觉到害怕,因为我爱的人和爱我的人都在这个城市,到</div> </li> <li><a href="/article/1835224800214216704.htm" title="整理桌洞我最棒" target="_blank">整理桌洞我最棒</a> <span class="text-muted">冯姗姗</span> <div>整理技能是当前小学生非常重要的一项技能,也是我带班中作为重中之重抓的一项技能,今天跟大家分享整理桌洞和书包橱的小妙招。下课铃响了,我快速来到教室,这个大课间要求打扫卫生,而整理好自己的桌洞是首要任务,也是必查项目。“孩子们,请把你桌洞的所有物品整齐地摆到桌面上来,我要挨个验收”,我这话刚落下,下课还没走的英语老师马上问我“你这是要干什么?”,“整理桌洞啊”,我非常自然地进行回答,“第一次见你这样地</div> </li> <li><a href="/article/1835224671734296576.htm" title="儿童睡眠时间表" target="_blank">儿童睡眠时间表</a> <span class="text-muted">Jenner接纳</span> <div>儿童睡眠时间表图片发自App最近家长又因为孩子晚睡这个问题头疼起来。有家长头疼到一直在后台询问:到底有什么科学方法能让孩子按时睡觉?有报道显示从2006年至今,中国学龄前儿童的睡眠时间正在逐步减少。5—6岁孩子平均为11.29个小时;到了2015年,一项针对全国10座城市1632名学龄前儿童的调查显示,被调查者的平均睡眠时间为9.57个小时。而学龄儿童的睡眠时间则更加堪忧。家长们的无奈成了无解的难</div> </li> <li><a href="/article/1835224553018716160.htm" title="安装依赖时报错:npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving" target="_blank">安装依赖时报错:npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving</a> <span class="text-muted">帅气绝非偶然</span> <a class="tag" taget="_blank" href="/search/npm/1.htm">npm</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a> <div>这里我在npmivant@latest-v2或者其他依赖包的时候出现以上错误可能是npm版本问题报错解决方法:在安装命令后边加上1|--legacy-peer-deps或者--force如图中的指令:</div> </li> <li><a href="/article/1835224553417175040.htm" title="【C语言】C语言中的构造类型(自定义类型)" target="_blank">【C语言】C语言中的构造类型(自定义类型)</a> <span class="text-muted">写代码也摆烂</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E7%AC%94%E8%AE%B0/1.htm">C语言笔记</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a> <div>构造类型:也称自定义类型,构造类型是由基本数据类型组成的复合类型。一般用于存储较为复杂的数据。常见的构造类型有结构体(struct)、共用体(union)和枚举(enum)。目录正文一、结构体(struct)1、结构体概念:2、定义结构体类型与结构体变量3、结构体变量的初始化与引用3、结构体数组4、结构体指针*二、共用体(union)三、枚举类型四、用typedef声明新的类型名1、常用的方法有:</div> </li> <li><a href="/article/1835224174977708032.htm" title="JVM 调优篇7 调优案例1-堆空间的优化解决" target="_blank">JVM 调优篇7 调优案例1-堆空间的优化解决</a> <span class="text-muted">健康平安的活着</span> <a class="tag" taget="_blank" href="/search/jvm%E8%B0%83%E4%BC%98/1.htm">jvm调优</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a> <div>一jvm优化1.1优化实施步骤*1)减少使用全局变量和大对象;2)调整新生代的大小到最合适;3)设置老年代的大小为最合适;4)选择合适的GC收集器;1.2关于GC优化原则多数的Java应用不需要在服务器上进行GC优化;多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题;在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合);减少创建对象的数量;减少使用全局变量和大对象;</div> </li> <li><a href="/article/1835224037366788096.htm" title="大家是不是都懂得理财?" target="_blank">大家是不是都懂得理财?</a> <span class="text-muted">AnonymousD</span> <div>上周在家整理卫生,被我从某个犄角旮旯里面翻出来了十几块现金。当时的第一反应就是:Wow!这下好了!终于又可以用现金去买菜了!为什么我会这么兴奋?因为自从有了支付宝、微信等支付工具之后,人们使用现金支付的频率真的越来越低了。但是家里还有猫要养啊,所以终于又能使用现金真的太棒了!去市场要找零我都会大声地说:“有硬币就给我硬币吧,谢谢~”这样的猫,家里一共四只,嗷嗷待哺啊,害~其实我人生中的第一个存钱罐</div> </li> <li><a href="/article/1835223794810187776.htm" title="详解C语言中的循环语句" target="_blank">详解C语言中的循环语句</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/c%E8%AF%AD%E8%A8%80/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.while循环2.1if和whlie的对比2.2while语句的工作机制2.3while循环的实践3.for循环3.1for循环语法3.2for循环的工作机制3.3for循环实践4dowhile循环4.1dowhlie循环语法4.2dowhile循环的工作机理4.3dowhile循环实践5.break和continue语句5.1break举例5.2continue举例6.got</div> </li> <li><a href="/article/1835223403125108736.htm" title="古诗中议论的秘密,王安石学杜甫引起争议" target="_blank">古诗中议论的秘密,王安石学杜甫引起争议</a> <span class="text-muted">老街味道</span> <div>前言今天还是学习周振甫先生的《诗词例话》,翻到哪里看哪里,今天是写作篇中的《诗中议论》。其中,关于议论是否着色相,说一说自己的感受。未必准确,欢迎诗友们指正。一、王安石引起争议周振甫先生引用了方回《瀛奎律髓》的一段话:王安石《登大茅山顶》:“一峰高出众山巅,疑隔尘沙道里千。俯视云烟来不极,仰攀萝茑去无前。人间已换嘉平帝,地下谁通勾曲天。陈迹是非今草莽,纷纷流俗尚师仙。纪昀批:“二冯称此诗为史断,太</div> </li> <li><a href="/article/1835223400512057344.htm" title="06月04日" target="_blank">06月04日</a> <span class="text-muted">或许你也这样想</span> <div>躺下来就已经是凌晨了,感觉真的很疲惫,还有好多好多被交代的任务没完成,大脑混乱眼皮也不听使唤耷拉下来,黑眼圈也不知道掉到哪里去了…只感觉一身的疲惫,作为一个心思敏感的职场小白我真的觉得这段时间身体是如此的煎熬精神是如此的压抑,晚上回来从八点多加班到十一点多,一整天都对着电脑脸也开始变得蜡黄剪了短发头发也油的更快了,说话也变得如此的小心翼翼,这应该是初入职场正常的状态吧,这个时候就愈发需要陪伴和沟通</div> </li> <li><a href="/article/54.htm" title="JAVA中的Enum" target="_blank">JAVA中的Enum</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/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/%E6%9E%9A%E4%B8%BE/1.htm">枚举</a> <div>Enum是计算机编程语言中的一种数据类型---枚举类型。 在实际问题中,有些变量的取值被限定在一个有限的范围内。     例如,一个星期内只有七天 我们通常这样实现上面的定义: public String monday; public String tuesday; public String wensday; public String thursday</div> </li> <li><a href="/article/181.htm" title="赶集网mysql开发36条军规" target="_blank">赶集网mysql开发36条军规</a> <span class="text-muted">Bill_chen</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E4%B8%9A%E5%8A%A1%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">业务架构设计</a><a class="tag" taget="_blank" href="/search/mysql%E8%B0%83%E4%BC%98/1.htm">mysql调优</a><a class="tag" taget="_blank" href="/search/mysql%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">mysql性能优化</a> <div>(一)核心军规 (1)不在数据库做运算    cpu计算务必移至业务层; (2)控制单表数据量    int型不超过1000w,含char则不超过500w;    合理分表;    限制单库表数量在300以内; (3)控制列数量    字段少而精,字段数建议在20以内</div> </li> <li><a href="/article/308.htm" title="Shell test命令" target="_blank">Shell test命令</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2/1.htm">字符串</a><a class="tag" taget="_blank" href="/search/test/1.htm">test</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97/1.htm">数字</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E6%AF%94%E8%BE%83/1.htm">文件比较</a> <div>Shell test命令 Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 数值测试 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为真 -lt 小于则为真 -le 小于等于则为真 实例演示: num1=100 num2=100if test $[num1]</div> </li> <li><a href="/article/435.htm" title="XFire框架实现WebService(二)" target="_blank">XFire框架实现WebService(二)</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/webservice/1.htm">webservice</a> <div>   有了XFire框架实现WebService(一),就可以继续开发WebService的简单应用。 Webservice的服务端(WEB工程): 两个java bean类: Course.java    package cn.com.bean; public class Course {     private </div> </li> <li><a href="/article/562.htm" title="重绘之画图板" target="_blank">重绘之画图板</a> <span class="text-muted">朱辉辉33</span> <a class="tag" taget="_blank" href="/search/%E7%94%BB%E5%9B%BE%E6%9D%BF/1.htm">画图板</a> <div>       上次博客讲的五子棋重绘比较简单,因为只要在重写系统重绘方法paint()时加入棋盘和棋子的绘制。这次我想说说画图板的重绘。        画图板重绘难在需要重绘的类型很多,比如说里面有矩形,园,直线之类的,所以我们要想办法将里面的图形加入一个队列中,这样在重绘时就</div> </li> <li><a href="/article/689.htm" title="Java的IO流" target="_blank">Java的IO流</a> <span class="text-muted">西蜀石兰</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>刚学Java的IO流时,被各种inputStream流弄的很迷糊,看老罗视频时说想象成插在文件上的一根管道,当初听时觉得自己很明白,可到自己用时,有不知道怎么代码了。。。 每当遇到这种问题时,我习惯性的从头开始理逻辑,会问自己一些很简单的问题,把这些简单的问题想明白了,再看代码时才不会迷糊。 IO流作用是什么? 答:实现对文件的读写,这里的文件是广义的; Java如何实现程序到文件</div> </li> <li><a href="/article/816.htm" title="No matching PlatformTransactionManager bean found for qualifier 'add' - neither" target="_blank">No matching PlatformTransactionManager bean found for qualifier 'add' - neither</a> <span class="text-muted">林鹤霄</span> <div>java.lang.IllegalStateException: No matching PlatformTransactionManager bean found for qualifier 'add' - neither qualifier match nor bean name match!   网上找了好多的资料没能解决,后来发现:项目中使用的是xml配置的方式配置事务,但是</div> </li> <li><a href="/article/943.htm" title="Row size too large (> 8126). Changing some columns to TEXT or BLOB" target="_blank">Row size too large (> 8126). Changing some columns to TEXT or BLOB</a> <span class="text-muted">aigo</span> <a class="tag" taget="_blank" href="/search/column/1.htm">column</a> <div>原文:http://stackoverflow.com/questions/15585602/change-limit-for-mysql-row-size-too-large   异常信息: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAM</div> </li> <li><a href="/article/1070.htm" title="JS 格式化时间" target="_blank">JS 格式化时间</a> <span class="text-muted">alxw4616</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>/** * 格式化时间 2013/6/13 by 半仙 alxw4616@msn.com * 需要 pad 函数 * 接收可用的时间值. * 返回替换时间占位符后的字符串 * * 时间占位符:年 Y 月 M 日 D 小时 h 分 m 秒 s 重复次数表示占位数 * 如 YYYY 4占4位 YY 占2位<p></p> * MM DD hh mm</div> </li> <li><a href="/article/1197.htm" title="队列中数据的移除问题" target="_blank">队列中数据的移除问题</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E9%98%9F%E5%88%97%E7%A7%BB%E9%99%A4/1.htm">队列移除</a> <div>     队列的移除一般都是使用的remov();都可以移除的,但是在昨天做线程移除的时候出现了点问题,没有将遍历出来的全部移除,  代码如下;      // package com.Thread0715.com; import java.util.ArrayList; public class Threa</div> </li> <li><a href="/article/1324.htm" title="Runnable接口使用实例" target="_blank">Runnable接口使用实例</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/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/Runnable/1.htm">Runnable</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a> <div>Runnable接口 a.       该接口只有一个方法:public void run(); b.       实现该接口的类必须覆盖该run方法 c.       实现了Runnable接口的类并不具有任何天</div> </li> <li><a href="/article/1451.htm" title="oracle里的extend详解" target="_blank">oracle里的extend详解</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/extend/1.htm">extend</a> <div>扩展已知的数组空间,例: DECLARE TYPE CourseList IS TABLE OF VARCHAR2(10); courses CourseList; BEGIN -- 初始化数组元素,大小为3 courses := CourseList('Biol 4412 ', 'Psyc 3112 ', 'Anth 3001 '); -- </div> </li> <li><a href="/article/1578.htm" title="【httpclient】httpclient发送表单POST请求" target="_blank">【httpclient】httpclient发送表单POST请求</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/httpclient/1.htm">httpclient</a> <div>浏览器Form Post请求 浏览器可以通过提交表单的方式向服务器发起POST请求,这种形式的POST请求不同于一般的POST请求 1. 一般的POST请求,将请求数据放置于请求体中,服务器端以二进制流的方式读取数据,HttpServletRequest.getInputStream()。这种方式的请求可以处理任意数据形式的POST请求,比如请求数据是字符串或者是二进制数据 2. Form </div> </li> <li><a href="/article/1705.htm" title="【Hive十三】Hive读写Avro格式的数据" target="_blank">【Hive十三】Hive读写Avro格式的数据</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a> <div> 1. 原始数据 hive> select * from word; OK 1 MSN 10 QQ 100 Gtalk 1000 Skype      2. 创建avro格式的数据表   hive> CREATE TABLE avro_table(age INT, name STRING)STORE</div> </li> <li><a href="/article/1832.htm" title="nginx+lua+redis自动识别封解禁频繁访问IP" target="_blank">nginx+lua+redis自动识别封解禁频繁访问IP</a> <span class="text-muted">ronin47</span> <div>在站点遇到攻击且无明显攻击特征,造成站点访问慢,nginx不断返回502等错误时,可利用nginx+lua+redis实现在指定的时间段 内,若单IP的请求量达到指定的数量后对该IP进行封禁,nginx返回403禁止访问。利用redis的expire命令设置封禁IP的过期时间达到在 指定的封禁时间后实行自动解封的目的。 一、安装环境: CentOS x64 release 6.4(Fin</div> </li> <li><a href="/article/1959.htm" title="java-二叉树的遍历-先序、中序、后序(递归和非递归)、层次遍历" target="_blank">java-二叉树的遍历-先序、中序、后序(递归和非递归)、层次遍历</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> import java.util.LinkedList; import java.util.List; import java.util.Stack; public class BinTreeTraverse { //private int[] array={ 1, 2, 3, 4, 5, 6, 7, 8, 9 }; private int[] array={ 10,6,</div> </li> <li><a href="/article/2086.htm" title="Spring源码学习-XML 配置方式的IoC容器启动过程分析" target="_blank">Spring源码学习-XML 配置方式的IoC容器启动过程分析</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/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/IOC/1.htm">IOC</a> <div>以FileSystemXmlApplicationContext为例,把Spring IoC容器的初始化流程走一遍: ApplicationContext context = new FileSystemXmlApplicationContext ("C:/Users/ZARA/workspace/HelloSpring/src/Beans.xml&q</div> </li> <li><a href="/article/2213.htm" title="[科研与项目]民营企业请慎重参与军事科技工程" target="_blank">[科研与项目]民营企业请慎重参与军事科技工程</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E4%BC%81%E4%B8%9A/1.htm">企业</a> <div>      军事科研工程和项目 并非要用最先进,最时髦的技术,而是要做到“万无一失”    而民营科技企业在搞科技创新工程的时候,往往考虑的是技术的先进性,而对先进技术带来的风险考虑得不够,在今天提倡军民融合发展的大环境下,这种“万无一失”和“时髦性”的矛盾会日益凸显。。。。。。所以请大家在参与任何重大的军事和政府项目之前,对</div> </li> <li><a href="/article/2340.htm" title="spring 定时器-两种方式" target="_blank">spring 定时器-两种方式</a> <span class="text-muted">cuityang</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/quartz/1.htm">quartz</a><a class="tag" taget="_blank" href="/search/%E5%AE%9A%E6%97%B6%E5%99%A8/1.htm">定时器</a> <div>方式一: 间隔一定时间 运行 <bean id="updateSessionIdTask" class="com.yang.iprms.common.UpdateSessionTask" autowire="byName" /> <bean id="updateSessionIdSchedule</div> </li> <li><a href="/article/2467.htm" title="简述一下关于BroadView站点的相关设计" target="_blank">简述一下关于BroadView站点的相关设计</a> <span class="text-muted">damoqiongqiu</span> <a class="tag" taget="_blank" href="/search/view/1.htm">view</a> <div>终于弄上线了,累趴,戳这里http://www.broadview.com.cn   简述一下相关的技术点   前端:jQuery+BootStrap3.2+HandleBars,全站Ajax(貌似对SEO的影响很大啊!怎么破?),用Grunt对全部JS做了压缩处理,对部分JS和CSS做了合并(模块间存在很多依赖,全部合并比较繁琐,待完善)。   后端:U</div> </li> <li><a href="/article/2594.htm" title="运维 PHP问题汇总" target="_blank">运维 PHP问题汇总</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/windows2003/1.htm">windows2003</a> <div>1、Dede(织梦)发表文章时,内容自动添加关键字显示空白页 解决方法: 后台>系统>系统基本参数>核心设置>关键字替换(是/否),这里选择“是”。 后台>系统>系统基本参数>其他选项>自动提取关键字,这里选择“是”。   2、解决PHP168超级管理员上传图片提示你的空间不足 网站是用PHP168做的,反映使用管理员在后台无法</div> </li> <li><a href="/article/2721.htm" title="mac 下 安装php扩展 - mcrypt" target="_blank">mac 下 安装php扩展 - mcrypt</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a> <div>MCrypt是一个功能强大的加密算法扩展库,它包括有22种算法,phpMyAdmin依赖这个PHP扩展,具体如下: 下载并解压libmcrypt-2.5.8.tar.gz。 在终端执行如下命令: tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8/ ./configure --disable-posix-threads --</div> </li> <li><a href="/article/2848.htm" title="MongoDB更新文档 [四]" target="_blank">MongoDB更新文档 [四]</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/Mongodb%E6%9B%B4%E6%96%B0%E6%96%87%E6%A1%A3/1.htm">Mongodb更新文档</a> <div>MongoDB更新文档 转载请出自出处:http://eksliang.iteye.com/blog/2174104 MongoDB对文档的CURD,前面的博客简单介绍了,但是对文档更新篇幅比较大,所以这里单独拿出来。 语法结构如下: db.collection.update( criteria, objNew, upsert, multi) 参数含义 参数   </div> </li> <li><a href="/article/2975.htm" title="Linux下的解压,移除,复制,查看tomcat命令" target="_blank">Linux下的解压,移除,复制,查看tomcat命令</a> <span class="text-muted">y806839048</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a> <div>重复myeclipse生成webservice有问题删除以前的,干净 1、先切换到:cd usr/local/tomcat5/logs 2、tail -f catalina.out 3、这样运行时就可以实时查看运行日志了 Ctrl+c 是退出tail命令。 有问题不明的先注掉   cp /opt/tomcat-6.0.44/webapps/g</div> </li> <li><a href="/article/3102.htm" title="Spring之使用事务缘由(3-XML实现)" target="_blank">Spring之使用事务缘由(3-XML实现)</a> <span class="text-muted">ihuning</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>  用事务通知声明式地管理事务   事务管理是一种横切关注点。为了在 Spring 2.x 中启用声明式事务管理,可以通过 tx Schema 中定义的 <tx:advice> 元素声明事务通知,为此必须事先将这个 Schema 定义添加到 <beans> 根元素中去。声明了事务通知后,就需要将它与切入点关联起来。由于事务通知是在 <aop:</div> </li> <li><a href="/article/3229.htm" title="GCD使用经验与技巧浅谈" target="_blank">GCD使用经验与技巧浅谈</a> <span class="text-muted">啸笑天</span> <a class="tag" taget="_blank" href="/search/GC/1.htm">GC</a> <div>前言 GCD(Grand Central Dispatch)可以说是Mac、iOS开发中的一大“利器”,本文就总结一些有关使用GCD的经验与技巧。 dispatch_once_t必须是全局或static变量 这一条算是“老生常谈”了,但我认为还是有必要强调一次,毕竟非全局或非static的dispatch_once_t变量在使用时会导致非常不好排查的bug,正确的如下: 1 </div> </li> <li><a href="/article/3356.htm" title="linux(Ubuntu)下常用命令备忘录1" target="_blank">linux(Ubuntu)下常用命令备忘录1</a> <span class="text-muted">macroli</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a> <div>在使用下面的命令是可以通过--help来获取更多的信息1,查询当前目录文件列表:ls ls命令默认状态下将按首字母升序列出你当前文件夹下面的所有内容,但这样直接运行所得到的信息也是比较少的,通常它可以结合以下这些参数运行以查询更多的信息:  ls / 显示/.下的所有文件和目录  ls -l 给出文件或者文件夹的详细信息 ls -a 显示所有文件,包括隐藏文</div> </li> <li><a href="/article/3483.htm" title="nodejs同步操作mysql" target="_blank">nodejs同步操作mysql</a> <span class="text-muted">qiaolevip</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a> <div>// db-util.js var mysql = require('mysql'); var pool = mysql.createPool({ connectionLimit : 10, host: 'localhost', user: 'root', password: '', database: 'test', port: 3306 }); </div> </li> <li><a href="/article/3610.htm" title="一起学Hive系列文章" target="_blank">一起学Hive系列文章</a> <span class="text-muted">superlxw1234</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/Hive%E5%85%A5%E9%97%A8/1.htm">Hive入门</a> <div>  [一起学Hive]系列文章 目录贴,入门Hive,持续更新中。   [一起学Hive]之一—Hive概述,Hive是什么 [一起学Hive]之二—Hive函数大全-完整版 [一起学Hive]之三—Hive中的数据库(Database)和表(Table) [一起学Hive]之四-Hive的安装配置 [一起学Hive]之五-Hive的视图和分区 [一起学Hive</div> </li> <li><a href="/article/3737.htm" title="Spring开发利器:Spring Tool Suite 3.7.0 发布" target="_blank">Spring开发利器:Spring Tool Suite 3.7.0 发布</a> <span class="text-muted">wiselyman</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a> <div>Spring Tool Suite(简称STS)是基于Eclipse,专门针对Spring开发者提供大量的便捷功能的优秀开发工具。   在3.7.0版本主要做了如下的更新:   将eclipse版本更新至Eclipse Mars 4.5 GA Spring Boot(JavaEE开发的颠覆者集大成者,推荐大家学习)的配置语言YAML编辑器的支持(包含自动提示,</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>