<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CillyB的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CillyB</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CillyB]]></copyright><item><title><![CDATA[Http、REST和RPC区别]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/107184653</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/107184653</guid><author>CillyB</author><pubDate>Tue, 07 Jul 2020 16:40:33 +0800</pubDate><description><![CDATA[转载自：https://blog.youkuaiyun.com/mou_it/article/details/79873612



RPC（即Remote Procedure Call，远程过程调用）和HTTP（HyperText Transfer Protocol，超文本传输协议）他们最本质的区别，就是RPC主要工作在TCP协议之上，而HTTP服务主要是工作在HTTP协议之上，我们都知道HTTP协议是在传输层协议TCP之上的，所以效率来看的话，RPC当然是要更胜一筹。

1、RPC服务

（1）RPC架构
...]]></description><category></category></item><item><title><![CDATA[Java中Lambda表达式的使用]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/83409686</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/83409686</guid><author>CillyB</author><pubDate>Fri, 26 Oct 2018 09:05:29 +0800</pubDate><description><![CDATA[转自：https://www.cnblogs.com/franson-2016/p/5593080.html

补充：https://www.cnblogs.com/knowledgesea/p/3163725.html

 

简介
(译者注:虽然看着很先进，其实Lambda表达式的本质只是一个&quot;语法糖&quot;,由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议...]]></description><category></category></item><item><title><![CDATA[什么是尾递归]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/83061533</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/83061533</guid><author>CillyB</author><pubDate>Mon, 15 Oct 2018 17:07:31 +0800</pubDate><description><![CDATA[了解尾递归之前，先了解一下尾调用。


在计算机科学里，尾调用是指一个函数里的最后一个动作是一个函数调用的情形：即这个调用的返回值直接被当前函数返回的情形。这种情形下该调用位置为尾位置。（摘自维基百科）


以上的解释来自维基百科。介绍了什么叫尾调用。例如：


			1

			2

			3

			4
			
			
			function foo(data) {

			    a(dat...]]></description><category></category></item><item><title><![CDATA[python不变对象与可变对象]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/83041713</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/83041713</guid><author>CillyB</author><pubDate>Sat, 13 Oct 2018 20:11:21 +0800</pubDate><description><![CDATA[转自：https://www.jianshu.com/p/b690422ec02a

python变量赋值(可变与不可变)


知识点：python中，万物皆对象。
　 　　 python中不存在所谓的传值调用，一切传递的都是对象的引用，也可以认为是传址。


Python在heap中分配的对象分成两类：可变对象和不可变对象。所谓可变对象是指，对象的内容是可变的，例如list。而不可变的对象则相反...]]></description><category></category></item><item><title><![CDATA[PAT 1150 Travelling Salesman Problem（25 分）]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/82558145</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/82558145</guid><author>CillyB</author><pubDate>Sun, 09 Sep 2018 14:38:47 +0800</pubDate><description><![CDATA[题意：给你n个点，m条边，现在给你k条路径，问你每条路径分别属于什么。

TS simple cycle if it is a simple cycle that visits every city;
	TS cycle if it is a cycle that visits every city, but not a simple cycle;
	Not a TS cycle if it is...]]></description><category></category></item><item><title><![CDATA[PAT 1149 Dangerous Goods Packaging（25 分）]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/82558055</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/82558055</guid><author>CillyB</author><pubDate>Sun, 09 Sep 2018 14:28:27 +0800</pubDate><description><![CDATA[题意：给你n对不能同时存在的货物，现在有m对包裹，让你验证里面是否存在不能同时存在的物品。（n&amp;lt;=1e4,m&amp;lt;=1e2）

思路：定义一个map&amp;lt;string, set&amp;lt;string&amp;gt; &amp;gt; 用于记录每个物品与之不能同时存在的物品集合。判断每个包裹时，逐个读入，判断下该物品是否存在于pre（pre是用于保存之前物品所有不能同时存在的物品集合）中，如果有，则说明与之...]]></description><category></category></item><item><title><![CDATA[PAT 1148 Werewolf - Simple Version（20 分）]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/82557821</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/82557821</guid><author>CillyB</author><pubDate>Sun, 09 Sep 2018 14:02:38 +0800</pubDate><description><![CDATA[题意：有n个人，其中有两个狼人，其他都是好人，现在每个人都会说某人是好人还是坏人。其中有两个人会说谎，一个狼人一个好人。现在让你找出哪俩人是狼人,若不存在则输出No Solution。(n &amp;lt;= 100)

样例：

5

-2

+3

-4

+5

+4

输出：

1 4

 

思路：因为n很小，所以两个for暴力枚举说谎的人，这样假定哪两个说谎之后，就可以去验证下，是否是两个狼人...]]></description><category></category></item><item><title><![CDATA[IntelliJ Idea 常用快捷键]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/82383217</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/82383217</guid><author>CillyB</author><pubDate>Tue, 04 Sep 2018 14:33:35 +0800</pubDate><description><![CDATA[转自：http://www.open-open.com/lib/view/open1396578860887.html

Ctrl+Shift + Enter，语句完成
“！”，否定完成，输入表达式时按 “！”键
Ctrl+E，最近的文件
Ctrl+Shift+E，最近更改的文件
Shift+Click，可以关闭文件
Ctrl+[ OR ]，可以跑到大括号的开头与结尾
Ctrl+F12，可以显示当...]]></description><category></category></item><item><title><![CDATA[Spring和SpringMVC的区别]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81611538</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81611538</guid><author>CillyB</author><pubDate>Sun, 12 Aug 2018 22:05:20 +0800</pubDate><description><![CDATA[
转自：https://www.cnblogs.com/xtdxs/p/6594191.html
spring 是是一个开源框架，是为了解决企业应用程序开发，功能如下
◆目的：解决企业应用开发的复杂性
◆功能：使用基本的JavaBean代替EJB，并提供了更多的企业应用功能
◆范围：任何Java应用
简单来说，Spring是一个轻量级的控制反转（IoC）和面向切面（AOP）的容器框架。
◆轻量——...]]></description><category></category></item><item><title><![CDATA[接口和抽象类的区别]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81611090</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81611090</guid><author>CillyB</author><pubDate>Sun, 12 Aug 2018 21:38:36 +0800</pubDate><description><![CDATA[转自：https://www.cnblogs.com/yongjiapei/p/5494894.html

接口和抽象类有什么区别

你选择使用接口和抽象类的依据是什么？


接口和抽象类的概念不一样。接口是对动作的抽象，抽象类是对根源的抽象。

抽象类表示的是，这个对象是什么。接口表示的是，这个对象能做什么。比如，男人，女人，这两个类（如果是类的话……），他们的抽象类是人。说明，他们都是人。

...]]></description><category></category></item><item><title><![CDATA[DAO层、ENTITY层、SERVICE层、CONTROLLER层个人的理解分析]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81610880</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81610880</guid><author>CillyB</author><pubDate>Sun, 12 Aug 2018 21:25:48 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/warpar/article/details/67638379

DAO层、ENTITY层、SERVICE层、CONTROLLER层
1、DAO层： 持久层  主要与数据库进行交互
   DAO层主要是做数据持久层的工作，主要与数据库进行交互。DAO层首先会创建DAO接口，然后会在配置文件中定义该接口的实现类，
   接着就可以在模块中就可以调用D...]]></description><category></category></item><item><title><![CDATA[数据库系统与文件系统的区别]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81537156</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81537156</guid><author>CillyB</author><pubDate>Thu, 09 Aug 2018 15:11:32 +0800</pubDate><description><![CDATA[很多人刚刚接触数据库时都有疑问：在很多程序中都会是有的直接读取一个静态文件，有的是读取数据库。直接读取静态文件，不访问数据库速度是会很快，但是为什么还要访问数据库呢?它们两则肯定是有区别的，那么区别是什么呢?

　　其实他们之间的关系很简单，如下参考： 
　　文件系统把数据组织成相互独立的数据文件，实现了记录内的结构性，但整体无结构;而数据库系统实现整体数据的结构化，这是数据库的主要特征之一，也是...]]></description><category></category></item><item><title><![CDATA[UML是什么?常用的几种图有哪些?]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81515573</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81515573</guid><author>CillyB</author><pubDate>Wed, 08 Aug 2018 21:06:13 +0800</pubDate><description><![CDATA[UML即Unified Model Language，是一种建模语言，也是标准建模语言。在软件开发中，当系统规模比较复杂时，需要用图形抽象地来表达复杂的概念，让整个软件设计更具有可读性，可理解性，以便尽早发现软件设计时存在的潜在问题，从而降低开发风险。同时，也极大地方便了业务人员与开发人员之间的交流。

 

UML标准建模语言中5种主要的类型图：

1、用例图：指的是从用户角度来描述系统功能，并...]]></description><category></category></item><item><title><![CDATA[在一个文件中有 10G 个整数,乱序排列,要求找出中位数(内存限制为2G)]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81515175</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81515175</guid><author>CillyB</author><pubDate>Wed, 08 Aug 2018 20:40:43 +0800</pubDate><description><![CDATA[如题 “在一个文件中有 10G 个整数,乱序排列,要求找出中位数(内存限制为 2G)”

  假设整数用32bit来表示。

第一步：要表示10G大小的数字，最少需要一个64位的数据空间。（10G = 5 * 2^31 &amp;gt; 2^32 )

    假如说10G个整数全是1，那么映射后，会全部映射到第一个区间。

    此时，第一个区间的数值应该表示10G，其他的所有区间的数值都为0。要想表...]]></description><category></category></item><item><title><![CDATA[TCP协议中syn ack fin各有什么作用]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81460176</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81460176</guid><author>CillyB</author><pubDate>Mon, 06 Aug 2018 19:54:03 +0800</pubDate><description><![CDATA[摘自百度知道 链接

TCP的三次握手是怎么进行的了：发送端发送一个SYN=1，ACK=0标志的数据包给接收端，请求进行连接，这是第一次握手；接收端收到请求并且允许连接的话，就会发送一个SYN=1，ACK=1标志的数据包给发送端，告诉它，可以通讯了，并且让发送端发送一个确认数据包，这是第二次握手；最后，发送端发送一个SYN=0，ACK=1的数据包给接收端，告诉它连接已被确认，这就是第三次握手。之后...]]></description><category></category></item><item><title><![CDATA[ftp与tftp的区别]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81459151</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81459151</guid><author>CillyB</author><pubDate>Mon, 06 Aug 2018 18:35:23 +0800</pubDate><description><![CDATA[文件传输协议(FTP)实际上就是传输文件的协议,它可以应用在任意两台主机之间，但是FTP不仅仅是一个协议,它同时也是一个程序。作为协议,FTP是被应用程序所使用的;而作为程序,用户需要通过手动方式来使用FTP并完成文件的传送。FTP允许执行对目录和文件的访问,并且可以完成特定类型的目录操作,例如将文件重新定位到不同的目录中。显然,FTP是与Telnet合作一同来完成对FTP服务器的登录操作,并在这...]]></description><category></category></item><item><title><![CDATA[计算机网络面试问题集锦]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81455997</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81455997</guid><author>CillyB</author><pubDate>Mon, 06 Aug 2018 16:09:35 +0800</pubDate><description><![CDATA[写在前面：

　　找工作告一段落，期间经历了很多事情，也思考了许多问题，最后也收获了一些沉甸甸的东西 —— 成长和一些来自阿里、百度、京东(sp)、华为等厂子的Offer。好在一切又回到正轨，接下来要好好总结一番才不枉这段经历，遂将此过程中笔者的一些笔试/面试心得、干货发表出来，与众共享之。在此特别要感谢优快云以及广大朋友的支持，我将坚持记录并分享自己所学、所想、所悟，央请大家不吝赐教，提出您宝...]]></description><category></category></item><item><title><![CDATA[TCP为什么要三次握手？为什么要有四次挥手的TIME_WAIT？]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81454806</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81454806</guid><author>CillyB</author><pubDate>Mon, 06 Aug 2018 15:16:47 +0800</pubDate><description><![CDATA[一：首先奉上 
TCP三次握手的过程  
TCP连接释放的过程：  
二： 
1。为什么两次就建立连接还要三次握手呢？这主要是为了防止已失效的连接请求报文又突然传递服务器。 
所谓“防止已失效的连接请求报文又突然传递服务器。”是这样一种情况： 
A客户端发出连接请求，因为连接请求报文丢失而未等到确认。于是A再次重传了连接请求，建立了连接。数据传输完毕后，释放了连接。现在假设那第一个请求只是因为网路...]]></description><category></category></item><item><title><![CDATA[交换机实现虚拟局域网]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81280964</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81280964</guid><author>CillyB</author><pubDate>Mon, 30 Jul 2018 10:37:57 +0800</pubDate><description><![CDATA[虚拟局域网：

 虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组。 
        这些网段具有某些共同的需求。  
        每一个 VLAN 的帧都有一个明确的标识符，指明发送这个帧的工作站是属于哪一个 VLAN。  

虚拟局域网其实只是局域网给用户提供的一种服务，而并不是一种新型局域网。 

虚拟局域网限制了接收广播信息的工作站数，使得网络不会因传播过多的广播...]]></description><category></category></item><item><title><![CDATA[new和malloc的区别]]></title><link>https://blog.youkuaiyun.com/CillyB/article/details/81253198</link><guid>https://blog.youkuaiyun.com/CillyB/article/details/81253198</guid><author>CillyB</author><pubDate>Fri, 27 Jul 2018 19:40:27 +0800</pubDate><description><![CDATA[转自：https://blog.youkuaiyun.com/cillyb/article/details/81253198

 

new和malloc的区别是C/C++一道经典的面试题，我也遇到过几次，回答的都不是很好，今天特意整理了一下。

0.       属性

new/delete是C++关键字，需要编译器支持。malloc/free是库函数，需要头文件支持。

1.       参数

使用ne...]]></description><category></category></item></channel></rss>