传统的BIO里面socket.read(),如果TCP RecvBuffer里没有数据,函数会一直阻塞,直到收到数据,返回读到的数据。 对于NIO,如果TCP RecvBuffer有数据,就把数据从网卡读到内存,并且返回给用户;反之则直接返回0,永远不会阻塞。 最新的AIO(Async I/O)里面 ...
分类:
其他好文 时间:
2021-04-01 12:59:55
阅读次数:
0
Java.Thread类 process(进程)和Thread(线程) 程序:指令和数据的有效集合,本身没有任何运行含有,是一个静态的概念 进程:执行程序的一次执行过程,是一个动态的概念。是系统资源分配的单位 线程:通常一个进程可以包含多个线程(由调度器安排调度,不可人为干预)一个进程至少有一个线程 ...
分类:
编程语言 时间:
2021-03-30 13:39:18
阅读次数:
0
内存与磁盘IO原理 一般来说,索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储的磁盘上。这样的话,索引查找过程中就要产生磁盘I/O消耗,相对于内存存取,I/O存取的消耗要高几个数量级,所以评价一个数据结构作为索引的优劣最重要的指标就是在查找过程中磁盘I/O操作次数的渐进复杂度 ...
分类:
编程语言 时间:
2021-03-30 13:25:10
阅读次数:
0
线程与进程 进程 Process 一个内存中运行的应用程序,每个进程都有一个独立的内存空间 线程 Thread 进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行. 一个进程最少 有一个线程 操作系统调度,程序本身无法确定线程的调度顺序 并发与并行 并发 两个或多个事件在同一个时 ...
分类:
编程语言 时间:
2021-03-26 15:29:00
阅读次数:
0
链表其实也就是 线性表的链式存储结构,与之前讲到的顺序存储结构不同。 我们知道顺序存储结构中的元素地址都是连续的,那么这就有一个最大的缺点:当做插入跟删除操作的时候,大量的元素需要移动。 如图所示,元素在内存中的位置是挨着的,当中有元素被删除,就产生空隙,于是乎后面的元素需要向前挪动去弥补。 正是因 ...
分类:
编程语言 时间:
2021-03-18 14:33:16
阅读次数:
0
window.onload = function(){ var pageNo = 1, //页码 pageSize = 50, //每一页的条数 str =""; getData(pageNo); window.onscroll = function(){ //1、滚动条与顶部高度 var scro ...
分类:
Web程序 时间:
2021-03-18 14:07:57
阅读次数:
0
1.任何程序在执行时,至少有一个主线程。 2.t.Start()启动了一个线程后,用t1.Join()这个方法加入一个线程[即:暂停了主线程的运行],那么操作系统就会马上执行这个新加入的线程 【 (1)Join方法用于一个线程必须等待另外一个线程结束之后才能执行 (2)执行的线程等待,被执行的线程先 ...
分类:
其他好文 时间:
2021-03-17 14:50:24
阅读次数:
0
安装用composer 安装 EasyWeChat,这个就不说了! 安装后直接use使用; 以下代码是Fastadmin 框架里面写的 如果没用框架 就不用继承第5行 直接访问 test_send_template这个方法的地址即可实现授权微信登录然后发送模版消息(模版id等参数自行修改) 代码如下 ...
分类:
微信 时间:
2021-03-17 14:38:03
阅读次数:
0
问题:springboot集成kafka,并由KafkaStreams处理,启动报错 org.apache.kafka.streams.errors.StreamsException: Input record ConsumerRecord(topic = crawler_events, parti ...
分类:
编程语言 时间:
2021-03-16 14:11:28
阅读次数:
0
https://www.imperva.com/learn/application-security/osi-model/ What Is the OSI Model The Open Systems Interconnection (OSI) model describes seven layer ...
分类:
其他好文 时间:
2021-03-16 14:01:01
阅读次数:
0