- 博客(9)
- 收藏
- 关注
原创 计算机网络面试常见问题!!
答:在计算机网络体系中,为了方便使用和理解,将计算机网络设计成具有一定规律的层级模型,以OSI为模板的抽象参考模型有着七大层(答出每层的特点即可)这是一种趋于理想的模型,实际应用中会简化OSI模型,TCP/IP四层模型(数据链路层,网络层,传输层,应用层)答:TCP中的流量控制是利用滑动窗口来实现的,发送端向接收端发送接送端缓冲区中可接纳的数据,接收方处理不及时,会提示发送方降低发送速率防止包丢失,接收方发送的确认报文中的窗口字段可以用来控制发送方窗口大小。UDP协议传输效率快,需要较少的资源开销。
2023-09-22 17:36:59
146
1
原创 线程池的执行流程
线程池,从字面含义来看,是指管理一组同构工作线程的资源池。线程池是与工作队列密切相关的,其中在工作队列中保存了所有等待执行的任务。工作线程的任务很简单:从工作队列中获取一个任务,执行任务,然后返回线程池并等待下一个任务。
2023-07-19 19:40:38
279
原创 多线程的四种实现方式
1.继承Thread类,重写run方法2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target3.通过Callable和FutureTask创建线程4.通过线程池创建线程前面两种可以归结为一类:无返回值,原因很简单,通过重写run方法,run方式的返回值是void,所以没有办法返回结果。
2023-07-18 19:26:53
419
1
原创 CopyOnWriteArrayList核心源码阅读
对于ArrayList来说,它的线程是不安全的。而Vector作为线程安全的list实现类,它的add、remove还是get方法都加上了synchronized锁,需要巨大的系统开销,效率低下。从JDK1.5开始Java并发包里提供了两个使用CopyOnWrite机制实现的并发集合容器,它们是CopyOnWriteArrayList和CopyOnWriteArraySet。本文将对CopyOnWriteArrayList中的核心源码进行解读,了解其工作原理及思想体现。
2023-07-17 20:30:45
118
1
原创 AES算法中的ECB和CBC工作模式
CBC模式的全称:Cipher Block Chaining(密文分组链接模式),之所以叫这个名字,是因为密文分组像链条一样互相连接在一起。从程序的角度看,所谓加密,就是这样一个函数,它接收密码和明文,然后输出密文:secret = encrypt(key, message);同时加密,如果原文一样,加密出来的密文也是一样的,因为它们的加密密钥key都是一样的。AES是目前应用最广泛的加密算法,本文将介绍最常用的CBC和ECB工作模式。缺点:同样原文生成同样的密文,并不能很好地保护数据。
2023-07-17 18:39:11
346
1
原创 编码算法与哈希算法详解及应用
它的原理是把3字节的二进制数据按6bit一组,用4个int整数表示,然后查表,把int整数用索引对应到字符,得到编码后的字符串。碰撞是一定会出现的,因为输出的字节长度是固定的,String的hashCode()输出是4字节整数,最多只有4294967296种输出,但输入的数据长度是不固定的,有无数种输入。因为相同的输入永远会得到相同的输出,因此,如果输入被修改了,得到的输出就会不同。我们只需要自己计算一下本地文件的哈希值,再与官网公开的哈希值对比,如果相同,说明文件下载正确,否则,说明文件已被篡改。
2023-07-10 18:51:30
402
1
原创 基于FTP协议的文件上传、下载
FTP(File Transfer Protocol,文件传输协议) 是TCP/IP 协议组中的协议之一,允许TCP/IP网络上的两台计算机之间进行文件传输。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。6、创建文件输出流,用于从FTP服务器下载文件的写入。2、连接FTP服务器,输入主机的地址,输入端口号。5、创建文件输入流,用于读取本地文件。6、将本地文件上传至FTP服务器。
2023-07-08 17:55:54
218
原创 Java Email 实现邮件发送
不同的是,开启了IMAP后,您在电子邮件客户端收取的邮件仍然保留在服务器上,同时在客户端上的操作都会反馈到服务器上,如:删除邮件,标记已读等,服务器上的邮件也会做相应的动作。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。在当今社会有着重要的应用,传统的邮件是通过邮局投递,然后从一个邮局到另一个邮局,最终到达用户的邮箱。
2023-07-08 17:27:57
2339
原创 HashMap的数据结构
HashMap 容量为2次幂的原因,就是为了数据的的均匀分布,减少hash冲突,毕竟hash冲突越大,代表数组中一个链的长度越大,这样的话会降低HashMap的性能。HashMap是Java中最常用的数据结构之一,它的实现原理是通过哈希表实现的。为了提高HashMap的性能,我们可以通过调整初始容量和负载因子、自定义哈希函数、控制链表长度和使用线程安全的方法来优化HashMap的性能。
2023-05-23 12:24:44
94
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人