java
文章平均质量分 59
一只菜橘猫
这个作者很懒,什么都没留下…
展开
-
Linux网络IO模型
前4个为同步,后面一个为异步阻塞I/OIO复用模型非阻塞IO模型(了解即可)非阻塞IO通过进程反复调用IO函数(多次系统调用, 并马上返回) ; 在数据拷贝的过程中, 进程是阻塞的信号驱动IO (了解即可)套接口进行信号驱动I/O,并安装一个信号处理函数, 进程继续运行并不阻塞。当数据准备好时, 进程会收到一个SIGIO信号, 可以在信号处理函数中调用I/O操作函数处理数据。异步IO模型(了解即可)当一个异步过程调用发出后, 调用者不能立刻得...翻译 2021-08-17 09:58:31 · 105 阅读 · 0 评论 -
0拷贝解释
0拷贝:不必要的数据拷贝、减少cup拷贝的、都可以成为广义性的0拷贝零拷贝技术减少了用户进程地址空间和内核地址空间之间因为上下文切换而带来的开销数据拷贝传输模型普通传输零拷贝sendfile2次拷贝是在硬件支持的情况下,去掉cpu拷贝,在2边做了一个内存映射。slicepipe通过管道传输时间局部性 把变量一次性初始化空间局部性 一次性把代码都加入到高速缓存区...翻译 2021-08-17 09:53:15 · 270 阅读 · 0 评论 -
网络题目解答
概述下什么是DDOS攻击和SYN洪水攻击带宽攻击极大的冲剂量去攻击网络,使网络资源耗尽,合法用户无法访问,大量的攻击需要很多肉鸡才能做的到连通性攻击大量的连接请求去冲击服务器,使得可使用的资源被耗尽(SYN洪水攻击)哪些应用比较适合用UDP实现直播、多播udt 是udp的自己在应用层自己实现了可靠性的传输 一般使用的地方是:海量数据在高速宽带 多用于广域光纤tcp用于4g、5g 、无线wifi 比udt快HTTP和HTTPS的区别ssl、报文裸奔、报文加密 80、443 加密..翻译 2021-08-16 11:56:49 · 90 阅读 · 0 评论 -
BIO、NIO、AIO
bio(blocking) 1个请求对应一个线程nio(多路复用) 多个请求对应一个线程nio(异步io ) 连接、读写异步操作原创 2021-08-16 11:31:02 · 96 阅读 · 0 评论 -
成员变量和局部变量的区别
成员变量: ①成员变量定义在类中,在整个类中都可以被访问。 ②成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。 ③成员变量有默认初始化值。 局部变量: ①局部变量只定义在局部范围内,如:函数内,语句内等,只在所属的区域有效。 ②局部变量存在于栈内...转载 2019-10-09 18:06:32 · 141 阅读 · 0 评论 -
Java程序运行时,数据都保存到什么地方?
程序运行时,我们最好对数据保存到什么地方做到心中有数。特别要注意的是内存的分配。有六个地方都可以保存数据:寄存器这是最快的保存区域,因为它位于和其他所有保存方式不同的地方:处理器内部。然而,寄存器的数量十分有限,所以寄存器是根据需要由编译器分配。我们对此没有直接的控制权,也不可能在自己的程序里找到寄存器存在的任何踪迹。堆栈驻留于常规RAM(随机访问存储器)区域,但可通过它的“堆栈指针”获得处理的直...转载 2018-07-05 11:37:45 · 300 阅读 · 0 评论 -
wait、notify、sleep、yield、join详解
一、线程的状态 Java中线程中状态可分为五种:New(新建状态),Runnable(就绪状态),Running(运行状态),Blocked(阻塞状态),Dead(死亡状态)。 New:新建状态,当线程创建完成时为新建状态,即new Thread(...),还没有调用start方法时,线程处于新建状态。 Runnable:就绪状态,当调用线程的的start方法后,线程进入就绪状...转载 2018-07-17 21:25:58 · 523 阅读 · 0 评论 -
线程池内部分析(一)-interrupt、interrupted、isInterrupted
说起关于线程池文章,网上已经很多了,再次我也不介绍那么详细了。介绍线程池之前我们先看一下他内部几个方法和参数interrupt、interrupted和isInterrupted的区别讲解之前希望先看一下这篇文章https://blog.csdn.net/github_34889651/article/details/52474869点击打开链接文章的最后我有个总结,我根据我意思稍微改一下1. i...原创 2018-07-04 10:51:57 · 1238 阅读 · 0 评论 -
Runnable和Thread以及Callable的区别
Thread1、是一个类2、只能被继承实现方式class ThreadTest extends Thread{ private int ticket = 100; public void run(){ while(true){ if(ticket > 0){ ticket- }else{ break; }}}new T...原创 2018-07-16 22:19:52 · 5523 阅读 · 0 评论