自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(605)
  • 收藏
  • 关注

转载 Http、REST和RPC区别

转载自:https://blog.csdn.net/mou_it/article/details/79873612RPC(即Remote Procedure Call,远程过程调用)和HTTP(HyperText Transfer Protocol,超文本传输协议)他们最本质的区别,就是RPC主要工作在TCP协议之上,而HTTP服务主要是工作在HTTP协议之上,我们都知道HTTP协议是在传输层协议TCP之上的,所以效率来看的话,RPC当然是要更胜一筹。1、RPC服务(1)RPC架构...

2020-07-07 16:40:33 1129

转载 Java中Lambda表达式的使用

转自:https://www.cnblogs.com/franson-2016/p/5593080.html补充:https://www.cnblogs.com/knowledgesea/p/3163725.html 简介(译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人建议...

2018-10-26 09:05:29 546

转载 什么是尾递归

了解尾递归之前,先了解一下尾调用。在计算机科学里,尾调用是指一个函数里的最后一个动作是一个函数调用的情形:即这个调用的返回值直接被当前函数返回的情形。这种情形下该调用位置为尾位置。(摘自维基百科)以上的解释来自维基百科。介绍了什么叫尾调用。例如: 1 2 3 4 function foo(data) {     a(dat...

2018-10-15 17:07:31 1495

转载 python不变对象与可变对象

转自:https://www.jianshu.com/p/b690422ec02apython变量赋值(可变与不可变)知识点:python中,万物皆对象。     python中不存在所谓的传值调用,一切传递的都是对象的引用,也可以认为是传址。Python在heap中分配的对象分成两类:可变对象和不可变对象。所谓可变对象是指,对象的内容是可变的,例如list。而不可变的对象则相反...

2018-10-13 20:11:21 876

原创 PAT 1150 Travelling Salesman Problem(25 分)

题意:给你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...

2018-09-09 14:38:47 527

原创 PAT 1149 Dangerous Goods Packaging(25 分)

题意:给你n对不能同时存在的货物,现在有m对包裹,让你验证里面是否存在不能同时存在的物品。(n<=1e4,m<=1e2)思路:定义一个map<string, set<string> > 用于记录每个物品与之不能同时存在的物品集合。判断每个包裹时,逐个读入,判断下该物品是否存在于pre(pre是用于保存之前物品所有不能同时存在的物品集合)中,如果有,则说明与之...

2018-09-09 14:28:27 408

原创 PAT 1148 Werewolf - Simple Version(20 分)

题意:有n个人,其中有两个狼人,其他都是好人,现在每个人都会说某人是好人还是坏人。其中有两个人会说谎,一个狼人一个好人。现在让你找出哪俩人是狼人,若不存在则输出No Solution。(n <= 100)样例:5-2+3-4+5+4输出:1 4 思路:因为n很小,所以两个for暴力枚举说谎的人,这样假定哪两个说谎之后,就可以去验证下,是否是两个狼人...

2018-09-09 14:02:38 509

转载 IntelliJ Idea 常用快捷键

转自:http://www.open-open.com/lib/view/open1396578860887.htmlCtrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当...

2018-09-04 14:33:35 180

转载 Spring和SpringMVC的区别

转自:https://www.cnblogs.com/xtdxs/p/6594191.htmlspring 是是一个开源框架,是为了解决企业应用程序开发,功能如下◆目的:解决企业应用开发的复杂性◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能◆范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。◆轻量——...

2018-08-12 22:05:20 450

转载 接口和抽象类的区别

转自:https://www.cnblogs.com/yongjiapei/p/5494894.html接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。...

2018-08-12 21:38:36 26712 9

转载 DAO层、ENTITY层、SERVICE层、CONTROLLER层个人的理解分析

转自:https://blog.csdn.net/warpar/article/details/67638379DAO层、ENTITY层、SERVICE层、CONTROLLER层1、DAO层: 持久层  主要与数据库进行交互   DAO层主要是做数据持久层的工作,主要与数据库进行交互。DAO层首先会创建DAO接口,然后会在配置文件中定义该接口的实现类,   接着就可以在模块中就可以调用D...

2018-08-12 21:25:48 4851

转载 数据库系统与文件系统的区别

很多人刚刚接触数据库时都有疑问:在很多程序中都会是有的直接读取一个静态文件,有的是读取数据库。直接读取静态文件,不访问数据库速度是会很快,但是为什么还要访问数据库呢?它们两则肯定是有区别的,那么区别是什么呢?  其实他们之间的关系很简单,如下参考:   文件系统把数据组织成相互独立的数据文件,实现了记录内的结构性,但整体无结构;而数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是...

2018-08-09 15:11:32 6900

转载 UML是什么?常用的几种图有哪些?

UML即Unified Model Language,是一种建模语言,也是标准建模语言。在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便尽早发现软件设计时存在的潜在问题,从而降低开发风险。同时,也极大地方便了业务人员与开发人员之间的交流。 UML标准建模语言中5种主要的类型图:1、用例图:指的是从用户角度来描述系统功能,并...

2018-08-08 21:06:13 13762 1

转载 在一个文件中有 10G 个整数,乱序排列,要求找出中位数(内存限制为2G)

如题 “在一个文件中有 10G 个整数,乱序排列,要求找出中位数(内存限制为 2G)”  假设整数用32bit来表示。第一步:要表示10G大小的数字,最少需要一个64位的数据空间。(10G = 5 * 2^31 > 2^32 )    假如说10G个整数全是1,那么映射后,会全部映射到第一个区间。    此时,第一个区间的数值应该表示10G,其他的所有区间的数值都为0。要想表...

2018-08-08 20:40:43 1952

原创 TCP协议中syn ack fin各有什么作用

摘自百度知道 链接TCP的三次握手是怎么进行的了:发送端发送一个SYN=1,ACK=0标志的数据包给接收端,请求进行连接,这是第一次握手;接收端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它,可以通讯了,并且让发送端发送一个确认数据包,这是第二次握手;最后,发送端发送一个SYN=0,ACK=1的数据包给接收端,告诉它连接已被确认,这就是第三次握手。之后...

2018-08-06 19:54:03 3016

转载 ftp与tftp的区别

文件传输协议(FTP)实际上就是传输文件的协议,它可以应用在任意两台主机之间,但是FTP不仅仅是一个协议,它同时也是一个程序。作为协议,FTP是被应用程序所使用的;而作为程序,用户需要通过手动方式来使用FTP并完成文件的传送。FTP允许执行对目录和文件的访问,并且可以完成特定类型的目录操作,例如将文件重新定位到不同的目录中。显然,FTP是与Telnet合作一同来完成对FTP服务器的登录操作,并在这...

2018-08-06 18:35:23 901

转载 计算机网络面试问题集锦

写在前面:  找工作告一段落,期间经历了很多事情,也思考了许多问题,最后也收获了一些沉甸甸的东西 —— 成长和一些来自阿里、百度、京东(sp)、华为等厂子的Offer。好在一切又回到正轨,接下来要好好总结一番才不枉这段经历,遂将此过程中笔者的一些笔试/面试心得、干货发表出来,与众共享之。在此特别要感谢CSDN以及广大朋友的支持,我将坚持记录并分享自己所学、所想、所悟,央请大家不吝赐教,提出您宝...

2018-08-06 16:09:35 292

转载 TCP为什么要三次握手?为什么要有四次挥手的TIME_WAIT?

一:首先奉上 TCP三次握手的过程  TCP连接释放的过程:  二: 1。为什么两次就建立连接还要三次握手呢?这主要是为了防止已失效的连接请求报文又突然传递服务器。 所谓“防止已失效的连接请求报文又突然传递服务器。”是这样一种情况: A客户端发出连接请求,因为连接请求报文丢失而未等到确认。于是A再次重传了连接请求,建立了连接。数据传输完毕后,释放了连接。现在假设那第一个请求只是因为网路...

2018-08-06 15:16:47 517

转载 交换机实现虚拟局域网

虚拟局域网: 虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组。         这些网段具有某些共同的需求。          每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的工作站是属于哪一个 VLAN。  虚拟局域网其实只是局域网给用户提供的一种服务,而并不是一种新型局域网。 虚拟局域网限制了接收广播信息的工作站数,使得网络不会因传播过多的广播...

2018-07-30 10:37:57 3736

转载 new和malloc的区别

转自:https://blog.csdn.net/cillyb/article/details/81253198 new和malloc的区别是C/C++一道经典的面试题,我也遇到过几次,回答的都不是很好,今天特意整理了一下。0.       属性new/delete是C++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持。1.       参数使用ne...

2018-07-27 19:40:27 293

转载 P、NP、NPC和NP-Hard相关概念的图形和解释

P、NP、NPC和NP-Hard相关概念的图形和解释一、相关概念      P: 能在多项式时间内解决的问题  NP: 不能在多项式时间内解决或不确定能不能在多项式时间内解决,但能在多项式时间验证的问题  NPC: NP完全问题,所有NP问题在多项式时间内都能约化(Reducibility)到它的NP问题,即解决了此NPC问题,所有NP问题也都得到解决。  NP hard:NP...

2018-07-26 16:41:47 416

转载 集群和分布式的区别和联系

在IDF05(Intel Developer Forum 2005)上,会议指出单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流,吵得很热的云计算实际上只是包装在分布式之外的商业概念,很多开发者都想加入研究云计算这个潮流,在google上通过“云计算”这个关键词来查询资料,查到的都是些概念性或商业性的宣传资料,其实真正需要深入的还是那个早以被人熟...

2018-07-20 19:32:31 5707

转载 数据库设计的三大范式五大约束

转自:点击打开链接今天小编来讲一下数据库的相关知识点,数据库的三大特性可谓是:实体属性和关系。     实体:表; 属性:表中的数据(字段); 关系:表与表之间的关系;     数据库设计三大范式(重点):第一范式(1NF):数据表中的每一列(每个字段)必须是不可拆分的最小单元,也就是确保每一列的原子性;                                例如:userInfo:山东省...

2018-07-10 16:39:07 1335

原创 POJ 2229 Sumsets (完全背包 or 递推)

找一些2^x(0<=x),使它们的和为N。比如,N=7: 1) 1+1+1+1+1+1+1 2) 1+1+1+1+1+2 3) 1+1+1+2+2 4) 1+1+1+4 5) 1+2+2+2 6) 1+2+4 (1 <= N <= 1,000,000). 最后答案保留最后九位。思路:可以用完全背包,d[i][v]  表示前i个数之和为v的最多数量。复杂度O(vn)还有个更好的思路...

