自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 【Spring】IOC/DI中常用的注解@Lazy、@Scope与@Conditional

在实际开发场景中,并不是所有bean都要一开始就被创建的,有些可以等到使用时才创建。此时就可以使用该注解实现。此注解只对单例bean有用,原型bean时此注解不起作用。原型bean是在每次请求时都会创建一个新的实例,而不像单例bean那样只有一个实例。因此,使用@Lazy注解对原型bean没有实际意义,因为即使不使用该注解,每次请求都会创建一个新的实例。所以,@Lazy注解只对那些在容器初始化时就被创建的单例bean有用。

2024-04-28 15:17:36 940 2

原创 【Spring】IOC/DI中常用的注解@Order与@DependsOn

注解@Order或者接口Ordered的作用是定义Spring IOC容器中Bean的执行顺序的优先级,而不是定义Bean的加载顺序,Bean的加载顺序不受@Order或Ordered接口的影响。所以这里说改变Bean的自动注入的顺序就是改变Bean的执行顺序。

2024-04-24 19:26:09 865 1

原创 【Java网络编程】TCP通信(Socket 与 ServerSocket)和UDP通信的三种数据传输方式

TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象通信之前要保证连接已经建立(注意TCP是一定要建立连接的)TCP是通过Socket产生I0流来进行网络通信的,所以发送端和接收端的两个流的方向是不一样的,比如客户端和服务器进行通信(通信前要确保建立了连接),然后客户端向服务器发送了“你好帅”,这一次发送数据的过程,它们流的方向是不一样的,针对客户端来说,它是往外发所以用的是输出流,而针对服务器来说,它是接收数据所以用的是输入流。

2024-04-22 19:08:57 661 1

原创 【Java网络编程】网络编程概述、UDP通信(DatagramPacket 与 DatagramSocket)

计算机网络中,连接和通信的规则被称为网络通信协议OSI参考模型:世界互联协议标准,全球通信规范,单模型过于理想化,未能在因特网上进行广泛推广TCP/IP参考模型(或TCP/IP协议):事实上的国际标准。

2024-04-18 17:15:30 621

原创 【Spring】依赖注入(DI)时常用的注解@Autowired和@Value

如果是非SpringBoot配置文件,需要额外通过@PropertySource去指定属性文件的类路径,如果是SpringBoot配置文件(application.properties),就无需额外配置@PropertySource。

2024-04-15 16:36:01 1092 2

原创 【java多线程】线程池 ThreadPoolExecutor类和Executors工厂类以及线程池的最优大小

主要核心原理创建一个线程池子,池子中是空的提交任务时,线程池子会创建新的线程对象,任务执行完毕,线程归还给池子下回再次提交任务时,不需要创建新的线程,直接复用已有的线程即可但是如果提交任务时,池子中没有空闲线程,也无法创建新的线程,任务就会排队等待

2024-04-12 11:34:06 1089

原创 系统开发实训小组作业week7————项目问题改进计划与实践

对于在项目中表现出色的成员,我们将在例会上进行公开表扬,并在项目总结会上颁发奖励。同时,我们也会关注团队成员的行为表现,对于不合适的行为,如拖延任务、不遵守规则等,我们将进行私下沟通,指出问题并引导其改正。为了提升项目的效率和效果,我们经过小组讨论,制定了一套针对这些问题的改进计划,并建立了相应的规则、仪式、流程和模式。在项目初期,由于我们对客户需求理解不够深入,导致部分功能开发完成后需要重新修改,造成了时间和资源的浪费。在项目开发过程中,团队成员之间的协作不够紧密,导致信息传递不畅,影响了开发进度。

2024-04-12 10:18:13 374

原创 【Spring】使用@Bean和@Import注解配置Bean,与Bean的实例化

在 Spring 中,Bean 是指由 Spring 容器管理的对象。Spring IOC 容器负责创建、配置和管理这些 Bean 对象的生命周期。Spring IOC 容器会管理应用程序中的组件,并通过依赖注入(DI)将它们组装在一起。Bean 是应用程序的核心构建块,它们通常代表应用程序中的各种对象,例如服务、数据访问对象(DAO)、控制器等。

