Java
文章平均质量分 64
明天要早起~
这个作者很懒,什么都没留下…
展开
-
Autowired自动配置的过程
是根据属性名自动装配。此选项将检查容器并根据名字查找与属性完全一致的bean,并将其与属性自动装配,当我们根据byName进行自动装配时,就需要使用到@Qualifier注解来手动指定一个beanid来进行装配。@Autowired用在字段上时,表示Spring会对该字段进行匹配赋值,在Spring容器中查找,找到能匹配到该字段的对象,进行赋值,找不到就抛出异常。当容器内存在一个和指定的属性类型相同的bean时,那么将和这个属性自动的进行装配,当存在多个该类型的bean,将会抛出异常。原创 2022-10-24 20:12:25 · 808 阅读 · 0 评论 -
Tcp协议的拥塞控制
在接收方,要求每次接收到报文段都应该对最后一个已收到的有序报文段进行确认,发送方只要一连收到三个重复确认就应当立即重传对方尚未收到的报文段。增长速度非常快,从而使得发送方发送的速度增长速度过快,网络拥塞的可能性也就更高。首先我们先了解Tcp协议,它是面向连接的,可靠的传输层协议。由于发送方现在认为网络很可能没有发生拥塞,因此现在不执行慢开始算法,即拥塞窗口。拥塞控制:从其字面意思就可以知道,它是为了减少网络拥塞的,TCP主要通过。当发送端收到连续三个重复的确认时,就执行“乘法减小”算法,把慢开始门限。原创 2022-10-08 19:56:39 · 317 阅读 · 0 评论 -
TCP与UDP的区别
应用场景: TCP要求通信可靠,所以一般向邮件传输,发送文件使用TCP;UDP追求性能,不可靠,一般用于音频,视频之类的场景。UDP是用户数据报协议,是传输层的协议,支持无连接,支持一对一、一对多、多对一和多对多的交互通信。(传输数据前,必须建立连接),通过三次握手建立连接,四次挥手来释放连接。是面向字节流的传输协议,具备可靠性传输,流量控制,拥塞控制等功能。TCP:传输控制协议,面向连接。UDP:用户数据报协议,无连接。首部字节:TCP:首部20-60个字节;传输可靠性:TCP:提供可靠的数据传输服务;原创 2022-09-22 19:39:32 · 518 阅读 · 0 评论 -
浏览一个网站时的整个过程
消息):浏览器生成HTTP格式的请求数据包发送给服务器端,服务器端获取并解析数据包,执行请求,然后生成HTTP格式的响应数据包发送给浏览器,浏览器解析数据包后,将内容呈现给用户。1.域名解析成IP地址:当用户在浏览器输入URL(统一资源定位符)时,浏览器通过DNS域名解析器将URL解析成对应服务器的IP地址,并将此IP地址返回给浏览器。2.与服务器端进行TCP连接(三次握手):用户发起请求后,服务器通过TCP协议进行三次握手,建立起客户端与服务器端的连接。客户端)与 Web 服务器(原创 2022-09-22 19:00:51 · 613 阅读 · 0 评论 -
Session会话追踪的实现机制
应用程序中,我们经常要跟踪用户身份。例如:当一个用户登录成功后,如果他继续访问其他页面,请求是否是同一个浏览器发出的。为了跟踪用户状态,服务器可以向浏览器分配一个唯一ID,并以。程序如何才能识别出该用户身份?当一个用户在操作自己的购物车时,的形式发送到浏览器,浏览器在后续访问时总是附带此。,这样,服务器就可以识别用户身份。我们可以在浏览器看到服务器发送的。程序如何才能识别出该用户身份?应用程序无法区分收到的两个。协议是一个无状态协议,即。唯一ID识别用户身份。...原创 2022-08-25 22:53:32 · 128 阅读 · 0 评论 -
Servlet生命周期
WebServlet(urlPatterns = "/hello") //请求路径。服务器关闭或重启时,会销毁所有的Servlet实例,会调用Servlet实例的。,如果子类没有重写该方法,则调用HttpServlet父类的。实例创建和使用的过程,被称为Servlet的生命周期。方法,在父类的该方法中进行请求方式的判断,如果是。方法,在父类的方法实现中,返回一个。一个Web App是由一个或多个。请求的过程中,其本质是在调用执行。方法,执行初始化的逻辑。方法,则调用子类重写后的。,分别映射不同的路径。原创 2022-08-21 18:02:58 · 106 阅读 · 0 评论 -
当添加一个键值对元素时,HashMap发生了什么?
并且,数组的长度必须为2”(MUST be a powerof two),因为数组长度为2的n次幂时,可以使用&与位运算,结合hash值,快速计算该元素在数组中的下标位置,提高 HashMap 的使用效率。由干计算机底层进行取模运算时,分为两步,第一步求商,即c=a/b:第二步求余数,即r=a-c*b,这两步包含了除法,乘法和减法运算,所以效率不高,使用位运算,计算结果相同,并且效率高。,数组容量默认为16,当HashMap 中元素个数超过 16x0.75=12的时候,数组就会扩容。...原创 2022-08-14 21:40:30 · 164 阅读 · 0 评论 -
基于FTP协议的文件上传与下载
6、上传至FTP服务器使用storeFile("**.jpg", ...);3.通过connect()方法,连接FTP服务器与客户端的连接。5、设置上传文件的类型,使用setFileType()方法。参数1:ftp本地服务器的存储位置(文件名)2、创建文件输出流,便于下载的文件写入本地。参数2:本地输出流(负责下载后写入)2.创建文件输入流,便于读取本地文件。参数2:本地的文件输入流。3、建立FTP服务器的连接。1、创建FTP协议的对象。参数1:服务器指定文件。5、设置下载文件的类型。...原创 2022-08-07 22:33:23 · 244 阅读 · 0 评论 -
Java加密总结:常见哈希算法总结、对称式加密与非对称式加密的对比
碰撞是一定会出现的,因为输出的字节长度是固定的,string的hashcode()输出是4字节整数,最多只有4294967296种输出,但输入的数据长度是不固定的,有无数种输入。例如小明要加密一个文件发送给小红,他应该首先向小红索取她的公钥,然后,他用小红的公钥加密,把加密文件发送给小红,此文件只能由小红的私钥解开,因为小红的私钥在她自己手里,所以,除了小红,没有任何人能解开此文件。碰撞不可怕,我们担心的不是碰撞,而是碰撞的概率,因为碰撞概率的高低关系到哈希算法的安全性。...原创 2022-07-21 21:00:04 · 528 阅读 · 1 评论 -
基于Java Email的邮件发送
然后我们通过JavaMailAPI连接到SMTP服务器上,连接SMTP服务器时,需要准备一个Properties对象,填入相关信息,最后获取Session实例,如果服务器需要认证,还需传入一个Authenticator对象,并返回指定的用户名和口令。假设我们准备使用自己的邮件地址发送邮件,在发送邮件前,我们首先要确定作为MTA的邮件服务器地址和端口号,邮件服务器的地址通常是smtp.***.com,端口号由邮件服务商确定。电子邮件的发送过程也是类似的,只不过是电子邮件是从用户电脑的邮件软件,例。......原创 2022-07-17 18:19:56 · 1927 阅读 · 2 评论 -
Tcp编程
写入网络时,必须调用flush()方法,如果不调用,客户端和服务器都收不到数据,因为我们是以流的方式写入数据的,并不是一写就发送到网络了。而是先写入内存缓冲区,直到缓冲区满了,才一次发送到网络,这样提高了传输效率,如果缓冲区的数据很少。使用Socket进行网络编程时,本质上就是两个进程之间的网络通信,其中一个充当服务器端,它会主动监听某个指定端口,另一个进程必须充当客户端,它必须主动连接服务器的IP地址和指定端口,如果连接成功,服务器端和客户端就成功建立了一个TCP连接,双方后续就可以随时发送和接收数据。.原创 2022-07-17 16:24:01 · 523 阅读 · 0 评论