2018-07-05 23:22:20 331

转载 数据结构-顺序队列存储结构的不足(假溢出)

我们假设一个队列有n个元素,则顺序存储的队列需建立一个大于n的数组,并把队列的所有元素存储在数组的前n个单元,数组下标为0的一端即是队头。所谓的入队列操作,其实就是在队尾追加一个元素,不需要移动任何元素,因此时间复杂度为0(1)。可有时想想,为什么出队列时一定要全部移动呢,如果不去限制队列的元素必须存储在数组的前n个单元这一条件,出队的性能就会大大增加。也就是说,队头不需要一定在下标为0的位置,比...

2018-07-04 11:35:53 3522

转载 Spring的@Autowired注解、@Resource注解和@Service注解

什么是注解传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop、事物,这么做有两个缺点:1、如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大;如果按需求分开.xml文件,那么.xml文件又会非常多。总之这将导致配置文件的可读性与可维护性变得很低2、在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率为...

2018-06-06 23:53:17 307

转载 解决 String cannot be resolved to a type

报错内容: Multiple annotations found at this line: - String cannot be resolved to a type - The method getContextPath() from the type HttpServletRequest refers to the missing type String解决办法: 首先 右击该项目 - Bu...

2018-05-31 22:36:37 5409

转载 项目出现 The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 解决方法

