![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaEE
文章平均质量分 91
bushi橙子
在读大三,
努力学习热爱编程。
一旦打开好奇的大门,一切都有可能!
快点给老子流量阿Q_Q,想要一份满意的工作!!!
展开
-
【Spring】三种对象注入的实现与区别以及@Autowired和@Resource的区别
就好像HashMap与HashTable,HashMap可以允许key-value是null,但是HashTable就不能,因为HashTable底层可能是数组加链表实现的,需要根据key值来计算位置的,HashMap源码中写了null值的处理,为null转换成0,而HashTable并没有进行特别处理,只能报错。@Resource的注入能力弱于@Autowired,只能用于属性注入和set方法注入,@Autowired可以用于属性注入、set方法注入以及构造方法注入。注解的属性自动获取一个对象。原创 2023-10-15 16:12:57 · 411 阅读 · 0 评论 -
TCP原理特性详解
而四次挥手则不同,这两次交互是不同时机,当主机A的应用程序执行到socket的close方法时会触发FIN结束报文段,服务器接收到FIN后,内核会立即返回ACK,FIN是人为发送的,而ACK是由系统内核控制的,当主机B的应用程序执行到socket的close方法时也会触发FIN,应用程序执行到close方法前可能要经过很多道其他的程序代码,于是和ACK的时机相隔太久,也就不能合并为一次交互。为了解决丢包问题,TCP引入了超时重传机制,在丢包的情况下,重新发送一份相同的数据。一起吃饭,别放鸽子。原创 2023-10-08 18:47:54 · 538 阅读 · 0 评论 -
UDP 的报文结构
UDP会在原有的应用层数据报前拼接一个UDP报头(字符串拼接,二进制格式),而报头里则包含了一些重要的信息。UDP报头总大小为8个字节,一个字节为8个bit,每个部分的大小为2个字节,即取值范围为:0 ~ 65535。因此如果应用层数据报的长度大于64kb了,要么在应用层手动进行分包,比如:100kb的数据报,可以分为64kb和36kb,分两次转发;**发送方针对数据进行一系列的运算得到一个较短的校验和,接收方按照相同的算法根据接收到的数据计算校验和,再用这个校验和与发送方的校验和对比,是否一致。原创 2023-09-22 10:43:08 · 176 阅读 · 0 评论 -
TCP/IP五层模型、封装和分用
一天,我在tb买了一袋子的抹布,付款后,上海商家准备发货,把快递交给了sf快递公司,该公司准备把这个快递进行运输,运输的路线有:上海=》南京=》湖北 / 上海=》广州=》湖北,具体走哪条路线就是快递公司的事情了,这工作就好比是网络层;,就好比加密通话,说暗号,我不要碟盘了(我没事了),我对别人说:“我不要碟盘了”,对方收到后,通过之前约定的协议,对这句话进行解读,意思就是”我没事了“最原始的协议是一大类,复杂难懂,于是进行了分化,分成多种短小的协议,也就是分层,每层有各自代表的意义和作用,原创 2023-08-27 14:11:51 · 1090 阅读 · 0 评论 -
SpringBoot日志文件
先获取日志对象,需要使用日志工厂Logger对象是属于org.slf4j包下的。日志工程需要把每个类的类型传递进去,这样打印的时候才知道日志的归属类,方便直观的定位到问题类(也可以自定义名字)。//打印日志 logger . info("i am info");原创 2023-06-25 16:15:12 · 913 阅读 · 0 评论 -
Spring - Bean的6种作用域
程序中变量的可用范围就叫做作用域,或者说在源代码中定义某个变量在某个区域就叫做作用域。而Bean的作用域是指Bean在Spring整个框架中的某种行为模式,比如singleton单例作用域,就表示Bean在spring中只有一份,全局共享的,当A修改了这个值后,那么B再使用时就是修改后的值。原创 2023-06-17 16:49:03 · 1584 阅读 · 1 评论 -
spring创建和使用
context.getBean(“student”),【括号里的名称必须要和注册Bean时里的id名称一致】说明名为student这个对象已经成为了Bean对象,只有存储到Spring里才能获取到.由于getBean返回类型为Object 所以需要强转为Student,这有个缺陷:如果在注册Bean时,没有Student这个类,此时getBean获取时为。:存放的这个类,如果本身是有路径的【比如在com下的spring下的demo里】,就填“com.spring.demo.Student”原创 2023-06-13 15:14:10 · 661 阅读 · 0 评论 -
Maven配置文件settings.xml 和 jar包下载失败处理
题,尝试更好⽹络,使⽤⼿机热点或朋友的⼿机热点尝试,如果还是不行,间隔4小时后再尝试。【可能刚好你的网络节点坏掉了,网线被挖断了等等,真就有可能,一般会有抢救小组进抢修,一般都是2-4小时内维修完毕】可以使用VsCode打开该文件,找到mirrors,里面是没有任何的配置的,需要把阿里的镜像文件或者是网易的镜像文件都可以【此处使用的是阿里镜像】【在我的资源里,下载解压缩,资源暂时在审核中,可自行在CSDN里搜索settings.xml】重新认真的逐字逐句的观看和配置【可能你setting的g后面少了s…原创 2023-06-12 17:47:13 · 2451 阅读 · 0 评论 -
Java线程安全问题的原因和解决方案
线程安全的确切定义是比较复杂的,不过我们可以这样认为:当多线程环境下的代码运行的结果是符合我们预期的,即在单线程环境下应该得到的结果,则说这个程序是线程安全的,反之,则是线程不安全.注意:判定一个代码是否线程安全,要具体问题具体分析,不是加了锁就一定安全~原创 2023-02-03 21:23:49 · 791 阅读 · 3 评论 -
Java 线程的几种状态及其切换的条件
表示内核中的PCB已经执行完毕了,但是Tread对象还存在(依旧可以调用一些方法,但是不能使用多线程,也就无意义了).表示线程执行完毕或者run()因异常退出,该线程结束了生命周期.表示创建了Thread对象,但是还没有调用start (也就是系统内核还是没有创建对应的PCB)表示可运行的.线程创建后,调用了start方法,等待CPU的调度或者正在CPU中运行.:该线程调用了wait()方法后进入阻塞队列,等待其他线程唤醒.表示该线程等待(阻塞)一定的时间后,自动返回(自己醒来了).原创 2023-01-17 21:14:52 · 498 阅读 · 0 评论 -
JavaThread 类的基本用法
线程是一个随机调度的过程,所有完全无法判断线程之间的执行顺序,所以为了能判断线程的执行顺序就有了等待线程,控制线程的结束顺序.线程中断:并不是让线程停止就立马停止,而是通知线程应该停止了,是否真正的停止,取决于线程这里的具体代码写法.interrupt()是Thread自带的标志位.这个东西可以唤醒sleep方法.join(long millis): 指定一个超时的时间,时间到了就不再等待。线程休眠就是休眠线程,本质上是不让这个线程参与调度(不去CPU跑了);join() :无参数版本,“无终止的等”原创 2023-01-06 21:08:39 · 596 阅读 · 0 评论 -
【面试问题】进程和线程的区别——通俗易懂
在对比"进程"和"线程"两者之间的区别前,我们需要先了解什么是"进程"?什么是"线程"?**“进程”(process)也叫"任务"(task)**即咱们电脑的任务管理器中有个进程页面,这个页面所展示的都是电脑里正在运行的一些进程.只有当一个程序跑起来了,才能叫"进程",否则不算是"进程",像电脑磁盘里放着一些文件、可执行程序等等这些都不能算是进程!一个系统在同一时刻可以跑多个进程,每个进程都会消耗一些资源CPU,内存,磁盘,网络…所以当进程多了电脑了就卡了呗.(有的人说是C盘东西多了,电脑卡清一清就没事了,原创 2022-12-07 20:03:29 · 719 阅读 · 0 评论