自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(163)
  • 资源 (1)
  • 收藏
  • 关注

翻译 IO模型/IO复用

一、I/O 模型一个输入操作通常包括两个阶段:等待数据准备好从内核向进程复制数据对于一个套接字上的输入操作,第一步通常涉及等待数据从网络中到达。当所等待数据到达时,它被复制到内核中的某个缓冲区。第二步就是把数据从内核缓冲区复制到应用进程缓冲区。Unix 有五种 I/O 模型:阻塞式 I/O非阻塞式 I/OI/O 复用(select 和 poll)信号驱动式 I/O(SIGIO)异步 I/O(AIO...

2019-03-31 22:09:26 329

转载 HTTP与HTTPS的区别,详细介绍

转自:https://blog.csdn.net/qq_35642036/article/details/82788421        超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,H...

2019-03-31 21:58:35 595

转载 面试/笔试第一弹 —— 计算机网络面试问题集锦

转自:https://blog.csdn.net/justloveyou_/article/details/78303617 写在前面:  找工作告一段落,期间经历了很多事情,也思考了许多问题,最后也收获了一些沉甸甸的东西 —— 成长和一些来自阿里、百度、京东(sp)、华为等厂子的Offer。好在一切又回到正轨,接下来要好好总结一番才不枉这段经历,遂将此过程中笔者的一些笔试/面试心...

2019-03-31 21:54:23 572

转载 用户进程间通信主要有哪几种方式?

参考资料:http://songlee24.github.io/2015/04/21/linux-IPC/进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。以L...

2019-03-31 21:36:25 861

转载 select、poll、epoll之间的区别总结

转自:http://www.cnblogs.com/Anker/p/3265058.html&nbspselect,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读...

2019-03-31 21:29:33 142

原创 内容涵盖高并发、分布式、高可用、微服务等领域知识

https://github.com/tigerchicken/advanced-java

2019-03-29 15:12:17 169

转载 【带你入门】java网络编程

转自:http://www.cnblogs.com/springcsc/archive/2009/12/03/1616413.html网络编程网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无法进入网络编程的大门而放弃了对于该部分技术的学习。在 学习网络编程以前,很多初学者可能觉得网络编程是比较复杂的系统工程,需要了解很多和网络相关的基础知识,其实这...

2019-03-29 10:42:31 355

转载 Java 网络编程目录

转自:https://blog.csdn.net/qq_21808961/article/details/81029312Java 网络编程1—IP与InetAddressJava 网络编程2—URL与URLConnectionJava 网络编程3—URLEncoder与URLDecoderJava网络编程4—TCP程序设计Java 网络编程5—UDP程序设计Java 网络编程6—网络...

2019-03-29 10:36:47 646

原创 同步 异步 阻塞 非阻塞

同步与异步同步与异步是针对应用程序与内核的交互而言的。同步过程中进程触发IO操作并等待或者轮询的去查看IO操作是否完成。异步过程中进程触发IO操作以后,直接返回,做自己的事情,IO交给内核来处理,完成后内核通知进程IO完成。阻塞与非阻塞应用进程请求I/O操作时,如果数据未准备好,如果请求立即返回就是非阻塞,不立即返回就是阻塞。简单说就是做一件事如果不能立即获得返回,需要等待,就是阻塞,否则就...

2019-03-29 10:05:34 140

转载 java中BIO、NIO、AIO区别

转自:http://m.blog.csdn.net/blog/yuj9006/25801151java中的IO主要源自于网络和本地文件  IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在...

2019-03-28 23:37:32 159

转载 【Java.NIO】Selector,及SelectionKey

转自:https://blog.csdn.net/robinjwong/article/details/41792623java.nio.channelspublic abstract class Selector extends Object implements CloseableSelector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做...

2019-03-28 22:39:09 194

转载 Java NIO 详解(二)

转自:https://blog.csdn.net/suifeng3051/article/details/48441629在我的上一篇文章JavaNIO详解(一)中介绍了关于标准输入输出NIO相关知识, 本篇将重点介绍基于网络编程NIO(异步IO)。异步IO异步 I/O 是一种没有阻塞地读写数据的方法。通常,在代码进行 read() 调用时,代码会阻塞直至有可供读取的数据。同样, write...

2019-03-28 15:48:21 131

转载 Java NIO 详解(一)

转自:https://blog.csdn.net/suifeng3051/article/details/48160753 NIO即新的输入输出,这个库是在JDK1.4中才引入的。它在标准java代码中提供了高速的面向块的IO操作。1一、基本概念描述1.1 I/O简介I/O即输入输出,是计算机与外界世界的一个借口。IO操作的实际主题是操作系统。在java编程中,一般使用流的方式来处理I...

2019-03-28 15:47:11 127

转载 互联网公司校招Java面试题总结及答案——阿里、腾讯

https://blog.csdn.net/d12345678a/article/details/54376914

2019-03-28 14:46:52 424

转载 阿里面经

https://blog.csdn.net/he90227/article/details/52485484

2019-03-28 14:37:53 155

转载 动态规划6:买卖股票 I II III IV 冷却,共5题

转自:https://blog.csdn.net/Dr_Unknown/article/details/51939121Best Time to Buy and Sell Stock IDescription: Say you have an array for which the ith element is the price of a given stock on day i. ...

2019-03-27 14:12:37 290

原创 动态规划5:编辑距离算法(Edit Distance)

https://blog.csdn.net/Grace_0642/article/details/53944188#概念编辑距离的作用主要是用来比较两个字符串的相似度的基本的定义如下所示:编辑距离,又称Levenshtein距离(莱文斯坦距离也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数,如果它们的距离越大,说明它们越是不同。许可的编辑操作包括...

2019-03-27 11:40:00 1383

转载 动态规划:经典题目(LCS、LCS、LIS、编辑距离)

转自:https://blog.csdn.net/zx64881926/article/details/52503953动态规划思想是算法设计中很重要的一个思想,所谓动态规划就是“边走边看”,前面的知道了,后面的根据前面的也就可以推出来了。和分治算法相似又不同,相同的是都需要去寻找最优子结构,重复子问题,边界条件。不同的是动态规划算法存储前面算得的每一个结果,后面的结果由前面的结果推倒得出。而分...

2019-03-27 10:26:35 604

转载 动态规划4:机器人走方格

转自:https://blog.csdn.net/cy13299138237/article/details/50477407一、无障碍的网格问题描述:  有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。给定两个正整数int x,int y表示网格的大小,计算机器人的走法数目。求解思路:...

2019-03-27 10:08:09 638

转载 教你彻底学会动态规划——进阶篇

转自:https://blog.csdn.net/baidu_28312631/article/details/47426445    在我的上一篇文章中已经详细讲解了动态规划的原理和如何使用动态规划解题。本篇文章,我将继续通过例子来让大家更加熟练地使用动态规划算法。    话不多说,来看如下例题,也是在动态规划里面遇到过的最频繁的一...

2019-03-26 19:55:35 124

转载 教你彻底学会动态规划——入门篇

转自:https://blog.csdn.net/baidu_28312631/article/details/47418773    动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。网上也有很多关于讲解动态规划的文章,大多都是叙述概念,讲解原理,让人觉得晦涩难...

2019-03-26 19:36:22 181

转载 动态规划3:矩阵最小路径和问题

转自:https://blog.csdn.net/qq_27703417/article/details/70981769题目:有一个矩阵map,它每个格子有一个权值。从左上角的格子开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和。给定一个矩阵map及它的行数n和列数m,请返回最小路径和。保证行列数均小于等于100.测试样例:...

2019-03-25 01:43:49 1575

转载 动态规划2:台阶问题

转自:https://blog.csdn.net/qq_27703417/article/details/70981470题目:有n级台阶,一个人每次上一级或者两级,问有多少种走完n级台阶的方法。为了防止溢出,请将结果Mod 1000000007给定一个正整数int n,请返回一个数,代表上楼的方式数。保证n小于等于100000。测试样例:1 返回:1思路:这是一个实际问题,实际问题大多使用...

2019-03-25 01:42:51 226

转载 动态规划1:找零钱练问题

转自:https://blog.csdn.net/qq_27703417/article/details/70980229动态规划很多实际的问题往往需要使用动态规划来解决,动态规划的题目很难,如果按照自己的想法去实现会非常复杂,不仅逻辑复杂而且时间复杂度很高,解决动态规划的问题往往是有套路的,即动态规划的问题题型都差不多,解决思路比较相似,因此有时候可以套用已有的阶梯思路来解决问题。对于动态规...

2019-03-25 01:40:51 483

转载 卡特兰数(Catalan)公式、证明、代码、典例

转自:https://blog.csdn.net/Sherry_Yue/article/details/883647461. 定义卡特兰数(卡塔兰数),英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列。其前几项为(从第零项开始) :C0 = 1, C1 = 1, C2 = 2, C3 = 5, ...

2019-03-24 15:53:10 1507

转载 卡特兰数

转自:https://blog.csdn.net/wu_tongtong/article/details/78161211关于卡特兰数 卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 96948...

2019-03-24 14:12:03 219

转载 如何在无序数组中寻找两个出现奇数次整数

转自:https://blog.csdn.net/qq_31217423/article/details/52974663一个无序数组里有若干个正整数,范围从1到100,其中98个整数都出现了偶数次,只有两个整数出现了奇数次(比如1,1,2,2,3,4,5,5),如何找到这个出现奇数次的整数?解法:遍历整个数组,依次做异或运算。由于数组存在两个出现奇数次的整数,所以最终异或的结果,等同...

2019-03-24 02:50:17 264

转载 位运算相关题目

转自:https://blog.csdn.net/u012813201/article/details/75007735(1)写一个算法,不用任何额外变量交换两个整数的值a=a^bb=a^ba=a^b---------------------------------------------------------------------------------------------...

2019-03-24 01:40:09 129

转载 那些惊艳的算法们(一)——布隆过滤器

转自:https://blog.csdn.net/xinzhongtianxia/article/details/81294922同步发表于:http://blog.lanjingdejia.com/articles/2018/07/13/1531479344453.html问题假设你现在要处理这样一个问题,你有一个网站并且拥有很多访客,每当有用户访问时,你想知道这个ip是不是第一次访问你的...

2019-03-24 00:37:14 188

转载 那些惊艳的算法们

https://blog.csdn.net/xinzhongtianxia/column/info/27590

2019-03-24 00:07:20 217

转载 大量数据去重:Bitmap和布隆过滤器(Bloom Filter)

转自:https://blog.csdn.net/zdxiq000/article/details/57626464 5TB的硬盘上放满了数据,请写一个算法将这些数据进行排重。如果这些数据是一些32bit大小的数据该如何解决?如果是64bit的呢?在面试时遇到的问题,问题的解决方案十分典型,但对于海量数据处理接触少的同学可能一时也想不到什么好方案。介绍两个算法,对于空间的利用到达了一种极...

2019-03-24 00:06:41 646

转载 最大二叉搜索子树

转自:https://blog.csdn.net/qq_27703417/article/details/55212859题目:有一棵二叉树,其中所有节点的值都不一样,找到含有节点最多 的搜索二叉子树,并返回这棵子树的头节点.给定二叉树的头结点root,请返回所求的头结点,若出现多个节点最多的子树,返回头结点权值最大的。思路:这道题目很好也很难,难点主要是对递归的考察,要好好理解,多次理解。之...

2019-03-23 23:59:53 366

原创 LeetCode075——颜色分类(荷兰国旗/三色排序)

1.荷兰国旗问题:数组只包含0,1,2对其排序(1)首先最简单的就是计数排序,当然这里不讨论,一般情况下考察的都不是这个(2)和快排划分过程相似:时间O(n),空间O(1)。快排划分的时候有个标志位 i=left-1,如果a[j]>x,j++,i++否则j++,i++,a[j] a[i]互换位置.而该题目可以设置两个标志位,i,j,一个在最左边一个在最右边。对于数组a[0~n-1],初...

2019-03-23 20:45:06 248

转载 二叉树上最远距离

转自:https://blog.csdn.net/u012813201/article/details/75235625从二叉树的节点A出发,可以向上或者向下走,但沿途的节点只能经过一次,当到达节点B时,路径上的节点数叫作A到B的距离。对于给定的一棵二叉树,求整棵树上节点间的最大距离。给定一个二叉树的头结点root,请返回最大距离。保证点数大于等于2小于等于500.思路:理解题目的含义,对于...

2019-03-23 20:27:17 479

转载 折纸问题(规律题)(map的使用)

转自:https://blog.csdn.net/You_are_my_dream/article/details/54849318 题目描述请把纸条竖着放在桌⼦上,然后从纸条的下边向上⽅对折,压出折痕后再展 开。此时有1条折痕,突起的⽅向指向纸条的背⾯,这条折痕叫做“下”折痕 ;突起的⽅向指向纸条正⾯的折痕叫做“上”折痕。如果每次都从下边向上⽅ 对折,对折N次。请从上到下计算出所有折痕的...

2019-03-23 19:33:21 670

转载 二叉树的下一个结点

方法一:很简单,从给定的结点node开始向上遍历父节点,直到找到这棵二叉树的根结点root,然后中序遍历这棵二叉树root,每遍历一个结点都与node进行比较,看是否是node,当遇到node后,它的下一个结点就是node的后继结点。这个方法很简单但是向上遍历node之前的所有结点再进行中序遍历,麻烦,因此应该改进。方法二:利用中序遍历时的结点之间的特点来找到下一个结点。所谓的下一个结点即后序...

2019-03-23 19:15:07 203

转载 数据结构与算法分析

https://blog.csdn.net/qq_27703417/article/category/6685686

2019-03-23 18:45:09 85

原创 判断一棵树是否是完全二叉树

二叉树: 1.满二叉树:在一棵二叉树中,如果所有分支节点都存在左子树和右子树,并且所有叶子节点都在同一层上。 2.完全二叉树:如果一棵具有N个结点的二叉树的结构与满二叉树的前N个结点的结构相同,称为完全二叉树。 //判断一棵二叉树是否是完全二叉树--利用层序遍历来处理->关键://找第一个度不为2的结点->后序结点:如果有孩子则不是完全二叉树,否则是 bool IsC...

2019-03-23 18:39:31 867

原创 判断二叉树是否是平衡二叉树

二叉树的节点定义为public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}二叉树的深度:根节点到叶节点的最长路径长度 平衡二叉树:二叉树中任一节点的左右子树的深度相差不超过1递归的方法代码如下: public bool...

2019-03-23 15:48:33 356 1

转载 费马小定理 素数判定 蒙哥马利算法

转自:http://www.cnblogs.com/Knuth/archive/2009/09/04/1559949.html约定:x%y为x取模y,即x除以y所得的余数,当x<y时,x%y=x,所有取模的运算对象都为整数。x^y表示x的y次方。乘方运算的优先级高于乘除和取模,加减的优先级最低。见到x^y/z这样,就先算乘方,再算除法。A/B,称为A除以B,也称为B除A。若A%...

2019-03-23 15:01:35 1201

SpringCloud项目

SpringCloud课程项目

2019-01-11

空空如也

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

TA关注的人

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