2024-04-03 20:00:43 1462 11

原创 【Spring】分别基于XML、注解和配置类实现Spring的IOC(控制反转)

lOC:lnversion of Control 控制反转,简称就是 IOC控制反转:控制(对象创建权利)被反转控制反转通过依赖注入(DI)方式实现对象之间的松耦合关系。程序运行时,依赖对象由辅助程序动态生成并注入到被依赖对象中,动态绑定两者的使用关系。Spring IoC 容器就是这样的辅助程序,它负责对象的生成和依赖的注入,然后再交由我们使用。

2024-04-01 18:45:07 1189 3

原创 系统开发实训小组作业week5 —— 用例描述与分析

实现对除系统管理员以外的后台账户信息的增加、修改和删除。管理员实现对电影信息、座位数量、价格的增加、修改和删除。管理员登录后可以查看已有的后台账户信息。管理员登录后可以查看已有的电影和场次。添加电影时需要添加所有信息。添加用户时需要添加所有信息。输入新电影所有数据信息。输入新用户所有数据信息。

2024-03-29 20:50:41 715 2

原创 【java多线程】通过等待唤醒机制、局部变量、原子变量实现线程同步

等待唤醒机制概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。比如:线程A(生产者)用来生成面条的,线程B(消费者)用来吃面条的,做面条和吃面条都在桌子上,面条可以理解为同一资源,线程A与线程B处理的动作,一个是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。

2024-03-28 20:18:58 701 6

原创 【java多线程】线程同步问题:用同步代码块、同步方法和重入锁实现线程同步

同步是执行或调用一个方法时,每次都需要拿到对应的结果才会继续往后执行;异步与同步相反,它会在执行或调用一个方法后就继续往后执行,不会等待获取执行结果。二者的区别就是处理请求发出后,是否需要等待请求结果,再去继续执行其他操作。

2024-03-26 08:45:00 938 4

原创 【Java多线程】多线程的三种实现方式和多线程常用方法

在main()方法中,你可以创建和启动额外的线程,这些线程称为子线程。子线程可以并行执行,与主线程同时进行。多线程的三种实现方式如下:继承Thread类的方式进行实现实现Runnable接口的方式进行实现利用Callable接口和Future接口方式实现

2024-03-23 11:22:17 1059 8

原创 【java多线程】线程基础知识笔记

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程中可以有多个线程,同一个进程中的多个线程共享这个进程的资源。比如:QQ 和 Chrome 浏览器是两个进程,Chrome 进程里面有很多线程,例如 HTTP 请求线程、事件响应线程、渲染线程等等,线程的并发执行使得在浏览器中点击一个新链接从而发起 HTTP 请求时,浏览器还可以响应用户的其它事件。

2024-03-22 08:15:00 616 3

原创 【操作系统】进程基础知识

简单来说,进程就是程序的一次执行过程,程序是静态的,它作为系统中的一种资源是永远存在的。而进程是动态的,它是动态的产生,变化和消亡的,拥有其自己的生命周期。

2024-03-20 08:45:00 806 3

原创 【Java基础】IO流(三):字符流的FileReader(文件字符输入流)和 FileWriter(文件字节输出流)

字符流的底层其实就是字节流,即字符流 = 字节流 + 字符集字符流特点:输入流:一次读一个字节,遇到中文时,一次读多个字节输出流:底层会把数据按照指定的编码方式进行编码,变成字节再写到文件中

2024-03-17 08:58:09 1061 2

原创 【Java基础】IO流(二)字符集知识

字符(Character):在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。说的简单点字符是各种文字和符号的总称。一个字符可以是一个中文汉字、一个英文字母、一个阿拉伯数字、一个标点符号、一个图形符号或者控制符号等。字符集(Character Set):是指多个字符的集合。不同的字符集包含的字符个数不一样、包含的字符不一样、对字符的编码方式也不一样。

2024-03-15 08:45:00 1323 14

原创 【java基础】IO流(一):字节流的FileOutputStream(文件字节输出流)和 Filelnputstream(文件字节输入流)

