一次完整的HTTP请求与响应涉及哪些知识?

本文以HTTP请求和响应的过程来讲解涉及到的相关知识点。

第一

HTTP请求和相应步骤

一次完整的HTTP请求与响应涉及哪些知识?_第1张图片

图片来自:理解Http请求与响应http://android.jobbole.com/85218/

以上完整表示了HTTP请求和响应的7个步骤,下面从TCP/IP协议模型的角度来理解HTTP请求和响应如何传递的。

第二

TCP/IP协议

TCP/IP协议模型(Transmission Control Protocol/Internet Protocol),包含了一系列构成互联网基础的网络协议,是Internet的核心协议,通过20多年的发展已日渐成熟,并被广泛应用于局域网和广域网中,目前已成为事实上的国际标准。TCP/IP协议簇是一组不同层次上的多个协议的组合,通常被认为是一个四层协议系统,与OSI的七层模型相对应。

HTTP协议就是基于TCP/IP协议模型来传输信息的。

一次完整的HTTP请求与响应涉及哪些知识?_第2张图片

(1). 链路层

也称作数据链路层或网络接口层(在第一个图中为网络接口层和硬件层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。ARP(地址解析协议)和RARP(逆地址解析协议)是某些网络接口(如以太网和令牌环网)使用的特殊协议,用来转换IP层和网络接口层使用的地址。

(2). 网络层

也称作互联网层(在第一个图中为网际层),处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。

IP是一种网络层协议,提供的是一种不可靠的服务,它只是尽可能快地把分组从源结点送到目的结点,但是并不提供任何可靠性保证。同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。

ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。

IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。

(3). 传输层

主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。

TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。为了提供可靠的服务,TCP采用了超时重传、发送和接收端到端的确认分组等机制。

UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。一个数据报是指从发送方传输到接收方的一个信息单元(例如,发送方指定的一定字节数的信息)。UDP协议任何必需的可靠性必须由应用层来提供。

(4). 应用层

应用层决定了向用户提供应用服务时通信的活动。TCP/IP 协议族内预存了各类通用的应用服务。包括 HTTP,FTP(File Transfer Protocol,文件传输协议),DNS(Domain Name System,域名系统)服务。

一次完整的HTTP请求与响应涉及哪些知识?_第3张图片

当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图所示。

一次完整的HTTP请求与响应涉及哪些知识?_第4张图片

当目的主机收到一个以太网数据帧时,数据就开始从协议栈中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。这个过程称作分用(Demultiplexing)。协议是通过目的端口号、源I P地址和源端口号进行解包的。

通过以上步骤我们从TCP/IP模型的角度来理解了一次HTTP请求与响应的过程。

下面这张图更清楚明白:

一次完整的HTTP请求与响应涉及哪些知识?_第5张图片

下面具体来看如何进行一步步操作的。

第三

TCP三次握手

TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。在TCP/IP协议中,TCP协议提供可靠的连接服务,连接是通过三次握手进行初始化的。三次握手的目的是同步连接双方的序列号和确认号并交换 TCP窗口大小信息。

一次完整的HTTP请求与响应涉及哪些知识?_第6张图片

第一次握手:建立连接。客户端发送连接请求报文段,将SYN位置为1,Sequence Number为x;然后,客户端进入SYN_SEND状态,等待服务器的确认;

第二次握手:服务器收到SYN报文段。服务器收到客户端的SYN报文段,需要对这个SYN报文段进行确认,设置Acknowledgment Number为x+1(Sequence Number+1);同时,自己自己还要发送SYN请求信息,将SYN位置为1,Sequence Number为y;服务器端将上述所有信息放到一个报文段(即SYN+ACK报文段)中,一并发送给客户端,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK报文段。然后将Acknowledgment Number设置为y+1,向服务器发送ACK报文段,这个报文段发送完毕以后,客户端和服务器端都进入ESTABLISHED状态,完成TCP三次握手。

为什么要三次握手

为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生错误。

具体例子:“已失效的连接请求报文段”的产生在这样一种情况下:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server。本来这是一个早已失效的报文段。

但server收到此失效的连接请求报文段后,就误认为是client再次发出的一个新的连接请求。于是就向client发出确认报文段,同意建立连接。假设不采用“三次握手”,那么只要server发出确认,新的连接就建立了。

由于现在client并没有发出建立连接的请求,因此不会理睬server的确认,也不会向server发送数据。但server却以为新的运输连接已经建立,并一直等待client发来数据。这样,server的很多资源就白白浪费掉了。

采用“三次握手”的办法可以防止上述现象发生。例如刚才那种情况,client不会向server的确认发出确认。server由于收不到确认,就知道client并没有要求建立连接。”

第四

HTTP协议

Http是什么?

通俗来讲,他就是计算机通过网络进行通信的规则,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据。目前任何终端(手机,笔记本电脑。。)之间进行任何一种通信都必须按照Http协议进行,否则无法连接。

四个基于:

请求与响应:客户端发送请求,服务器端响应数据

无状态的:协议对于事务处理没有记忆能力,客户端第一次与服务器建立连接发送请求时需要进行一系列的安全认证匹配等,因此增加页面等待时间,当客户端向服务器端发送请求,服务器端响应完毕后,两者断开连接,也不保存连接状态,一刀两断!恩断义绝!从此路人!下一次客户端向同样的服务器发送请求时,由于他们之前已经遗忘了彼此,所以需要重新建立连接。

应用层:Http是属于应用层的协议,配合TCP/IP使用。

TCP/IP:Http使用TCP作为它的支撑运输协议。HTTP客户机发起一个与服务器的TCP连接,一旦连接建立,浏览器(客户机)和服务器进程就可以通过套接字接口访问TCP。

针对无状态的一些解决策略:

有时需要对用户之前的HTTP通信状态进行保存,比如执行一次登陆操作,在30分钟内所有的请求都不需要再次登陆。于是引入了Cookie技术。

HTTP/1.1想出了持久连接(HTTP keep-alive)方法。其特点是,只要任意一端没有明确提出断开连接,则保持TCP连接状态,在请求首部字段中的Connection: keep-alive即为表明使用了持久连接。

等等还有很多。。。。。。

下面开始讲解重头戏:HTTP请求报文,响应报文,对应于上述步骤的2,3,4,5,6。

HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。

第五

HTTP请求报文

一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。

一次完整的HTTP请求与响应涉及哪些知识?_第7张图片

1.请求行

请求行分为三个部分:请求方法、请求地址和协议版本

请求方法

HTTP/1.1 定义的请求方法有8种:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE。

最常的两种GET和POST,如果是RESTful接口的话一般会用到GET、POST、DELETE、PUT。

请求地址

URL:统一资源定位符,是一种自愿位置的抽象唯一识别方法。

组成:<协议>://<主机>:<端口>/<路径>

端口和路径有时可以省略(HTTP默认端口号是80)

如下例:

一次完整的HTTP请求与响应涉及哪些知识?_第8张图片

有时会带参数,GET请求

协议版本

协议版本的格式为:HTTP/主版本号.次版本号,常用的有HTTP/1.0和HTTP/1.1

2.请求头部

请求头部为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。

常见请求头如下:

一次完整的HTTP请求与响应涉及哪些知识?_第9张图片

请求头部的最后会有一个空行,表示请求头部结束,接下来为请求数据,这一行非常重要,必不可少。

3.请求数据

可选部分,比如GET请求就没有请求数据。

下面是一个POST方法的请求报文:

POST  /index.php HTTP/1.1    请求行

Host: localhost

User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2  请求头

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

Accept-Language: zh-cn,zh;q=0.5

Accept-Encoding: gzip, deflate

Connection: keep-alive

Referer: http://localhost/

Content-Length:25

Content-Type:application/x-www-form-urlencoded

空行

username=aa&password=1234  请求数据

第六

HTTP响应报文

一次完整的HTTP请求与响应涉及哪些知识?_第10张图片

HTTP响应报文主要由状态行、响应头部、空行以及响应数据组成。

1.状态行

由3部分组成,分别为:协议版本,状态码,状态码描述。

其中协议版本与请求报文一致,状态码描述是对状态码的简单描述,所以这里就只介绍状态码。

状态码

状态代码为3位数字。

1xx:指示信息--表示请求已接收,继续处理。

2xx:成功--表示请求已被成功接收、理解、接受。

3xx:重定向--要完成请求必须进行更进一步的操作。

4xx:客户端错误--请求有语法错误或请求无法实现。

5xx:服务器端错误--服务器未能实现合法的请求。

下面列举几个常见的:两张趣图助你理解 HTTP 状态码!

一次完整的HTTP请求与响应涉及哪些知识?_第11张图片

2.响应头部

与请求头部类似,为响应报文添加了一些附加信息

常见响应头部如下:

一次完整的HTTP请求与响应涉及哪些知识?_第12张图片

3.响应数据

用于存放需要返回给客户端的数据信息。

下面是一个响应报文的实例:

HTTP/1.1 200 OK  状态行

Date: Sun, 17 Mar 2013 08:12:54 GMT  响应头部

Server: Apache/2.2.8 (Win32) PHP/5.2.5

X-Powered-By: PHP/5.2.5

Set-Cookie: PHPSESSID=c0huq7pdkmm5gg6osoe3mgjmm3; path=/

Expires: Thu, 19 Nov 1981 08:52:00 GMT

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0

Pragma: no-cache

Content-Length: 4393

Keep-Alive: timeout=5, max=100

Connection: Keep-Alive

Content-Type: text/html; charset=utf-8

空行

  响应数据

HTTP响应示例</p> <p>Hello HTTP!</p> <p>关于请求头部和响应头部的知识点很多,这里只是简单介绍。</p> <p>通过以上步骤,数据已经传递完毕,HTTP/1.1会维持持久连接,但持续一段时间总会有关闭连接的时候,这时候据需要断开TCP连接。</p> <p>第七</p> <p>TCP四次挥手</p> <p>当客户端和服务器通过三次握手建立了TCP连接以后,当数据传送完毕,肯定是要断开TCP连接的啊。那对于TCP的断开连接,这里就有了神秘的“四次分手”。</p> <div class="image-package"> <div class="image-container" style="max-width: 640px; max-height: 433px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/32676d926eb944d1adfda257b534ab7c.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/32676d926eb944d1adfda257b534ab7c.jpg" width="640" height="433" alt="一次完整的HTTP请求与响应涉及哪些知识?_第13张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"></div> </div> <p>第一次分手:主机1(可以使客户端,也可以是服务器端),设置Sequence Number,向主机2发送一个FIN报文段;此时,主机1进入FIN_WAIT_1状态;这表示主机1没有数据要发送给主机2了;</p> <p>第二次分手:主机2收到了主机1发送的FIN报文段,向主机1回一个ACK报文段,Acknowledgment Number为Sequence Number加1;主机1进入FIN_WAIT_2状态;主机2告诉主机1,我“同意”你的关闭请求;</p> <p>第三次分手:主机2向主机1发送FIN报文段,请求关闭连接,同时主机2进入LAST_ACK状态;</p> <p>第四次分手:主机1收到主机2发送的FIN报文段,向主机2发送ACK报文段,然后主机1进入TIME_WAIT状态;主机2收到主机1的ACK报文段以后,就关闭连接;此时,主机1等待2MSL后依然没有收到回复,则证明Server端已正常关闭,那好,主机1也可以关闭连接了。</p> <p>为什么要四次分手</p> <p>TCP协议是一种面向连接的、可靠的、基于字节流的运输层通信协议。</p> <p>TCP是全双工模式,这就意味着,当主机1发出FIN报文段时,只是表示主机1已经没有数据要发送了,主机1告诉主机2,它的数据已经全部发送完毕了;但是,这个时候主机1还是可以接受来自主机2的数据;</p> <p>当主机2返回ACK报文段时,表示它已经知道主机1没有数据发送了,但是主机2还是可以发送数据到主机1的;当主机2也发送了FIN报文段时,这个时候就表示主机2也没有数据要发送了,就会告诉主机1,我也没有数据要发送了,之后彼此就会愉快的中断这次TCP连接。</p> <p>通过以上步骤便完成了HTTP的请求和响应,进行了数据传递,这其中涉及到需要知识点,都进行了逐一了解。</p> <p>如果你对编程感兴趣或者想往编程方向发展,可以关注微信公众号<b>【筑梦编程】</b>,大家一起交流讨论!小编也会每天定时更新既有趣又有用的编程知识!</p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1249479086489849856"></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">你可能感兴趣的:(一次完整的HTTP请求与响应涉及哪些知识?)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1947997626536357888.htm" title="《幸福终末》日剧/电视剧【1080p超清日语中字】幸福结局全集完整未删减版在线观看百度云/夸克UC网盘高清迅雷免费播放" target="_blank">《幸福终末》日剧/电视剧【1080p超清日语中字】幸福结局全集完整未删减版在线观看百度云/夸克UC网盘高清迅雷免费播放</a> <span class="text-muted">优惠攻略官</span> <div>《幸福终末》是一部改编自同名漫画的日剧,由古厩智之和小村孝裕导演,沢村玲和别府由来主演。剧情主要讲述了柏木千纮,一个被家人断绝关系、生活陷入困境的男子,在酒吧遇到了神秘美青年浩然,并与之一见钟情。然而,两人的关系在宾馆中发生了转折,浩然用电棒攻击了千纮,使其失去意识。千纮醒来后发现自己在垃圾场,而浩然则在寻找某样东西。在浩然要求千纮“消失”后,无家可归的千纮请求留下,两人开始了共同的生活,命运也因</div> </li> <li><a href="/article/1947997372265066496.htm" title="闹情绪(五十二)" target="_blank">闹情绪(五十二)</a> <span class="text-muted">万瑞莹</span> <div>昨天晚上,她要去舅妈家住下,我和姥姥没同意,她还是执意要去,可是,我们也还是没答应。最后,她没去成,所以,闹情绪了。今天忙完的早,回家也早,趁着在家,我又给她讲了些道理,大人不让干的事情自然就有不让干的道理,你虽然不能乖乖听话,但是也不能闹情绪。你不小了,我不想打你骂你,我希望你能自觉,毕竟你也应该懂事了,我不打你,并不代表我不敢或是不能,而是我觉得打你会让你觉得很没面子,再就是你的态度问题,不管</div> </li> <li><a href="/article/1947997119168180224.htm" title="高手参照标准" target="_blank">高手参照标准</a> <span class="text-muted">实干作品</span> <div>2018年2月13日星期二高手三个标准强健的体魄钢铁般的意志绝对的责任感——转载分享就是传播爱和希望——微信公众号sgnote</div> </li> <li><a href="/article/1947996954222981120.htm" title="Linux利用多线程和线程同步实现一个简单的聊天服务器" target="_blank">Linux利用多线程和线程同步实现一个简单的聊天服务器</a> <span class="text-muted"></span> <div>1.概述本文实现一个基于TCP/IP的简单多人聊天室程序。它包含一个服务器端和一个客户端:服务器能够接收多个客户端的连接,并将任何一个客户端发来的消息广播给所有其他连接的客户端;客户端则可以连接到服务器,发送消息并接收来自其他人的消息。该Demo运用了网络编程(SocketAPI)、多线程(Pthreads)以及线程同步(互斥锁)技术,以实现并发处理和数据共享安全。2.核心技术网络编程(Socke</div> </li> <li><a href="/article/1947996486180597760.htm" title="《放手以后,她寻找爱过的痕迹》&林清何琳赵峰全文阅读,是在过于精彩~<放手以后她寻找爱过的痕迹>热门小说一看到底!" target="_blank">《放手以后,她寻找爱过的痕迹》&林清何琳赵峰全文阅读,是在过于精彩~<放手以后她寻找爱过的痕迹>热门小说一看到底!</a> <span class="text-muted">今日推文2</span> <div>《放手以后,她寻找爱过的痕迹》&林清何琳赵峰全文阅读,是在过于精彩~热门小说一看到底!《放手以后,她寻找爱过的痕迹》&林清何琳赵峰全文阅读,是在过于精彩~热门小说一看到底!《放手以后,她寻找爱过的痕迹》&林清何琳赵峰全文阅读,是在过于精彩~热门小说一看到底!完整版在文章底部——完整版在文章底部——我看着屏幕发了神,在我印象中,这好像是何琳第一次和我报备。以前我连问何琳聚会有几个人,她都会觉得我没事</div> </li> <li><a href="/article/1947996233083711488.htm" title="以太坊正处于漫长而复杂的过渡阶段!合并在即?短期痛苦为长期收益做准备!" target="_blank">以太坊正处于漫长而复杂的过渡阶段!合并在即?短期痛苦为长期收益做准备!</a> <span class="text-muted">链科天下</span> <div>目前,以太坊正处于“漫长而复杂的过渡”阶段,使其成为更强大的网络是“深度变革”的原因。在昨天法国举行的以太坊社区会议上,以太坊联合创始人VitalikButerin(V神)分享了以太坊的未来计划和愿景。V神将以太坊升级分为合并、激增、边缘和清除四个阶段。“合并”只是一系列计划升级中的第一部分,而激增、边缘和清除阶段实际上是以太坊扩展、清理和进化的关键部分,预计以太坊合并仅完成升级计划的55%。事实</div> </li> <li><a href="/article/1947996072827744256.htm" title="uniapp打开导航软件并定位到目标位置的实现" target="_blank">uniapp打开导航软件并定位到目标位置的实现</a> <span class="text-muted">界面架构师</span> <a class="tag" taget="_blank" href="/search/uniapp/1.htm">uniapp</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a><a class="tag" taget="_blank" href="/search/%E5%AF%BC%E8%88%AA/1.htm">导航</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a> <div>/***打开导航*@paramlocation经纬度(例如:"117.214713,39.116884")*@paramaddress地址*/exportfunctionmapNavigation(location,address){constlocationArr=location.split(',')constlongitude=locationArr[0]constlatitude=loca</div> </li> <li><a href="/article/1947995977579294720.htm" title="第二批主题教育要“照镜子、脱靴子、 钉钉子、出点子”" target="_blank">第二批主题教育要“照镜子、脱靴子、 钉钉子、出点子”</a> <span class="text-muted">wyzzb123</span> <div>学习贯彻习近平新时代中国特色社会主义思想主题教育开展以来,全党各级党组织积极贯彻落实党中央部署,坚持理论联系实际,大兴调研之风,取得了很多成效。但各党组织不能就此满足,广大党员干部要牢记学习没有“休止符”、只有“进行时”,要全面贯彻落实党的二十大精神,在第二批主题教育中“照镜子、脱靴子、揪辫子、想法子”,实现更多新成效。“照照镜子”,关注“找差纠错”,“回头看去”促前进。习近平总书记曾指出:“让正</div> </li> <li><a href="/article/1947995946633719808.htm" title="vue怎么在style中使用data中定义的变量" target="_blank">vue怎么在style中使用data中定义的变量</a> <span class="text-muted">界面架构师</span> <a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a> <div>需求动态修改三方组件的样式。思路项目开发中使用的某某某三方ui组件,所以想要修改这个组件的样式只能通过css进行修改,那么想要动态修改,就要在style中使用data里的变量。实现...mounted(){this.$el.style.setProperty('--colorStyle',this.color)}//若该变量是动态变化的watch:{color(val,oldVal){this.$</div> </li> <li><a href="/article/1947995597378220032.htm" title="ESG碳交易骗局揭秘!量化北恒私募实盘大赛周一丰郭沛源被骗历程!受骗不能出金!" target="_blank">ESG碳交易骗局揭秘!量化北恒私募实盘大赛周一丰郭沛源被骗历程!受骗不能出金!</a> <span class="text-muted">易星辰分享普法</span> <div>量化北恒私募实盘大赛周一丰投票项目安全吗?量化北恒私募实盘大赛周一丰积分投票已经亏损被骗了怎么办?警惕!量化北恒私募实盘大赛周一丰十选五项目合法吗——杀猪盘骗局!被骗提不了款!提不了现!出不来金!不要上当!自古有句话讲得好“人善被欺、马善被骑”,现如今也是被骗子利用到了极致,人善就真该被欺骗吗?狡猾的骗子们就利用到了这点,利用同情心、爱心去进行诈骗,宣传公益捐款、爱心慈善打比赛来骗取资金!正常的投</div> </li> <li><a href="/article/1947995469053489152.htm" title="内心万匹马" target="_blank">内心万匹马</a> <span class="text-muted">彭琦_67db</span> <div>前天去超市买了一百多块钱菜,因家里这段时间干旱,菜蔬都晒死了,买点菜来添补,买了两个土豆,炒土豆丝吃吃!昨晚去超市又卖了九十多块钱菜,买了两包面粉,想着有时早上换个口味的早餐,煎个鸡蛋饼吃吃!结果今中午起来,看到这一锅东西彻底无语了!不知怎么去形容图片发自App图片发自App一大碗这个玩意,而且还没人吃,真的把东西一锅来,看都怕看脏了我的眼,糟蹋我的东西……</div> </li> <li><a href="/article/1947995090257506304.htm" title="感恩日记 41" target="_blank">感恩日记 41</a> <span class="text-muted">孙英和孩子一起成长</span> <div>感恩我自己早起,做饭,我心情好一切顺利。感恩小伙今天一起打扫卫生,叠被子,扫地,洗衣服(一部分),拖地(全部),看到她哼着歌拖地我真的好开心,感觉自己好幸运。感恩爸爸不舒服还坚持上班挣钱,谢谢你我爱你。感恩姑奶奶过来玩,小伙有伴。感恩小伙去公园和依航叔叔玩会。感恩爸爸给买了涂色的,小伙他俩涂的很开心。感恩姑奶奶的信任,问我意见。感恩希妈的体谅明天语音。感恩薇莉的拆解让我更加理解课程。感恩小姑给我发</div> </li> <li><a href="/article/1947995065016184832.htm" title="一文解决IDea中Springboot 热部署:IDEA中Spring Boot应用热部署的几种方式及操作步骤" target="_blank">一文解决IDea中Springboot 热部署:IDEA中Spring Boot应用热部署的几种方式及操作步骤</a> <span class="text-muted"></span> <div>在快节奏的软件开发过程中,热部署(HotDeployment)功能对于提升开发效率至关重要。尤其是在使用SpringBoot框架进行开发时,能够实现代码的即时更新和应用的无需重启,极大地节省了开发时间,提高了迭代速度。然而,在实际使用中,开发者可能会遇到一些痛难点和问题。本文将详细介绍在IntelliJIDEA中配置SpringBoot应用热部署的方法,以及一些常见问题的解决方法。热部署的痛难点配</div> </li> <li><a href="/article/1947994938671165440.htm" title="unity 介绍Visual Scripting Scene Variables" target="_blank">unity 介绍Visual Scripting Scene Variables</a> <span class="text-muted">nbspzs</span> <a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a> <div>VisualScripting中的场景变量是指在Unity中使用可视化脚本时,能够在不同场景间传递和存储数据的变量。这些变量可以用来跟踪游戏状态、玩家信息或其他动态数据,允许开发者在不编写代码的情况下创建复杂的游戏逻辑。场景变量的优势包括:1.易于使用:直观的界面,适合非程序员。2.实时更新:变量在运行时可以动态修改和访问。3.数据共享:方便在不同对象和场景之间共享数据。通过使用场景变量,你可以更</div> </li> <li><a href="/article/1947994835973632000.htm" title="【每日精进】少了读书和运动,不是美好的一天" target="_blank">【每日精进】少了读书和运动,不是美好的一天</a> <span class="text-muted">金台望道</span> <div>6月25日星期六天气:晴好早晨:5点多起来,就整理发布“读毛年谱(176)”,顺便整理各个平台这个栏目的材料,均声明专栏是读书笔记,并非原创。以后这个栏目都不要放在宝贵的早上来做,完全放在晚上加工。早上做原创工作。以后每天还要安排读书和运动。少了这两样,这一天也不是美好的一天了!上午:到图书馆去,继续写小说第48章。下午:本想去图书馆,中午饭后,就在家里睡大觉了,一下午没做事。呜呼!晚上:完成“读</div> </li> <li><a href="/article/1947994837294837760.htm" title="第三种选择" target="_blank">第三种选择</a> <span class="text-muted">伊然Emma</span> <div>序言我们原有的思维定式总是认为事物只有两个选择,不是对就是错,或非黑即白。跳脱出原来的思维方式,我们就会发现很多时候不止两个选择,还有第三种选择,甚至还有更多种具有创造性的选择方式。1最近遇到一些很困扰的问题,不知道该如何处理,求助了我的业力伙伴,她给我推荐了史帝芬•柯维的《第三选择》这本书,她说这本书中有我需要的答案,我一听是史帝芬•柯维的书,立刻听了三遍樊登老师的讲书音频。书中作者讲到的一种情</div> </li> <li><a href="/article/1947994812347117568.htm" title="一文快速了解.NET项目文件(.csproj) ,基础而重要的文件【代码之美系列】" target="_blank">一文快速了解.NET项目文件(.csproj) ,基础而重要的文件【代码之美系列】</a> <span class="text-muted">Microi风闲</span> <a class="tag" taget="_blank" href="/search/%E3%80%90%E5%BC%80%E6%BA%90%E3%80%91NET/1.htm">【开源】NET</a><a class="tag" taget="_blank" href="/search/Core/1.htm">Core</a><a class="tag" taget="_blank" href="/search/%E8%B7%A8%E5%B9%B3%E5%8F%B0/1.htm">跨平台</a><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>代码之美系列目录一、C#命名规则规范二、C#代码约定规范三、C#参数类型约束四、浅析B/S应用程序体系结构原则五、浅析C#Async和Await六、浅析ASP.NETCoreSignalR双工通信七、浅析ASP.NETCore和MongoDB创建WebAPI八、浅析ASP.NETWebUI框架RazorPages/MVC/WebAPI/Blazor九、如何使用MiniProfilerWebAPI分</div> </li> <li><a href="/article/1947994582952243200.htm" title="当抠门女遇上朱允炆8" target="_blank">当抠门女遇上朱允炆8</a> <span class="text-muted">语菲菲儿</span> <div>刘筱玉惊得呆了,她实在想象不出那个胆小到动不动就发抖的婵儿会自尽。努力咽下口里的食物,问道:“她现在怎么样了?还……还活着吗?”鹃儿是朱允炆亲自派到景阳殿来的,不过二十出头,却十分老到。她恭恭敬敬地回道:“回娘娘,婵儿还活着,但情况不乐观。”刘筱玉站起来向外走去,没想到才走两步就头晕目眩身软无力,鹃儿看她不支,忙上前扶住道:“娘娘是要去婵儿那里?”刘筱玉抓住鹃儿的手稳住身体,点头道:“是,你扶我过</div> </li> <li><a href="/article/1947994202856026112.htm" title="浅谈律诗四平头" target="_blank">浅谈律诗四平头</a> <span class="text-muted">田心木目心</span> <div>律诗的创造有很多讲究,稍不注意就容易构成律诗的瑕疵,律诗常犯的毛病有“四平头”或“六平头”。那么什么是律诗的四平头呢?所谓“四平头”,这个很少有人定义它的内涵,朋友们先看一首七律,我们暂且不管该诗的意境,如下:题目省略柳条袅袅笑春风,云朵追随伴彩虹。桐叶松枝装翠岭,鲜花碧水映苍穹。西风送去尘烟滚,北雁飞来呼唤匆。寒雪无声沉默降,银装有韵腊梅红。这首诗,出现了“柳条”,“云朵”,“桐叶”,“鲜花”,</div> </li> <li><a href="/article/1947994182660452352.htm" title="Navicat 连接不上阿里云服务器中安装的宝塔面板中的Mysql服务器" target="_blank">Navicat 连接不上阿里云服务器中安装的宝塔面板中的Mysql服务器</a> <span class="text-muted">一只程序熊</span> <a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E4%BA%91/1.htm">阿里云</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a> <div>项目场景:就今天在做宝塔的时候遇到一个新问题,在之前的阿里云服务器中都没有发现过这个问题!特此记录解决方案:本地连接不上云服务器主要是这几个原因:1.云服务器官方的安全组问题(安全组是否放行目标端口)2.云服务器内部的服务端口问题(服务器内部端口是否向外部开放)但是今天我又在云服务器安全组内部发现了一个新的问题:3.云服务器中设置了仅本机访问的ipv6的地址,但是仍然访问不了。可能是因为navic</div> </li> <li><a href="/article/1947994056307044352.htm" title="python学习路线(从菜鸟到起飞)" target="_blank">python学习路线(从菜鸟到起飞)</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/%E5%AD%A6%E4%B9%A0/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>以下是基于2025年最新技术趋势的Python学习路线,综合多个权威资源整理而成,涵盖从零基础到进阶应用的全流程,适合不同学习目标(如Web开发、数据分析、人工智能等)的学习者。路线分为基础、进阶、实战、高级、方向拓展五个阶段,并附学习资源推荐:一、基础阶段(1-2个月)目标:掌握Python核心语法与编程思维,熟悉开发环境。环境搭建安装Python3.10+,配置PyCharm或VSCode开发</div> </li> <li><a href="/article/1947994055896002560.htm" title="php(上传文件)" target="_blank">php(上传文件)</a> <span class="text-muted"></span> <div>1、php文件上传配置指令(1)file_uploads=On/off(是否可以接受文件上传)(2)max_input_time=60在提示错误之前解析输入所花费的最长时间,以秒为单位,如果经常需要传输大文件,这个时限应该设置得合理一些。(3)max_file_uploads=20对可以同时上传文件数设置了一个上限。(4)memory_limit=128M设置脚本可以分配得最大内存,可以防止脚本独</div> </li> <li><a href="/article/1947993948551180288.htm" title="阿里云2023年云服务器活动优惠价格文章汇总(历史价格对比)" target="_blank">阿里云2023年云服务器活动优惠价格文章汇总(历史价格对比)</a> <span class="text-muted">阿里云最新优惠和活动汇总</span> <div>2023年购买阿里云服务器需要多少钱?由于每个月阿里云服务器的活动优惠价格均有所不同,小编也在每个月都会分享几篇当月阿里云服务器活动优惠价格的文章,下面小编再将2023年1月到5月份,涉及阿里云服务器每个月优惠价格的文章做个汇总,以供大家了解阿里云服务器在2023年的历史优惠价格变化情况,知道哪些阿里云服务器涨价了,哪些阿里云服务器降价了,以供参考选择。说明:以下文章所涉及的阿里云服务器价格仅供参</div> </li> <li><a href="/article/1947993424741330944.htm" title="小白带你部署LNMP分布式部署" target="_blank">小白带你部署LNMP分布式部署</a> <span class="text-muted">刘俊涛liu</span> <a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>目录前言一、概述二、LNMP环境部署三、配置nginx1、yum安装2、编译安装四、安装1、编译安装nginx2、网络源3、稍作优化4、修改配置文件vim/usr/local/nginx/conf/nginx.conf5、书写测试页面五、部署应用前言LNMP平台指的是将Linux、Nginx、MySQL和PHP(或者其他的编程语言,如Python、Perl等)集成在一起的一种Web服务器环境。它是</div> </li> <li><a href="/article/1947993425647300608.htm" title="【LeetCode 1695. 删除子数组的最大得分】解析" target="_blank">【LeetCode 1695. 删除子数组的最大得分】解析</a> <span class="text-muted">李昊_</span> <a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a> <div>目录LeetCode中国站原文原始题目题目描述示例1:示例2:提示:讲解滑动窗口的艺术:寻找无与伦比的“纯净”子数组第一部分:算法思想——可伸缩的“探索边界”1.问题的核心:找到最“值钱”的“纯净”片段2.滑动窗口:一个能屈能伸的“探索框”第二部分:代码实现——滑动窗口的“装备”完整代码展示代码精讲LeetCode中国站原文https://leetcode.cn/problems/maximum-</div> </li> <li><a href="/article/1947993063699836928.htm" title="你一时情绪失控,对孩子的影响却是一生" target="_blank">你一时情绪失控,对孩子的影响却是一生</a> <span class="text-muted">海之蓝心</span> <div>今天的关键词是“情绪”。说到情绪,有时候觉得做妈妈真的很难。既要工作,又要顾着家庭,有时候就会很焦躁,情绪波动就比较大。可能因为一点小事,就对孩子发火。发完火是一时痛快了,可是把情绪宣泄到弱小无辜的孩子身上,对他的影响却是一生的。我曾经的坏情绪对女儿现在产生了影响昨晚女儿出现了“失眠”症状,翻来覆去睡不着。我有些急,因为忙了一天打算孩子睡着后学会儿英语,就说“既然你睡不着就起来看会书吧,我学英语。</div> </li> <li><a href="/article/1947993065025236992.htm" title="贺州亲子鉴定的种类有哪些?【附贺州本地12家DNA鉴定中心地址电话】" target="_blank">贺州亲子鉴定的种类有哪些?【附贺州本地12家DNA鉴定中心地址电话】</a> <span class="text-muted">中正DNA鉴定中心</span> <div>随着社会的发展和个人权利意识的提高,在贺州地区越来越多的人开始关注亲子鉴定相关的法律规定。本文将探讨贺州亲子鉴定的种类有哪些、进行亲子鉴定的法定程序以及相关法律保障和限制,以期为公众提供清晰、准确的信息。一、亲子鉴定的种类根据检测方法和技术的不同,亲子鉴定主要分为以下几类:1.常规亲子鉴定:通过对父母和孩子的DNA样本进行比对,判断他们之间是否存在亲子关系。这种鉴定方法准确率较高,一般适用于无特殊</div> </li> <li><a href="/article/1947992557858385920.htm" title="他人的力量" target="_blank">他人的力量</a> <span class="text-muted">燕依珊</span> <div>习惯了带着孩子晚饭后走走一是助消化二是运动乃强身健体所以现在想来去年冬天的感冒多发期很多孩子都传染了,感冒形势空前严峻据说有些班级几十人的只剩几个在上课想来平时的散步也是有点潜移默化的作用吧孩子们已经习惯了自从大妞上了课后补习班之后就有更多的时间饭后可以一起玩游戏、一起散步、一起看书等等这次也不例外在城里上学也快两年了相对设施还算完善书店、图书馆什么的也是能常去所以在刚走出小区没多久小小妞就问我妈</div> </li> <li><a href="/article/1947992541873893376.htm" title="AI Agent开发学习系列 - langchain之示例选择器2:相关性与多样性兼得-MaxMarginalRelevanceExampleSelector在LangChain中的用法" target="_blank">AI Agent开发学习系列 - langchain之示例选择器2:相关性与多样性兼得-MaxMarginalRelevanceExampleSelector在LangChain中的用法</a> <span class="text-muted">alex100</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/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/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/prompt/1.htm">prompt</a><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/python/1.htm">python</a> <div>MaxMarginalRelevanceExampleSelectorMaxMarginalRelevanceExampleSelector是LangChain中用于Few-ShotPrompt的一种智能示例选择器。它的作用是:在众多示例中,自动选择与当前输入最相关、同时彼此多样性最大的示例,插入到prompt里。主要特点相关性优先:优先选择与用户输入最相似的示例。多样性保证:避免选到内容高度重复</div> </li> <li><a href="/article/1947992543232847872.htm" title="AI Agent开发学习系列 - langchain之memory(1):内存中的短时记忆" target="_blank">AI Agent开发学习系列 - langchain之memory(1):内存中的短时记忆</a> <span class="text-muted">alex100</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/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/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/prompt/1.htm">prompt</a><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/python/1.htm">python</a> <div>内存中的短时记忆,在LangChain中通常指ConversationBufferMemory这类“对话缓冲记忆”工具。它的作用是:在内存中保存最近的对话历史,让大模型能理解上下文,实现连续对话。对话缓冲记忆”工具主要特点只保留最近的对话内容(如最近N轮),不会无限增长,节省内存和token。适合短对话、上下文关联不深的场景。支持多种变体,如窗口记忆(ConversationBufferWindo</div> </li> <li><a href="/article/61.htm" title="Enum用法" target="_blank">Enum用法</a> <span class="text-muted">不懂事的小屁孩</span> <a class="tag" taget="_blank" href="/search/enum/1.htm">enum</a> <div>以前的时候知道enum,但是真心不怎么用,在实际开发中,经常会用到以下代码: protected final static String XJ = "XJ"; protected final static String YHK = "YHK"; protected final static String PQ = "PQ"; </div> </li> <li><a href="/article/188.htm" title="【Spark九十七】RDD API之aggregateByKey" target="_blank">【Spark九十七】RDD API之aggregateByKey</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a> <div>1. aggregateByKey的运行机制   /** * Aggregate the values of each key, using given combine functions and a neutral "zero value". * This function can return a different result type</div> </li> <li><a href="/article/315.htm" title="hive创建表是报错: Specified key was too long; max key length is 767 bytes" target="_blank">hive创建表是报错: Specified key was too long; max key length is 767 bytes</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a> <div>今天在hive客户端创建表时报错,具体操作如下   hive> create table test2(id string); FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataSto</div> </li> <li><a href="/article/442.htm" title="Map 与 JavaBean之间的转换" target="_blank">Map 与 JavaBean之间的转换</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%87%AA%E7%9C%81/1.htm">自省</a><a class="tag" taget="_blank" href="/search/%E8%BD%AC%E6%8D%A2/1.htm">转换</a><a class="tag" taget="_blank" href="/search/%E5%8F%8D%E5%B0%84/1.htm">反射</a> <div> 最近项目里需要一个工具类,它的功能是传入一个Map后可以返回一个JavaBean对象。很喜欢写这样的Java服务,首先我想到的是要通过Java 的反射去实现匿名类的方法调用,这样才可以把Map里的值set 到JavaBean里。其实这里用Java的自省会更方便,下面两个方法就是一个通过反射,一个通过自省来实现本功能。 1:JavaBean类 1 &nb</div> </li> <li><a href="/article/569.htm" title="java连接ftp下载" target="_blank">java连接ftp下载</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>有的时候需要用到java连接ftp服务器下载,上传一些操作,下面写了一个小例子。 /** ftp服务器地址 */ private String ftpHost; /** ftp服务器用户名 */ private String ftpName; /** ftp服务器密码 */ private String ftpPass; /** ftp根目录 */ private String f</div> </li> <li><a href="/article/696.htm" title="web报表工具FineReport使用中遇到的常见报错及解决办法(二)" target="_blank">web报表工具FineReport使用中遇到的常见报错及解决办法(二)</a> <span class="text-muted">老A不折腾</span> <a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/web%E6%8A%A5%E8%A1%A8/1.htm">web报表</a><a class="tag" taget="_blank" href="/search/java%E6%8A%A5%E8%A1%A8/1.htm">java报表</a><a class="tag" taget="_blank" href="/search/%E6%80%BB%E7%BB%93/1.htm">总结</a> <div>  抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。   出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。   1、没有返回数据集: 在存储过程中的操作语句之前加上set nocount on 或者在数据集exec调用存储过程的前面加上这句。当S</div> </li> <li><a href="/article/823.htm" title="linux 系统cpu 内存等信息查看" target="_blank">linux 系统cpu 内存等信息查看</a> <span class="text-muted">墙头上一根草</span> <a class="tag" taget="_blank" href="/search/cpu/1.htm">cpu</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E5%AD%98/1.htm">内存</a><a class="tag" taget="_blank" href="/search/liunx/1.htm">liunx</a> <div>1 查看CPU   1.1 查看CPU个数   # cat /proc/cpuinfo | grep "physical id" | uniq | wc -l   2   **uniq命令:删除重复行;wc –l命令:统计行数**   1.2 查看CPU核数   # cat /proc/cpuinfo | grep "cpu cores" | u</div> </li> <li><a href="/article/950.htm" title="Spring中的AOP" target="_blank">Spring中的AOP</a> <span class="text-muted">aijuans</span> <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>  Spring中的AOP Written by Tony Jiang @ 2012-1-18 (转)何为AOP AOP,面向切面编程。 在不改动代码的前提下,灵活的在现有代码的执行顺序前后,添加进新规机能。 来一个简单的Sample: 目标类: [java]  view plain copy print ? package&nb</div> </li> <li><a href="/article/1077.htm" title="placeholder(HTML 5) IE 兼容插件" target="_blank">placeholder(HTML 5) IE 兼容插件</a> <span class="text-muted">alxw4616</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jquery+jQuery%E6%8F%92%E4%BB%B6/1.htm">jquery jQuery插件</a> <div>placeholder 这个属性被越来越频繁的使用. 但为做HTML 5 特性IE没能实现这东西. 以下的jQuery插件就是用来在IE上实现该属性的. /** * [placeholder(HTML 5) IE 实现.IE9以下通过测试.] * v 1.0 by oTwo 2014年7月31日 11:45:29 */ $.fn.placeholder = function</div> </li> <li><a href="/article/1204.htm" title="Object类,值域,泛型等总结(适合有基础的人看)" target="_blank">Object类,值域,泛型等总结(适合有基础的人看)</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/%E6%B3%9B%E5%9E%8B%E7%9A%84%E7%BB%A7%E6%89%BF%E5%92%8C%E9%80%9A%E9%85%8D%E7%AC%A6/1.htm">泛型的继承和通配符</a><a class="tag" taget="_blank" href="/search/%E5%8F%98%E9%87%8F%E7%9A%84%E5%80%BC%E5%9F%9F/1.htm">变量的值域</a><a class="tag" taget="_blank" href="/search/Object%E7%B1%BB%E8%BD%AC%E6%8D%A2/1.htm">Object类转换</a> <div>java的作用域在编程的时候经常会遇到,而我经常会搞不清楚这个 问题,所以在家的这几天回忆一下过去不知道的每个小知识点   变量的值域;   package 基础; /** * 作用域的范围 * * @author Administrator * */ public class zuoyongyu { public static vo</div> </li> <li><a href="/article/1331.htm" title="JDK1.5 Condition接口" target="_blank">JDK1.5 Condition接口</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/Condition/1.htm">Condition</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a> <div>Condition 将 Object 监视器方法(wait、notify和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。 条件(也称为条件队列或条件变量)为线程提供了一</div> </li> <li><a href="/article/1458.htm" title="开源中国OSC源创会记录" target="_blank">开源中国OSC源创会记录</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a><a class="tag" taget="_blank" href="/search/MemSQL/1.htm">MemSQL</a> <div>一.Strata+Hadoop World(SHW)大会         是全世界最大的大数据大会之一。SHW大会为各种技术提供了深度交流的机会,还会看到最领先的大数据技术、最广泛的应用场景、最有趣的用例教学以及最全面的大数据行业和趋势探讨。          二.Hadoop   &nbs</div> </li> <li><a href="/article/1585.htm" title="【Java范型七】范型消除" target="_blank">【Java范型七】范型消除</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>范型是Java1.5引入的语言特性,它是编译时的一个语法现象,也就是说,对于一个类,不管是范型类还是非范型类,编译得到的字节码是一样的,差别仅在于通过范型这种语法来进行编译时的类型检查,在运行时是没有范型或者类型参数这个说法的。 范型跟反射刚好相反,反射是一种运行时行为,所以编译时不能访问的变量或者方法(比如private),在运行时通过反射是可以访问的,也就是说,可见性也是一种编译时的行为,在</div> </li> <li><a href="/article/1712.htm" title="【Spark九十四】spark-sql工具的使用" target="_blank">【Spark九十四】spark-sql工具的使用</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a> <div>spark-sql是Spark bin目录下的一个可执行脚本,它的目的是通过这个脚本执行Hive的命令,即原来通过 hive>输入的指令可以通过spark-sql>输入的指令来完成。 spark-sql可以使用内置的Hive metadata-store,也可以使用已经独立安装的Hive的metadata store   关于Hive build into Spark</div> </li> <li><a href="/article/1839.htm" title="js做的各种倒计时" target="_blank">js做的各种倒计时</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/js+%E5%80%92%E8%AE%A1%E6%97%B6/1.htm">js 倒计时</a> <div> 第一种:精确到秒的javascript倒计时代码      HTML代码:   <form name="form1">   <div align="center" align="middle"</div> </li> <li><a href="/article/1966.htm" title="java-37.有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接" target="_blank">java-37.有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> public class MaxCatenate { /* * Q.37 有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接, * 问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。 */ public static void main(String[] args){</div> </li> <li><a href="/article/2093.htm" title="mongoDB安装" target="_blank">mongoDB安装</a> <span class="text-muted">开窍的石头</span> <a class="tag" taget="_blank" href="/search/mongodb%E5%AE%89%E8%A3%85+%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/1.htm">mongodb安装 基本操作</a> <div>mongoDB的安装          1:mongoDB下载   https://www.mongodb.org/downloads         2:下载mongoDB下载后解压     </div> </li> <li><a href="/article/2220.htm" title="[开源项目]引擎的关键意义" target="_blank">[开源项目]引擎的关键意义</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/1.htm">开源项目</a> <div>      一个系统,最核心的东西就是引擎。。。。。       而要设计和制造出引擎,最关键的是要坚持。。。。。。       现在最先进的引擎技术,也是从莱特兄弟那里出现的,但是中间一直没有断过研发的    </div> </li> <li><a href="/article/2347.htm" title="软件度量的一些方法" target="_blank">软件度量的一些方法</a> <span class="text-muted">cuiyadll</span> <a class="tag" taget="_blank" href="/search/%E6%96%B9%E6%B3%95/1.htm">方法</a> <div>软件度量的一些方法http://cuiyingfeng.blog.51cto.com/43841/6775/在前面我们已介绍了组成软件度量的几个方面。在这里我们将先给出关于这几个方面的一个纲要介绍。在后面我们还会作进一步具体的阐述。当我们不从高层次的概念级来看软件度量及其目标的时候,我们很容易把这些活动看成是不同而且毫不相干的。我们现在希望表明他们是怎样恰如其分地嵌入我们的框架的。也就是我们度量的</div> </li> <li><a href="/article/2474.htm" title="XSD中的targetNameSpace解释" target="_blank">XSD中的targetNameSpace解释</a> <span class="text-muted">darrenzhu</span> <a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/namespace/1.htm">namespace</a><a class="tag" taget="_blank" href="/search/xsd/1.htm">xsd</a><a class="tag" taget="_blank" href="/search/targetnamespace/1.htm">targetnamespace</a> <div>参考链接: http://blog.csdn.net/colin1014/article/details/357694 xsd文件中定义了一个targetNameSpace后,其内部定义的元素,属性,类型等都属于该targetNameSpace,其自身或外部xsd文件使用这些元素,属性等都必须从定义的targetNameSpace中找: 例如:以下xsd文件,就出现了该错误,即便是在一</div> </li> <li><a href="/article/2601.htm" title="什么是RAID0、RAID1、RAID0+1、RAID5,等磁盘阵列模式?" target="_blank">什么是RAID0、RAID1、RAID0+1、RAID5,等磁盘阵列模式?</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/raid/1.htm">raid</a> <div>RAID 1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。 Mir</div> </li> <li><a href="/article/2728.htm" title="yii2 restful web服务快速入门" target="_blank">yii2 restful web服务快速入门</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/yii2/1.htm">yii2</a> <div>快速入门 Yii 提供了一整套用来简化实现 RESTful 风格的 Web Service 服务的 API。 特别是,Yii 支持以下关于 RESTful 风格的 API: 支持 Active Record 类的通用API的快速原型 涉及的响应格式(在默认情况下支持 JSON 和 XML) 支持可选输出字段的定制对象序列化 适当的格式的数据采集和验证错误 </div> </li> <li><a href="/article/2855.htm" title="MongoDB查询(3)——内嵌文档查询(七)" target="_blank">MongoDB查询(3)——内嵌文档查询(七)</a> <span class="text-muted">eksliang</span> <a class="tag" taget="_blank" href="/search/MongoDB%E6%9F%A5%E8%AF%A2%E5%86%85%E5%B5%8C%E6%96%87%E6%A1%A3/1.htm">MongoDB查询内嵌文档</a><a class="tag" taget="_blank" href="/search/MongoDB%E6%9F%A5%E8%AF%A2%E5%86%85%E5%B5%8C%E6%95%B0%E7%BB%84/1.htm">MongoDB查询内嵌数组</a> <div>MongoDB查询内嵌文档 转载请出自出处:http://eksliang.iteye.com/blog/2177301 一、概述        有两种方法可以查询内嵌文档:查询整个文档;针对键值对进行查询。这两种方式是不同的,下面我通过例子进行分别说明。   二、查询整个文档 例如:有如下文档 db.emp.insert({ &qu</div> </li> <li><a href="/article/2982.htm" title="android4.4从系统图库无法加载图片的问题" target="_blank">android4.4从系统图库无法加载图片的问题</a> <span class="text-muted">gundumw100</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a> <div>典型的使用场景就是要设置一个头像,头像需要从系统图库或者拍照获得,在android4.4之前,我用的代码没问题,但是今天使用android4.4的时候突然发现不灵了。baidu了一圈,终于解决了。 下面是解决方案: private String[] items = new String[] { "图库","拍照" }; /* 头像名称 */</div> </li> <li><a href="/article/3109.htm" title="网页特效大全 jQuery等" target="_blank">网页特效大全 jQuery等</a> <span class="text-muted">ini</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><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/ini/1.htm">ini</a> <div>HTML5和CSS3知识和特效 asp.net ajax jquery实例 分享一个下雪的特效 jQuery倾斜的动画导航菜单 选美大赛示例 你会选谁 jQuery实现HTML5时钟 功能强大的滚动播放插件JQ-Slide 万圣节快乐!!! 向上弹出菜单jQuery插件 htm5视差动画 jquery将列表倒转顺序 推荐一个jQuery分页插件 jquery animate</div> </li> <li><a href="/article/3236.htm" title="swift objc_setAssociatedObject block(version1.2 xcode6.4)" target="_blank">swift objc_setAssociatedObject block(version1.2 xcode6.4)</a> <span class="text-muted">啸笑天</span> <a class="tag" taget="_blank" href="/search/version/1.htm">version</a> <div>  import UIKit class LSObjectWrapper: NSObject { let value: ((barButton: UIButton?) -> Void)? init(value: (barButton: UIButton?) -> Void) { self.value = value </div> </li> <li><a href="/article/3363.htm" title="Aegis 默认的 Xfire 绑定方式,将 XML 映射为 POJO" target="_blank">Aegis 默认的 Xfire 绑定方式,将 XML 映射为 POJO</a> <span class="text-muted">MagicMa_007</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/Aegis/1.htm">Aegis</a><a class="tag" taget="_blank" href="/search/xfire/1.htm">xfire</a> <div>      Aegis 是一个默认的 Xfire 绑定方式,它将 XML 映射为 POJO, 支持代码先行的开发.你开发服 务类与 POJO,它为你生成 XML schema/wsdl XML 和 注解映射概览       默认情况下,你的 POJO 类被是基于他们的名字与命名空间被序列化。如果</div> </li> <li><a href="/article/3490.htm" title="js get max value in (json) Array" target="_blank">js get max value in (json) Array</a> <span class="text-muted">qiaolevip</span> <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/%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/max/1.htm">max</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a> <div>// Max value in Array var arr = [1,2,3,5,3,2];Math.max.apply(null, arr); // 5 // Max value in Jaon Array var arr = [{"x":"8/11/2009","y":0.026572007},{"x"</div> </li> <li><a href="/article/3617.htm" title="XMLhttpRequest 请求 XML,JSON ,POJO 数据" target="_blank">XMLhttpRequest 请求 XML,JSON ,POJO 数据</a> <span class="text-muted">Luob.</span> <a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/XMLhttpREquest/1.htm">XMLhttpREquest</a> <div>在使用XMlhttpRequest对象发送请求和响应之前,必须首先使用javaScript对象创建一个XMLHttpRquest对象。 var xmlhttp; function getXMLHttpRequest(){ if(window.ActiveXObject){ xmlhttp:new ActiveXObject("Microsoft.XMLHTTP</div> </li> <li><a href="/article/3744.htm" title="jquery" target="_blank">jquery</a> <span class="text-muted">wuai</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a> <div>以下防止文档在完全加载之前运行Jquery代码,否则会出现试图隐藏一个不存在的元素、获得未完全加载的图像的大小 等等 $(document).ready(function(){ jquery代码; }); <script type="text/javascript" src="c:/scripts/jquery-1.4.2.min.js&quo</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>