转自:点击打开链接1. The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path  ①项目右击-->build path -->添加libraries-->server runtime-->ok ②下图  2. JDBC连接Oracle:ORA-28009:con...

2018-05-31 22:33:22 1050

转载 MySql命令大全

<span style="font-size:18px;">MYSQL常用命令1.导出整个数据库mysqldump -u 用户名 -p –default-character-set=latin1 数据库名 > 导出的文件名(数据库默认编码是latin1)mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql2.导出一个表m...

2018-05-31 22:27:27 217

原创 51NOD 1110 距离之和最小 V3(中位数)

X轴上有N个点,每个点除了包括一个位置数据X[i],还包括一个权值W[i]。点P到点P[i]的带权距离 = 实际距离 * P[i]的权值。求X轴上一点使它到这N个点的带权距离之和最小,输出这个最小的带权距离之和。Input第1行:点的数量N。(2 <= N <= 10000)第2 - N + 1行:每行2个数,中间用空格分隔,分别是点的位置及权值。(-10^5 <= X[i] ...

2018-05-18 11:24:53 391

转载 URI 和 URL 的区别

作者:daixinye链接:https://www.zhihu.com/question/21950864/answer/154309494来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。统一资源标志符URI就是在某一规则下能把一个资源独一无二地标识出来。拿人做例子,假设这个世界上所有人的名字都不能重复,那么名字就是URI的一个实例,通过名

2018-05-10 15:57:04 201

原创 HDU 1224 Free DIY Tour(最短路或DP)

题意:给你n个城市,每个城市都有一个风景值,再给你m条路,每条路连接两个城市,只能从序号小的到序号大的,问你从1号到n+1(就是1号)号能经过的风景值得和最大为多少,并且输出路径。思路:很容易想到可以用求最短路的方法求一个最长路;因为满足只能从小序号的城市到大序号的城市,所以也可以用DP来做,从小的城市开始遍历更新。(注意每个测试预处理的时候别忘了把n+1也清空)最短路代码:import java...

2018-05-04 11:05:07 386

转载 Java 中队列和优先队列的使用

     队列的使用(点击打开链接)今天跟大家来看看如何在项目中使用队列。首先我们要知道使用队列的目的是什么?一般情况下,如果是一些及时消息的处理,并且处理时间很短的情况下是不需要使用队列的,直接阻塞式的方法调用就可以了。但是,如果在消息处理的时候特别费时间,这个时候如果有新的消息来了,就只能处于阻塞状态,造成用户等待。这个时候在项目中引入队列是十分有必要的。当我们接受到消息后,先把消息放到队列中...

2018-05-04 09:54:22 1331

转载 HDU 1847 Good Luck in CET-4 Everybody!(巴什博弈)

题意:1、  总共n张牌; 2、  双方轮流抓牌; 3、  每人每次抓牌的个数只能是2的幂次(即:1,2,4,8,16…) 4、  抓完牌,胜负结果也出来了:最后抓完牌的人为胜者;思路:很久以前做过这题,可以拿sg函数做,也可以用pn做,现在才知道也是个巴什博弈摘自:点击打开链接巴什博弈(定理献上):              只有一

2018-05-03 21:09:26 443

原创 HDU 1525 Euclid's Game(博弈)

题意:题目给出了两个正数a, b,每次操作可以把大的数减掉小的数的整数倍。一个数变为0 的时候结束。谁先把其中一个数减为0的获胜。问谁可以赢。Stan是先手。思路:假设a>=b, 如果a%b == 0, 那么肯定是先手胜。(点击打开链接)如果a>=2*b.  那么 那个人肯定知道a%b,b是必胜态还是必败态。如果是必败态,先手将a,b变成a%b,b,那么先手肯定赢。

2018-05-03 20:48:13 377

原创 HDU 2516 取石子游戏(斐波那契博弈)

题意:1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍。取完者胜.先取者负输出"Second win".先取者胜输出"First win".思路:如果不知道斐波那契博弈的话,这题也可以一个个手算下小数据,就会发现必败态都是当石子数为斐波那契数。关于斐波那契博弈的证明:点击打开链接代码:#inclu

2018-04-25 23:09:29 348

原创 HDU 2844 Coins(多重背包)

题意:n种硬币,每个硬币的值为ai,有ci个,求能组成多少个不大于m的不同的金额思路: 明显的多重背包,有两种解法,(当然母函数也可以,没试,不知道会不会T)一种是利用二进制优化,还有一种是(点击打开链接)三层循环(枚举种类,枚举数值,枚举个数)肯定超时,要想办法减去一层循环,仔细分析可以发现个数的那层循环可以省掉,代价是耗费更多的空间,开一个cnt数组记录当前第i种使用了多少个,其它两层循环不变...

2018-04-25 19:42:02 229

原创 HDU 1864 最大报销额(01背包)

题意:现有一笔经费可以报销一定额度的发票。允许报销的发票类型包括买图书(A类)、文具(B类)、差旅(C类),要求每张发票的总额不得超过1000元,每张发票上,单项物品的价值不得超过600元。现请你编写程序,在给出的一堆发票中找出可以报销的、不超过给定额度的最大报销额。 (总发票数思路:首先找出所有有效的发票,然后做一次01背包就行了,但是金额是两位小数,所以可以都先乘上100变成整数再

2018-04-24 22:24:25 246

转载 如何在Ubuntu上安装codeblocks

本教程将向您展示如何在Ubuntu 16.04 / 17.04上安装Code::Blocks。 Code::Blocks是C,C ++和Fortran的免费开源集成开发环境(IDE)。 它可以在Linux,Mac,Windows上运行。 最新版本的Code Blocks 16.01于2016年1月发布。Code::Blocks功能:支持多个编译器,包括GCC,Clang,Vis

2018-04-23 16:40:47 5102

转载 Ubuntu 解决“无法获得锁 /var/lib/dpkg/lock -open (11:资源暂时不可用)”的方法

在ubuntu系统的termial下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将terminal close。此时 apt-get进程可能没有结束。结果,如果再次运行apt-get install 命令安装如今,可能会发生下面的提示:    无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)    无法锁定管理目录(/var...

2018-04-23 16:38:26 296

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除