一个程序总是离不开数据的输入(Input)输出(IO),而Java IO流就是用于程序从外部读取数据,以及向外部写出数据的java处理包。以流的方式进行输入输出的操作就是IO(Input Output)流。流是一个抽象的概念,它是一串连续动态的数据集合,可以将流理解为水管,而数据就是水,水通过水管从一端流到另一端。

2024-03-14 08:45:00 959 6

原创 【java基础】异常处理机制

RuntimeException本身和其子类;运行时异常在编译阶段没有错误提示,因为Java编译器不会检查它,当程序中出现这类异常时,也会编译通过,在运行时这类异常才会出现错误提示;一般是由于参数传递错误带来的问题

2024-03-09 16:36:25 752 2

原创 【计算机网络】DHCP原理与配置

DHCP(动态主机配置协议)是一个存在于应用层的网络管理协议,使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。在DHCP的帮助下,可以动态地给网络上的任何设备或节点分配一个互联网协议IP地址,使它们可以使用这个IP进行通信。网络管理员的任务是将大量的IP地址手动分配给网络中的所有设备。然而,在DHCP中,这个任务是自动化的,是集中管理,而不是手工管理。DHCP的基本目标是为主机分配一个唯一的IP地址。

2024-02-22 19:30:00 1402 20

原创 【数据结构】二叉查找树和平衡二叉树,以及二者的区别

二叉查找树又名二叉排序树,亦称二叉搜索树。是每个结点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”。

2024-02-17 14:17:17 1329 23

原创 【数据结构】前缀树的模拟实现

前缀树又名字典树,单词查找树,Trie树,是一种多路树形结构,是哈希树的变种,和hash效率有一拼,是一种用于快速检索的多叉树结构,。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词颛统计。它的优点:最大限度地减少无谓的字符比较,查询效率比哈希表还高。Trie的核心思想是空间换时间。利用字符串的公共前缀来降低査询时间的开销以达到提高效率的目的。Trie树的缺点:Trie树的内存消耗非常大。性质:不同字符串的相同前缀只保存一份。

2024-02-09 15:22:34 1412 15

原创 【计算机组成原理】存储器知识

磁存储器:磁存储器都以磁性材料作为存储介质,利用磁化单元剩磁的不同磁化方向来存储数据0 和1。它主要包括磁芯、磁盘、磁带存储器等,目前广泛使用的磁盘、磁带中都包含机械装置,所以其体积大、存取速度慢,但磁存储器单位容量成本最低。

2023-12-03 21:34:20 3623 58

原创 java数据结构(哈希表—HashMap)含LeetCode例题讲解

HashMap 是一个散列表,它存储的内容是键值(key-value)映射。HashMap 的 key 与 value 类型可以相同也可以不同,根据定义,不受限制。

2023-12-01 15:55:11 1610 24

原创 【计算机网络】(网络层)定长掩码和变长掩码

定长的子网掩码(FLSM):使用同一个子网掩码划分子网,每个子网所分配的IP地址数量相同,造成IP地址的浪费。变长的子网掩码(VLSM):使用不同的子网掩码划分子网,每个子网所分配的IP地址数量可以不相同,尽可能地减少对IP地址的浪费。

2023-11-24 21:55:20 2902 38

原创 【计算机网络】VLAN原理和配置

VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。每个VLAN是一个广播域,VLAN内的主机间可以直接通信,而VLAN间则不能直接互通。这样,广播报文就被限制在一个VLAN内。

2023-11-14 21:32:28 964 53

原创 【计算机网络】VRRP协议理论和配置

VRRP是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。控制虚拟路由器 IP 地址的 VRRP 路由器称为主路由器,它负责转发数据包到这些虚拟 IP 地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,这就允许虚拟路由器的 IP 地址可以作为终端主机的默认第一跳路由器。是一种LAN接入设备备份协议。一个局域网络内的所有主机都设置缺省网关,这样主机发出的目的地址不在本网段的报文将被通过缺省网关发往三层交换机,从而实现了主机和外部网络的通信。

2023-11-13 22:16:54 2600 48

