Select会不会阻塞 [问题点数:200分,结帖人hnwyllmm]

一键查看最优答案

确认一键查看最优答案?
本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!
Bbs7
本版专家分:11630
结帖率 97.32%
Bbs7
本版专家分:11630
Bbs7
本版专家分:11630
socket编程中的select解决阻塞问题
转载请注明出处:作者 kikilizhm 在编写ftp客户端程序时,在联通后使用recv函数进行接收欢迎信息时,需要申请内存进行接收数据保存,一次读取成功,但是由于一个随机的ftp服务端在说,欢迎信息的大小是不知道的,所以在尝试使用死循环,在阅读recv的说明时讲到返回值即是接收到的字节数,那么返回0的时候就代表结束了,实践发现recv是个<em>阻塞</em>函数,在连接不断开的情况下,<em>会</em>一直处于<em>阻塞</em>状
select阻塞怎么解除?急~~~~
先把代码贴上 while(TRUE) { fd_set rdfds; FD_ZERO(&rdfds); FD_SET(sockSrv,&rdfds); while(1) { int retval=se
select与阻塞和非阻塞
select与<em>阻塞</em>和非<em>阻塞</em> 这2天一直和同事在讨论socket的非<em>阻塞</em>用在什么场合,并且认为在select时,使用的socket要设置成<em>阻塞</em>的,今天在网上搜了一下,才发现,原来,我们搞错了,一个套接字<em>阻塞</em>或者不<em>阻塞</em>,select就在那里,它可以针对这2种套接字使用,对任何一种套接字的轮询检测,超时时间都是有效的,区别就在于: 当select完毕,认为该套接字可读时, 1
select函数与阻塞socket/非阻塞socket没有半毛钱的关系!------select永远阻塞,直到xxx
select函数与<em>阻塞</em>socket/非<em>阻塞</em>socket没有半毛钱的关系。select函数本身是<em>阻塞</em>的(与socket是否<em>阻塞</em>并没有关系), 直到:         1.  有监测时间发生(返回  > 0)          2.  超时(返回0)          3.  select函数错误 (返回-1)          不多说。 比起select, 我更爱poll .
select阻塞与非阻塞的含义
一个套接字<em>阻塞</em>或者不<em>阻塞</em>,select就在那里,它可以针对这2种套接字使用,对任何一种套接字的轮询检测,超时时间都是有效的,区别就在于: 当select完毕,认为该套接字可读时, 1 .<em>阻塞</em>的套接字,<em>会</em>让read<em>阻塞</em>,直到读到所需要的所有字节; 2 .非<em>阻塞</em>的套接字,<em>会</em>让read读完fd中的数据后就返回,但如果原本你要求读10个数据,这时只读了8个数据,如果你不再次使用selec
select()的阻塞机制
众所周知,当select 的 timeval参数设置成 NULL时,文件描述符集里 的描述符没有“风吹草动”的时候,select<em>会</em>一直<em>阻塞</em>的。 当他<em>阻塞</em>发生在什么时候呢,例如有一个while(1)循环: 当有一个客户端连接连接进来的时候,毫无疑问执行 FD_ISSET 下的语句,但奇怪的是,他打印完 buf2 之后,就<em>阻塞</em>了,奇怪,按理说不是应该<em>会</em>打印“111”, 再执行 FD_ZE
linux select函数用法 && 阻塞与非阻塞IO
select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序<em>会</em>停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE *结构的表示就是stdin、stdout、stderr。         函数原型是:int se
阻塞select
select_client客户端////  main.cpp//  111////  Created by LXBig on 18/4/9.//  Copyright © 2018年 LXBig. All rights reserved.//#include &amp;lt;iostream&amp;gt;#include &amp;lt;string.h&amp;gt;#include &amp;lt;stdlib.h&amp;gt;#inc...
程序中用sleep和select阻塞休眠的区别
在看公司项目中发现超时控制中使用select替代sleep就行<em>阻塞</em>,循环检查任务是否超时,在网上找了很多资料说了select的各种好处: 1:sleep不准确,只能精确到秒(这个我感觉可以使用usleep代替,不是个很好理由)。 2:sleep容易受到系统信号,例如SIGALRM影响,各个系统版本实现不一,sleep是个glic库函数,不是内核调用。 3:更高级的说话是,sleep浪费CPU
select于sleep
一直 以为 select(0,NULL,NULL,NULL,&timeout2)//timeout2.tv_sec=1;timeout2.tv_usec=0; 于sleep(1)相同~ 今天编程 遇到
用select替代usleep导致的线程阻塞问题
写一个延迟函数,usleep是延迟函数有时导致线程<em>阻塞</em><em>会</em>因为有定时器终止的信号(SIGALRM)产生时<em>会</em>一些未定义的情况,建议少用,我们目前都换成了select替代,具体代码如下 void Msleep(unsigned int MilliSecond) { struct timeval time; time.tv_sec = MilliSecond / 1000;//seconds...
深度好文:select与非阻塞IO
对于面向连接的socket类型(SOCK_STREAM,SOCK_SEQPACKET)在读写数据之前必须建立连接,首先服务器端socket必须在一个客户端知道的地址进行监听,也就是创建socket之后必须调用bind绑定到一个指定的地址,然后调用int listen(int sockfd, int backlog);进行监听。此时服务器socket允许客户端进行连接,backlog提示没被acce...
关于ORACLE的阻塞的问题
我负责的系统目前出现了这样一个情况,系统忙的时候,<em>会</em>出现数据库后台有大量ACTIVE<em>会</em>话,经过查看,大部分的<em>会</em>话都是调用后台的存储过程的,而且如果不重启应用,这些<em>会</em>话根本就不<em>会</em>释放,这个时候看服务器的
使用select进行 阻塞式/低CPU消耗 延时
select函数本是被用作检测系统文件描述符的状态int threadDelay(const int sec, const int usec){ timeval tv; tv.tv_sec = sec; tv.tv_usec = usec; if (0 != select(0, NULL, NULL, NULL, &tv)){ return -1;
select模型是 阻塞的嘛?
select模型是 <em>阻塞</em>的嘛? 没有调用ioctlsocket的情况下是 <em>阻塞</em>还是非<em>阻塞</em>? 汪艳平的书 没有说明是<em>阻塞</em>还是飞<em>阻塞</em> 也没有调用ioctlsocket
linux下socket编程 select只监测读事件, 为什么还出现读阻塞
-
Linux多路复用(select,poll,epoll)的优缺点
Linux中高级IO多路转接中select、poll和epoll的优缺点,这里主要谈select和poll的缺点以及epoll的优点。 一、select的缺点: 1、编写难度大 2、同时处理的文件描述符是有上限的(1024 ) 3、每次需要重新设定fd集合 4、性能<em>会</em>随用户的增多而效率降低 5、输入输出参数在一起 select目前几乎在所有的平台上支持,其良好跨平台支持也是它的一个优...
IO多路复用之select总结
1、基本概念   IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:   (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。   (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。   (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。 ...
关于select定时
            struct timeval tmp;  tmp.tv_sec = 0;  tmp.tv_usec = 50*1000;  select(0, NULL, NULL, NULL, &amp;amp;tmp); 这样只能生效一次,如果while循环了,则需要在再次调用 select 时 重新给 struct timeval 的变量 赋值,如此才能循环生效。     ...
为什么阻塞在select上?select函数本身是阻塞的吗?
程序大致如下,省略了socket的建立过程,也调用了ioctlsocket函数把s转成非<em>阻塞</em>的了,可是程序运行起来还是<em>阻塞</em>了,debug跟踪进去发现是卡在select这句话上,select一运行程序就
在线等,ORACLE运行一段时间以后变慢
各位高手,最近公司上了一套系统,数据库用ORACLE,环境如下: XEON 8CPU 64G RAM 800G SSD ORACLE启动后,资源占用如下: top - 16:29:49 up 1:16
sql的select出现堵塞导致程序卡死的解决方法(在事务中查询)
在用C#查询sql的时候,出现很奇怪的事情,sql语句没有任何问题,但是执行到那儿之后,程序就<em>会</em>卡死一段时间,然后返回null,在这期间,直接在“sql server”里执行这段语句<em>会</em>出现无法读出的情况,排除数据量太大的原因,因为正常情况只需要一秒不到就能查询完。 后来问了朋友,知道这是因为sql的“事务保护”机制造成的,解决方法是在sql语句里加入解锁的语句select m.MicroLette
linux下select用阻塞的情况如何返回?
就是说我在select最后一个参数为NULL,即不设超时,变成了<em>阻塞</em>地等待,但我发现自己创建的SOCKET自己把它CLOSE掉时,那个正在<em>阻塞</em>的SELECT模型并不<em>会</em>返回,一直<em>阻塞</em>着,有什么方式让这个
linux中select()函数分析
<em>Select</em>在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用<em>Select</em>写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的<em>阻塞</em>程序(所谓<em>阻塞</em>方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被<em>阻塞</em>,函数不能立即返回)。可是使用<em>Select</em>就可以完成非<em>阻塞</em>(所谓非<em>阻塞</em>方式
connect阻塞,怎么解决?如果select返回可读,结果只读到0字节,什么情况?
步骤1: 设置非<em>阻塞</em>,启动连接 实现非<em>阻塞</em> connect ,首先把 sockfd 设置成非<em>阻塞</em>的。这样调用 connect 可以立刻返回,根据返回值和 errno 处理三种情况: (1) 如果返回 0,表示 connect 成功。 (2) 如果返回值小于 0, errno 为 EINPROGRESS,  表示连接       建立已经启动但是尚未完成。这是期望的结果,不是真正的错误。 ...
使用select唤醒睡眠中的线程
有时我们需要使用多线程每隔一定时间自动去完成一些特定的工作,但有时我们也需要线程在某种情况发生时,从睡眠中唤醒并立即去完成工作,这时sleep就显得无能为力了,但这正是select登场的时候。 这里我们就不介绍select的用法了,如果您还不知道select怎么用的,您可以去找本书看看,悄悄的告诉你,可以去《unix网络编程卷1:套接字联网api》这本上取经。 select原型: int
select 休眠比sleep 更准
‍int mySleep(int second, int microsecond){timeval t_timeval;t_timeval.tv_sec = second;t_timeval.tv_usec = microsecond;select(0, NULL, NULL, NULL, &t_timeval);return 0;}//kfs中的有段代码是这样写的fd_set rfds;struct timeval timeout;  timeout.tv_sec = 5;  timeout.tv_use
Select模式开发[阻塞]
套接字<em>Select</em>模型是比较常用的一种I/O模型。利用该模型使得WindowsSockets应用程序可以在同一时间内管理和控制多个套接字。该模型的核心是select()函数。在使用该函数是,还需要用到FD_SET,FD_ZERO,FD_ISSET和FD_CLR四个宏。开发WindowsSocket程序时,应用程序需要这样的能力:当执行操作的套接字满足可读可写条件时,需要给应用程序发送通知,接收到这...
阻塞与非阻塞、select关于深入网络编程
非<em>阻塞</em>与<em>阻塞</em>答疑:http://www.2cto.com/kf/201208/150347.html select答疑:http://www.cnblogs.com/NeuqUstcIim/archive/2008/08/14/1268023.html
oracle阻塞处理
--查看等待的sessionselect * from dba_waiters;  --查看锁等待情况select distinct lk.SID,lk.ID1,lk.ID2,lk.LMODE,lk.REQUEST,lk.BLOCK,lk.TYPE,do.owner || '.' || do.object_namefrom v$lock lk,v$locked_object lo,dba_obje...
基于多路复用select和套接字非阻塞实现tcp server处理多个客户端
为了实现tcp服务器能够同时处理多个服务器,除了使用多进程、多线程的方法以外,还可以借助select和设置套接字为NONBLOCK,以防止服务器<em>阻塞</em>在某个函数上。代码如下头文件#ifndef _TCP_SELECT_H_ #define _TCP_SELECT_H_ #include &amp;lt;stdio.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;s...
阻塞式socket的select()用法
<em>Select</em>在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用<em>Select</em>写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的<em>阻塞</em>程序(所谓<em>阻塞</em>方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被<em>阻塞</em>,函数不能立即返回)。可是使用<em>Select</em>就可以完成非<em>阻塞</em>(所谓非<em>阻塞</em>方式
谈select和阻塞socket的关系
在前面一
关于阻塞和select的问题
1.怎么判断一个socket是不是设置成了非<em>阻塞</em>? 2.可不可以select一个<em>阻塞</em>的socket? 最好能随便说两句原因,谢过
Go语言技巧:使用select{}阻塞main函数
很多时候我们需要让main函数不退出,让它在后台一直执行,例如:func main() { for i := 0; i < 20; i++ { //启动20个协程处理消息队列中的消息 c := consumer.New() go c.Start() } select {} // <em>阻塞</em> }可能大多数人想到<em>阻塞</em>的方法是用channel,当然都是可以
linux非阻塞式socket编程之select()用法
<em>Select</em>在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用<em>Select</em>写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的<em>阻塞</em>程序(所谓<em>阻塞</em>方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被<em>阻塞</em>,函数不能立即返回)。可是使用<em>Select</em>就可以完成非<em>阻塞</em>(所谓非<em>阻塞</em>方
阻塞阻塞、同步异步,select、poll和epoll总结
参考文章 IO模型 <em>阻塞</em>IO 非<em>阻塞</em>IO IO多路复用 信号驱动IO 异步IO 其中前4种是同步,第5种是异步 在进行网络IO的时候<em>会</em>涉及用户态和内核态,数据<em>会</em>在用户态和内核态发生交换。 整个过程可以分为: 用户态等待内核态数据准备好(这个决定是否<em>阻塞</em>和非<em>阻塞</em>) 将数据从内核态拷贝到用户态(这个决定同步和异步) <em>阻塞</em>IO: 1. 用户态等待内核态数据可读(<em>阻塞</em>) 2...
[求助]ADO操作Oracle,select和Update之间阻塞导致死锁
楼主需要往Oracle 字段插入文件(CLOB) 用的方法如下: strSQL.Format(_T("select * from sh_lw_environdata where no= %d),num
一条查询Oracle中的阻塞锁(以及阻塞在哪个数据上)的SQL
<em>Select</em> '节点 ' || a.INST_ID || ' session ' || a.sid || ',' || a_s.SERIAL# ||        ' <em>阻塞</em>了 节点 ' || b.INST_ID || ' session ' || b.SID || ',' || b_s.SERIAL# blockinfo,        a.INST_ID,        a_s.SID,    ...
Oracle引起阻塞的情况
Oracle引起<em>阻塞</em>的情况 一、唯一性约束引起的<em>阻塞</em>: 在session1执行下面的语句中: --创建一个表 create table t(x int primary key); --在表中插入一条数据,并提交。 insert into t values(1); commit; --修改这条数据,但不提交。 update t set x = 2 where x= 1; 在S
C语言 select函数使用
在编程的过程中欧
我就搞不懂了,这个socket的select模式和常规阻塞式的socket有什么本质区别
最常规的socket,<em>阻塞</em>就是被停留在accept那里, 但是我看select的这种一样也是被<em>阻塞</em>在一个while 循环里面啊,一样跳不出那个循环,后面的也执行不了,也是一样几乎除了建立链接之外其他啥
【精辟】socket阻塞与非阻塞,同步与异步,select,pool,epool
socket<em>阻塞</em>与非<em>阻塞</em>,同步与异步 作者:huangguisu 1. 概念理解      在进行网络编程时,我们常常见到同步(Sync)/异步(Async),<em>阻塞</em>(Block)/非<em>阻塞</em>(Unblock)四种调用方式: 同步:       所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做
阻塞、非阻塞的概念和select函数的阻塞功能
(1)<em>阻塞</em>block 所谓<em>阻塞</em>方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被<em>阻塞</em>,函数不能立即返回。 例如socket编程中connect、accept、recv、recvfrom这样的<em>阻塞</em>程序。 再如绝大多数的函数调用、语句执行,严格来说,他们都是以<em>阻塞</em>方式执行的。 (2)非<em>阻塞</em>non-block 所谓非<em>阻塞</em>方式non
阻塞Connect对于select时应注意问题
转自:http://www.cnitblog.com/zouzheng/archive/2010/11/25/71711.html 非<em>阻塞</em>Connect对于select时应注意问题       对于面向连接的socket类型(SOCK_STREAM,SOCK_SEQPACKET)在读写数据之前必须建立连接,首先服务器端socket必须在一个客户端知道的地址进行监听,也就
了这些技术,你离BAT大厂不远了
每一个程序员都有一个梦想,梦想着能够进入阿里、腾讯、字节跳动、百度等一线互联网公司,由于身边的环境等原因,不知道 BAT 等一线互联网公司使用哪些技术?或者该如何去学习这些技术?或者我该去哪些获取这些技术资料?没关系,平头哥一站式服务,上面统统不是问题。平头哥整理了 BAT 等一线大厂的必备技能,并且帮你准备了对应的资料。对于整理出来的技术,如果你掌握的不牢固,那就赶快巩固,如果你还没有涉及,现在...
程序员真是太太太太太有趣了!!!
网络上虽然已经有了很多关于程序员的话题,但大部分人对这个群体还是很陌生。我们在谈论程序员的时候,究竟该聊些什么呢?各位程序员大佬们,请让我听到你们的声音!不管你是前端开发...
史上最详细的IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
网上很多整合SSM博客文章并不能让初探ssm的同学思路完全的清晰,可以试着关掉整合教程,摇两下头骨,哈一大口气,就在万事具备的时候,开整,这个时候你可能思路全无 ~中招了咩~ ,还有一些同学依旧在使用eclipse或者Myeclipse开发,我想对这些朋友说IDEA 的编译速度很快,人生苦短,来不及解释了,直接上手idea吧。这篇文章每一步搭建过程都测试过了,应该不<em>会</em>有什么差错。本文章还有个比较优秀的特点,就是idea的使用,基本上关于idea的操作都算是比较详细的,所以不用太担心不<em>会</em>撸idea!最后,本文
知乎上 40 个有趣回复,很精辟很提神
点击蓝色“五分钟学算法”关注我哟加个“星标”,天天中午 12:15,一起学算法作者 |佚名来源 |网络整理,版权归原作者所有,侵删。1交朋友的标准是什么?- Ques...
武汉为什么进不了互联网第一梯队?
作者 |盛佳莹、张帆 本文经授权转自猎云网(ID:ilieyun) 从2011年以前双创在武汉萌芽,到现在力争互联网第四极,看武汉的互联网企业如何成长。 艰难中萌芽 2011年高考前夕,付小龙坐在宿舍里用人生第一台智能手机听广播,电台里正在讲述姚欣休学创业做出了用户量逾4亿的视频平台PPTV。 夜深人静时,仿佛有什么东西击中了付小龙的内心,“像姚欣一样‘开公司,...
我花了一夜用数据结构给女朋友写个H5走迷宫游戏
起因 又到深夜了,我按照以往在csdn和公众号写着数据结构!这占用了我大量的时间!我的超越妹妹严重缺乏陪伴而 怨气满满! 而女朋友时常埋怨,认为数据结构这么抽象难懂的东西没啥作用,常<em>会</em>问道:天天写这玩意,有啥作用。而我答道:能干事情多了,比如写个迷宫小游戏啥的! 当我码完字准备睡觉时:写不好别睡觉! 分析 如果用数据结构与算法造出东西来呢? ...
别再翻了,面试二叉树看这 11 个就够了~
写在前边 数据结构与算法: 不知道你有没有这种困惑,虽然刷了很多算法题,当我去面试的时候,面试官让你手写一个算法,可能你对此算法很熟悉,知道实现思路,但是总是不知道该在什么地方写,而且很多边界条件想不全面,一紧张,代码写的乱七八糟。如果遇到没有做过的算法题,思路也不知道从何寻找。面试吃了亏之后,我就慢慢的做出总结,开始分类的把数据结构所有的题型和解题思路每周刷题做出的系统性总结写在了 Github...
接班马云的为何是张勇?
上海人、职业经理人、CFO 背景,集齐马云三大不喜欢的张勇怎么就成了阿里接班人? 作者|王琳 本文经授权转载自燃财经(ID:rancaijing) 9月10日,张勇转正了,他由阿里巴巴董事局候任主席正式成为阿里巴巴董事局主席,这也意味着阿里巴巴将正式开启“逍遥子时代”。 从2015年接任CEO开始,张勇已经将阿里巴巴股价拉升了超过200%。但和马云强大的个人光环比,张勇显得尤其...
让程序员崩溃的瞬间(非程序员勿入)
今天给大家带来点快乐,程序员才能看懂。 来源:https://zhuanlan.zhihu.com/p/47066521 1. 公司实习生找 Bug 2.在调试时,将断点设置在错误的位置 3.当我有一个很棒的调试想法时 4.偶然间看到自己多年前写的代码 5.当我第一次启动我的单元测试时 ...
用Python分析2000款避孕套,得出这些有趣的结论
到现在为止,我们的淘宝教程已经写到了第四篇,前三篇分别是: 第一篇:Python模拟登录淘宝,详细讲解如何使用requests库登录淘宝pc端。 第二篇:淘宝自动登录2.0,新增Cookies序列化,教大家如何将cookies保存起来。 第三篇:Python爬取淘宝商品避孕套,教大家如何爬取淘宝pc端商品信息。 今天,我们来看看淘宝系列的第四篇 我们在上一篇的时候已经将淘宝数据爬取下来了,...
IPv6 带来的反欺诈难题,程序员该如何破解?
作者 |威胁猎人 本文转载自威胁猎人(ID:ThreatHunter) IP是互联网最基础的身份标识,也是黑灰产业发展不可或缺的底层资源支撑。如果说IPv4是一颗星球,那IPv6就是一整个宇宙,它的地址空间接近无限。本文将揭露目前黑灰产对IPv6资源的利用情况,并剖析在IPv4向IPv6升级的过程中,业务场景下的安全将面临的挑战。 黑灰产采用IPv6发起攻击的趋势不可逆转...
分享靠写代码赚钱的一些门路
作者 mezod,译者 josephchang10如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。今天给大家分享一个精彩...
技术人员要拿百万年薪,必须要经历这9个段位
很多人都问,技术人员如何成长,每个阶段又是怎样的,如何才能走出当前的迷茫,实现自我的突破。所以我结合我自己10多年的从业经验,总结了技术人员成长的9个段位,希望对大家的职...
面试官:兄弟,说说基本类型和包装类型的区别吧
Java 的每个基本类型都对应了一个包装类型,比如说 int 的包装类型为 Integer,double 的包装类型为 Double。基本类型和包装类型的区别主要有以下 4 点。
C语言这么厉害,它自身又是用什么语言写的?
这是来自我的星球的一个提问:“C语言本身用什么语言写的?”换个角度来问,其实是:C语言在运行之前,得编译才行,那C语言的编译器从哪里来? 用什么语言来写的?如果是用C语...
面试官,不要再问我三次握手和四次挥手
三次握手和四次挥手是各个公司常见的考点,也具有一定的水平区分度,也被一些面试官作为热身题。很多小伙伴说这个问题刚开始回答的挺好,但是后面越回答越冒冷汗,最后就歇菜了。 见过比较典型的面试场景是这样的: 面试官:请介绍下三次握手 求职者:第一次握手就是客户端给服务器端发送一个报文,第二次就是服务器收到报文之后,<em>会</em>应答一个报文给客户端,第三次握手就是客户端收到报文后再给服务器发送一个报文,三次握手就...
一些实用的GitHub项目
最近整理了一些在GitHub上比较热门的开源项目关于GitHub,快速了解请戳这里其中涵盖了:学习教程,面试总结,实用工具,框架,机器学习等东西比较杂,要学的东西也比较多...
八大排序(C语言)
void BubbleSort();//冒泡 void <em>Select</em>Sort();//选择 void InsertSort();//直接插入 void ShellSort();//希尔 void HeapSort();//堆排 void QuickSort();//快排 void MegerSort();//归并 void RadixSort();//基数(桶排序) 冒泡: 1)...
为什么说 Web 开发永远不退出历史舞台?
早在 PC 崛起之际,Web 从蹒跚学步一路走到了主导市场的地位,但是随着移动互联网时代的来临,业界曾有不少人猜测,“Web 应该被杀死,App 才是未来”。不过时间是检...
动画:用动画给面试官解释 TCP 三次握手过程
作者 | 小鹿 来源 | 公众号:小鹿动画学编程 写在前边 TCP 三次握手过程对于面试是必考的一个,所以不但要掌握 TCP 整个握手的过程,其中有些小细节也更受到面试官的青睐。 对于这部分掌握以及 TCP 的四次挥手,小鹿将<em>会</em>以动画的形式呈现给每个人,这样将复杂的知识简单化,理解起来也容易了很多,尤其对于一个初学者来说。 学习导图 一、TCP 是什么? TCP(Transmissio...
500行代码,教你用python写个微信飞机大战
这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手 / 右手有节奏有韵律的朝着同一个方向来回移动起来! 这是史诗级的发明,是浓墨重彩的一笔,是…… 在一阵抽搐后,我结束了游戏,瞬时觉得一切都索然无味,正在我进入贤者模式时,突然想到,如果我可以让更多人已不同的方式体<em>会</em>到这种美轮美奂的感觉岂不美哉? 所以我打开电脑,创建了一个 `plan_game.py`……
2019诺贝尔经济学奖得主:贫穷的本质是什么?
2019年诺贝尔经济学奖,颁给了来自麻省理工学院的 阿巴希·巴纳吉(Abhijit Vinayak Banerjee)、艾丝特·杜芙若(Esther Duflo)夫妇和哈...
linux:最常见的linux命令(centOS 7.6)
最常见,最频繁使用的20个基础命令如下: 皮一下,这都是干货偶,大佬轻喷 一、linux关机命令: 1.shutdown命令安全地将系统关机(推荐)参数说明: [-r] 重启计算器。 [-h] 关机后关闭电源〔halt〕。 [-c] cancel current process取消目前正在执行的关机程序。 [-time] 设定关机〔shutdown〕前的时间。 shutdown -h now ...
只因写了一段爬虫,公司200多人被抓!
“一个程序员写了个爬虫程序,整个公司200多人被端了。” “不可能吧!” 刚从朋友听到这个消息的时候,我有点不太相信,做为一名程序员来讲,谁还没有写过几段爬虫呢?只因写爬虫程序就被端有点夸张了吧。 朋友说,消息很确认并且已经进入审判阶段了。 01.对消息进一步确认 朋友认识几个律师朋友,和他们有一些业务来往,得知他们想尝试把业务扩展到程序员这个群体。那段时间我刚好离职也有时间,在朋友...
别在学习框架了,那些让你起飞的计算机基础知识。
我之前里的文章,写的大部分都是与计算机基础知识相关的,这些基础知识,就像我们的内功,如果在未来想要走的更远,这些内功是必须要修炼的。框架千变万化,而这些通用的底层知识,却是几乎不变的,了解了这些知识,可以帮助我们更快着学习一门知识,更加懂得计算机的运行机制。当然,在面试中也经常<em>会</em>被问到,特别是对于应届生,对于春秋招,也可以看看我前阵子写过的文章历经两个月,我的秋招之路结束了!。也有读者经常问的计算...
MySQL数据库—SQL汇总
一、准备 下文整理常见SQL语句的用法,使用MySQL5.7测试,参考了尚硅谷MySQL教程及用例。用例sql: 链接: https://pan.baidu.com/s/1tb3-12MRNFjV8drFlN6wzg&amp;shfl=sharepset 密码: fc2h 为了方便查阅可从右侧目录快速索引 二、DQL(Data Query Language)数据查询语言 1、语句顺序 书写顺序...
动画:用动画给女朋友讲解 TCP 四次分手过程
作者 | 小鹿 来源 | 公众号:小鹿动画学编程 写在前边 大家好,我们又见面了,做为一个业余的动画师,上次的用动画的形式讲解 TCP 三次握手过程再各大平台收到了广大读者的喜爱,说文章有趣、有货、有内容,也受到了很多读者的关注。很多读者留言说什么时候用动画讲一讲 TCP 四次挥手的过程,为了应大家的要求,今天我们就生动有趣的用动画给大家分享 TCP 四次挥手(分手)过程。 动画:用动画给...
不就是SELECT COUNT语句吗,竟然能被面试官虐的体无完肤
数据库查询相信很多人都不陌生,所有经常有人调侃程序员就是CRUD专员,这所谓的CRUD指的就是数据库的增删改查。 在数据库的增删改查操作中,使用最频繁的就是查询操作。而在所有查询操作中,统计数量操作更是经常被用到。 关于数据库中行数统计,无论是MySQL还是Oracle,都有一个函数可以使用,那就是COUNT。 但是,就是这个常用的COUNT函数,却暗藏着很多玄机,尤其是在面试的时候,一不小心就<em>会</em>...
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也<em>会</em>整理一些看过...
如何优化MySQL千万级大表,我写了6000字的解读
这是学习笔记的第2138篇文章 千万级大表如何优化,这是一个很有技术含量的问题,通常我们的直觉思维都<em>会</em>跳转到拆分或者数据分区,在此我想做一些补充和梳理,想和大家做一些这方面的经验总结,也欢迎大家提出建议。 从一开始脑海里开始也是火光四现,到不断的自我批评,后来也参考了一些团队的经验,我整理了下面的大纲内容。 既然要吃透这个问题,我们势必要回到本源,我把这个...
面试最后一问:你有什么问题想问我吗?
尽管,我们之前分享了这么多关于面试的主题: 高薪必备的一些Spring Boot高级面试题 面试必问:设计模式遵循的面向对象设计原则! 面试必问:怎么保证缓存与数据库的双写一致性? 27道高频Spring面试题,你能答对几个? 唠唠面试常问的:面向对象六大原则 一文高效图解二叉树面试题 Java面试中最高频的那20%知识点是什么? 百度面试题:求数组最大值 ... 然而,最后这个90%可见...
python 程序员进阶之路:从新手到高手的100个模块
在知乎和CSDN的圈子里,经常看到、听到一些 python 初学者说,学完基础语法后,不知道该学什么,学了也不知道怎么用,一脸的茫然。近日,CSDN的公众号推送了一篇博客,题目叫做《迷思:Python 学到什么程度可以面试工作?》,真实反映了 python 程序员在成长过程中的一些困惑。
Python——画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)
最近翻到一篇知乎,上面有不少用Python(大多是turtle库)绘制的树图,感觉很漂亮,我整理了一下,挑了一些我觉得不错的代码分享给大家(这些我都测试过,确实可以生成) one 樱花树 动态生成樱花 效果图(这个是动态的): 实现代码 import turtle as T import random import time # 画樱花的躯干(60,t) def Tree(branch, ...
程序员不懂浪漫?胡扯!
程序员男朋友你的程序员男朋友为你做过什么暖心的事情呢?我的男朋友是一个程序员,他有很多大家在网络上吐槽的程序员的缺点,比如加班很多,没空陪我吃饭逛街看电影,比如说他有的时...
Java 8:一文掌握 Lambda 表达式
本文将介绍 Java 8 新增的 Lambda 表达式,包括 Lambda 表达式的常见用法以及方法引用的用法,并对 Lambda 表达式的原理进行分析,最后对 Lambda 表达式的优缺点进行一个总结。
Python自动化完成tb喵币任务
2019双十一,tb推出了新的活动,商店喵币,看了一下每天都有几个任务来领取喵币,从而升级店铺赚钱,然而我既想赚红包又不想干苦力,遂使用python来进行手机自动化操作,目测全网首发! 用到的库: re os time 思路: 下载adb命令安装包 打开手机开发者选项(点击系统设置,连点5次系统版本,即可在辅助功能或其他选项中找到开发者选项,此功能无害,可不必关闭) 在开发者选项中找到US...
从月薪3K的中专生,到身家千万的CTO!人生最大的对手,就是自已
关注“技术领导力”博客,独家大厂干货推送 文/Daniel.W David坐在我对面,窗外是梦境般的外滩夜景,繁星点点的璀璨灯火,散落在黄浦江两岸。我转过头对David说,你丫挺<em>会</em>享受啊,约我到这么浪漫的地方。 David狠狠地吸了一口手中的雪茄,又快速吐了出来,眼睛眯成一条缝,品味着雪茄在口中的醇香,一边说,MD,转眼我们都快40了,记得2002年,刚认识那<em>会</em>才20出头,时间...
这应该是把计算机网络五层模型讲的最好是文章了,看不懂你打我
帅地:用心写好每一篇文章! 前言 天各一方的两台计算机是如何通信的呢?在成千上万的计算机中,为什么一台计算机能够准确着寻找到另外一台计算机,并且把数据发送给它呢? 可能很多人都听说过网络通信的 5 层模型,但是可能并不是很清楚为什么需要五层模型,五层模型负责的任务也有可能经常混淆。下面是网络通信的五层模型 说实话,五层模型的具体内容还是极其复杂的,不过今天这篇文章,我将用最简洁的模式,通过网...
单点登录(SSO)
一、SSO(单点登录)介绍 SSO英文全称Single SignOn,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 实现机制 当用户第一次访问应用系统1的时候,因为还没有登录,<em>会</em>被引导到认证系统中进行登录;根据用户提供的登录信息,认证...
漫话:什么是 https ?这应该是全网把 https 讲的最好的一篇文章了
今天这篇文章,讲通过对话的形式,让你由浅入深着知道,为什么 Https 是安全的。 一、对称加密 一禅:在每次发送真实数据之前,服务器先生成一把密钥,然后先把密钥传输给客户端。之后服务器给客户端发送真实数据的时候,<em>会</em>用这把密钥对数据进行加密,客户端收到加密数据之后,用刚才收到的密钥进行解密。如图: 当然,如果客户端要给服务器发送数据,也是采用这把密钥来加密,这里为了方便,我采用单方向...
史上最全的mysql基础教程
启动与停止 启动mysql服务 sudo /usr/local/mysql/support-files/mysql.server start 停止mysql服务 sudo /usr/local/mysql/support-files/mysql.server stop 重启mysql服务 sudo /usr/local/mysql/support-files/mysql.server resta...
为什么你学不递归?告别递归,谈谈我的经验
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了! 可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助...
大学四年,分享看过的优质书籍
数据结构与算法是我在大学里第一次接触到的,当时学了很多其他安卓、网页之类的,一开始就感觉纳闷,数据结构和算法学这个有啥用,再加上上的是一所野鸡大学,老师讲的也是模模糊糊,平时做项目、练习也几乎不用数据结构,所以考试应付应付就过了,也没太在意。 到了大三的时候,面临考研和就业了,突然看到学长考研的数据结构题和面试网站的要求,突然意识到数据结构和算法的重要性,真的很重要,重要的话说三遍,真的很重要,...
2019双十一淘宝天猫刷喵币
实现步骤 下载并安装Auto.js 官网网址:https://hyb1996.github.io/AutoJs-Docs Github地址:https://github.com/hyb1996/Auto.js 不过我知道因为什么原因资源被酷安下架了,所以附上Auto.js的安装包在我的下载里. 为软件打开无障碍权限. 在软件中将脚本保存并运行即可,脚本<em>会</em>自己打开手机淘宝并进行一系列的操作. 脚...
有哪些让程序员受益终生的建议
从业五年多,辗转两个大厂,出过书,创过业,从技术小白成长为基层管理,联合几个业内大牛回答下这个问题,希望能帮到大家,记得帮我点赞哦。 敲黑板!!!读了这篇文章,你将知道如何才能进大厂,如何实现财务自由,如何在工作中游刃有余,这篇文章很长,但绝对是精品,记得帮我点赞哦!!!! 一腔肺腑之言,能看进去多少,就看你自己了!!! 目录: 在校生篇: 为什么要尽量进大厂? 如何选择语言及方...
最近程序员频繁被抓,如何避免面向监狱编程!?
最近,有关程序员因为参与某些项目开发导致被起诉,甚至被判刑的事件发生的比较多: 某程序员因为接了个外包,帮别人写了个软件,结果这个软件被用于赌博导致被抓。 某公司利用爬虫抓取用户信息,最后被发现,导致该公司的程序员被抓。 某P2P公司暴雷,老板跑路,程序员被抓。 中科大博士卖“外挂”非法牟利300多万,被警方逮捕。 那么,作为一个程序员,如何避免这些坑呢?怎样尽可能的保护自己呢? 本文就从爬虫、赌...
一文搞懂什么是TCP/IP协议
什么是TCP/IP协议? 计算机与网络设备之间如果要相互通信,双方就必须基于相同的方法.比如如何探测到通信目标.由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定.不同的硬件,操作系统之间的通信,所有这一切都需要一种规则.而我们就将这种规则称为协议 (protocol). 也就是说,TCP/IP 是互联网相关各类协议族的总称。 TCP/IP 的分层管理 TCP/IP协...
各大公司在GitHub上开源投入排名分析
基于GitHub的数据进行分析各个公司在开源上的投入排名
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
学习 Java 应该关注哪些网站?
经常有一些读者问我:“二哥,学习 Java 应该关注哪些网站?”,我之前的态度一直是上知乎、上搜索引擎搜一下不就知道了。但读者对我这个态度很不满意,他们说,“我在问你,又不是问知乎,问搜索引擎。”你还别说,读者说得有道理。 于是我想,那就推荐一些吧。先说我心目中的前三名,但不局限于 Java 学习者。 1)Google 啥都不说了,说多了都是泪,可气的是 Robin 李的搜索引擎实在是不争气。说句...
计算机三级考试 数据库下载
全国计算机等级考试 有关三级数据库的试题 相关下载链接:[url=//download.csdn.net/download/zy_xiaobushi/2808943?utm_source=bbsseo]//download.csdn.net/download/zy_xiaobushi/2808943?utm_source=bbsseo[/url]
EHLIB 5.5 支持XE2 Update1(有源码)下载
EHLIB 5.5 支持 XE2 源码 (如果装不起的话,把错误贴出来,我装是没有问题) 相关下载链接:[url=//download.csdn.net/download/jing107/3932804?utm_source=bbsseo]//download.csdn.net/download/jing107/3932804?utm_source=bbsseo[/url]
6种付费版手机字体下载
含有6中付费版手机字体:简俏皮体、简分涧体、简超刚黑、简钢黑体、简粗雅兰、简漫画体。 相关下载链接:[url=//download.csdn.net/download/xxuyangy/4396784?utm_source=bbsseo]//download.csdn.net/download/xxuyangy/4396784?utm_source=bbsseo[/url]
相关热词 c# mysql插入 c# sha256 加密 c#窗体上的叉添加事件 c#打印图片文件 c#後台調前台js c#控制台美化 c# 标记 浮点型 c#获取当前的农历日期 c# 构造函数重载 c# 页面功能注释
我们是很有底线的