原创 【LeetCode力扣】42.接雨水(困难)

一个用木板围成的桶能装多少水取决于最短的那块木板,同理,这道题我们可以把它看做成是由若干块木板组成的一个桶,只是它们是以并排的方式组成的,这里我用left和right两个指针分别指向最左和最右的两块木板,用变量 sum 来记录总的装水量以及两个变量 leftMax和rightMax来记录左边最高的木板值和右边最高的木板值

2023-11-08 17:28:10 569 54

原创 【LeetCode力扣】287.寻找重复数(中等)

当我们用一个指针 i=0 以 i = nums[i]; 的方式遍历数组nums[ ]后可以得到图1,因为数组nums[ ]中一定存在的重复的数字target,所以target=( 6 )这个位置一定有起码两条指向它的边,因此整张图一定存在环

2023-11-05 20:52:06 819 69

原创 【计算机网络】物理层知识

物理层的作用正是尽可能地屏蔽掉这些传输媒体和通信手段的差异,使物理层上面的数据链路层感觉不到这些差异,这样就可以使数据链路层只考虑完成本层的协议和服务,而不必考虑网络的具体传输媒体和通信手段是什么。

2023-11-03 14:28:21 1126 48

原创 【LeetCode力扣】11. 盛最多水的容器 (中等)

这道题最优的方法就是用双指针,我们可以用指针left和指针right分别指向数组height[ ]的第一个数和最后一个数

2023-10-29 15:19:13 315 48

原创 【LeetCode力扣】70. 爬楼梯 (简单)

我们可以用F(n)来表示爬到第n个阶梯的总方案数,因为一次可以上1或2个阶梯,所以最后一步可能跨了1个台阶,也可能跨了2个台阶;意思就是最后一步可能是从第n-1个台阶跨到了第n个台阶,或者是从第n-2个台阶跨到了第n个台阶;

2023-10-25 15:52:30 308 32

原创 计算机网络体系结构概述

计算机网络体系结构分为3种:OSI体系结构(七层);TCP/IP体系结构(四层);五层体系结构

2023-10-24 21:58:12 151 15

原创 【LeetCode力扣】86.分隔链表

简单来说我们可以先用两个链表 small 和 large 来分别存放所有小于x的节点和大于x的节点,small 链表按顺序存储所有小于 x的节点,large 链表按顺序存储所有大于等于 x 的节点。

2023-10-22 15:31:14 289 22

原创 【数据结构与算法】快速排序及其优化(随机划分值)

快速排序是在冒泡排序的基础上改进而来的,冒泡排序每次只能交换相邻的两个元素,而快速排序是跳跃式的交换,交换的距离很大,因此总的比较和交换次数少了很多,速度也快了不少。

2023-10-21 17:01:31 175 12

原创 【LeetCode力扣】75.颜色分类———快速排序子过程(荷兰国旗问题)

75.颜色分类 ,在数组两边个准备一个区域,一个小于1区域放在数组左边,一个大于1区域放在数组右边,通过对数组里的数字与1进行比较,如果小于1就将其放在小于区域,如果等于1则不动,比较下一个数字,如果大于则将其放在大于区域。

2023-10-16 23:05:44 237 18

原创 抽奖游戏————详细到起飞的教程

抽奖的号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1-33中选择,不允许重复,蓝色球号码从1-16中选择。红色球只看值,不看顺序。注:我们这里规定一等奖为1000万,二等奖为30万,其他与表中一致。

2023-10-14 22:04:58 466 12

原创 第一篇博客

计算机专业是一个需要耐得住性子的专业,编程水平就决定了自己的竞争能力。但是,我认为的学习,不能只局限于自己埋头苦学,更重要的是在交流中获得经验,这个经验是独自一人学习很难获得的,交流学习是一种高效的学习方式。因此我决定,从今天开始在csdn上记录我编程学习的过程,并且跟大家探讨一些有趣的技术问题,也欢迎大家与我一起交流技术,共勉。,目前是一名在校大学生,专业计算机科学,这是我的第一篇博客。

2023-10-12 16:42:01 89 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除