自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (1)
  • 收藏
  • 关注

原创 下载ChromeDriver

在下拉菜单中选择“关于Google Chrome”(About Google Chrome)将下载的ChromeDriver压缩文件解压缩到浏览器的安装目录下。点击浏览器右上角的菜单图标(三个垂直点)。选择“帮助”(Help)。打开Chrome浏览器。

2024-06-25 14:49:13 469

原创 String.intern()方法详解

String.intern() 方法是 Java 中的一个方法,它用于在字符串常量池(String Pool)中维护字符串对象的引用,以便可以有效地重用字符串,从而节省内存。

2023-09-11 21:09:07 1696

原创 Spring中的常用的条件注解

【代码】Spring中的常用的条件注解。

2023-07-16 21:14:44 497

原创 Intelij Idea中代码编辑框放大缩小

打开 Idea的Settings -> Editor -> Genral,勾选 “Change font size with Ctrl+Mouse Wheet”。然后就可以通过快捷键Ctrl+鼠标滚轮来放大或缩小编辑器中的内容了。

2023-07-03 09:18:39 3985

原创 JSP页面EL表达式取不到值

在Jsp页面中通过${date}取date的值,结果页面显示${date}

2023-06-20 00:22:53 129

原创 SpringMVC请求流程

第七步:处理器适配器向前端控制器返回 ModelAndView,ModelAndView 是SpringMVC 框架的⼀个。第⼗步:前端控制器进⾏视图渲染,就是将模型数据(在 ModelAndView 对象中)填充到 request 域。第三步:处理器映射器根据请求Url找到具体的Handler(后端控制器),⽣成处理器对象及处理器拦截。第⼋步:前端控制器请求视图解析器去进⾏视图解析,根据逻辑视图名来解析真正的视图。第⼀步:⽤户发送请求⾄前端控制器DispatcherServlet。

2023-06-19 23:46:21 161

原创 Spring中循环依赖问题及解决原理

需要注意的是,循环依赖问题只有在单例作用域的 Bean 之间才会出现。因此,在设计应用程序时,最好避免原型作用域的 Bean 之间存在循环依赖,或者重新考虑应用程序的架构和依赖关系,以避免循环依赖的发生。Spring IOC 容器在单例作用域的 Bean 中通过三级缓存的方式实现了循环依赖的解决,但对于原型作用域的 Bean,容器的控制能力有限。需要指出的是,虽然 Spring IOC 容器可以解决大多数情况下的循环依赖问题,但是如果存在复杂的循环依赖链或者构造函数循环依赖的情况,容器可能无法解决。

2023-06-13 16:08:44 906

原创 深入理解 Spring 中的 Bean 加载过程

目录一、准备工作二、配置Bean三、读取配置文件四、Spring容器初始化4.1 获取beanFactory4.1.1 刷新BeanFactory4.1.2 加载BeanDefinitions4.1.3 注册BeanDefinitions4.1.4 解析BeanDefinitions4.2 BeanFactory预准备工作4.3 实例化并调用BeanFactoryPostProcessors4.3.1 完成beanFactory 的初始化,初始化所有剩余的单例 bean。4.3.2 实例化Bean4.3.

2023-06-08 21:42:39 1828

原创 Idea中搭建Spring源码阅读环境

会发现 public 仓库没有spring相关依赖,所以需要额外配置 https://maven.aliyun.com/repository/spring。需要注意的是:在Project Structure中需要将 spring-aspects 这个module除去,因为build报错。下载spring-framwork源码后,用 IntelliJ IDEA 打开,然后打开。module 编译顺序:core-oxm-context-bean-aop。在系统变量 - 选择 Path,点编辑 - 添加“

2023-05-28 23:57:04 1344

原创 Linux常用指令之——ps aux

命令常用于查看当前系统中运行的进程,以及它们所占用的资源和状态信息。可以通过对输出进行筛选和排序,进一步了解进程的性能和行为,以及对系统资源的使用情况进行监控和分析。或其他类似的命令来达到相同的效果。建议在使用时参考相关系统的文档和命令手册,以确保正确使用和解读输出结果。命令的输出结果可能会因为操作系统的不同而有所差异。是一个常用的命令行命令,用于列出当前系统中正在运行的进程的详细信息。输出的是所有用户的进程信息,其中。表示显示没有控制终端的进程。表示显示所有用户的进程,表示显示进程的详细信息,

2023-05-24 14:54:50 8761

原创 Java SPI 机制详解

Java SPI机制是一种基于接口的服务发现机制,它允许应用程序在运行时发现并加载实现特定接口的服务提供者。SPI全称为,它是Java编程语言的一种规范。通过SPI机制,应用程序可以通过配置文件的方式,动态地加载实现了某个接口的类,并使用这些类提供的功能,而无需在代码中显式引用它们,这样就可以让应用程序具有更高的灵活性和可扩展性。首先,我们需要定义一个服务接口,这个接口定义了一组抽象方法,所有实现类都必须实现这些方法。在目录下,以服务接口全限定名为名称的文件,文件内容分别为实现类的全限定名。

2023-05-08 16:02:45 1465

原创 Spring注解之——@Constraint 自定义约束注解

注解是Java Bean Validation框架中的一个注解,用于自定义约束注解,即自定义校验规则。通过在自定义注解上添加注解,可以将该注解标记为一个自定义约束注解。同时,需要指定一个实现了接口的验证器类,用于验证该注解所标记的字段或参数是否符合自定义的校验规则。:用于指定实现了接口的验证器类。该属性的值是一个Class对象数组,可以指定多个验证器类。message:用于指定当校验失败时,所返回的错误信息。可以使用占位符{},在校验器中使用具体的参数替换。groups。

2023-04-18 16:12:22 5336 1

原创 理解 MDC:如何更好地记录日志并追踪事件和问题

MDC(Mapped Diagnostic Contexts)是SLF4J(Simple Logging Facade for Java)日志框架中非常重要的一个组件,用于在应用程序中记录上下文信息。MDC 可以将关键信息与当前线程进行绑定,从而使得这些信息在日志中的记录更加丰富和有用。MDC 中最常用的方法是 put() 和 get() 方法。put() 方法用于将一个键值对存储到当前线程的 MDC 中,而 get() 方法用于从 MDC 中获取指定键的值。

2023-04-18 14:00:54 1067

原创 Java日志管理组件之——MDC

当我们在开发大型分布式系统时,日志记录是一个非常重要的方面,因为它可以帮助我们了解系统的行为和性能,并且可以用于排查问题。在一个分布式系统中,一个请求可能会经过多个服务和节点,并且会在多个线程中处理。在这种情况下,如果我们只是简单地使用日志记录,那么我们可能无法很好地了解整个请求的处理过程。这时候,使用 MDC(Mapped Diagnostic Context)可以帮助我们更好地理解系统的行为和性能,特别是在跨线程、跨进程、甚至跨服务器的情况下。

2023-04-18 13:53:08 5649 1

原创 Linux常用指令之——ls -alt 用法

列出指定目录下的所有文件和目录,并按时间顺序逆序(最新的文件在最前面)进行排序,并显示它们的详细信息。上述组合指令的作用是:找到指定目录下最新修改的以 “.jar” 结尾的文件的文件名。因此,该指令可用于提取特定的文件信息。

2023-04-13 11:19:36 1305

原创 Linux常用指令之——sed用法

还可以用于将文本中某个字符串替换成另一个文件中的内容。例如,我们要将文本文件。还可以用于删除文本中某个字符串所在行的所有内容。还可以用于在文本中查找某个字符串并显示其所在行。例如,我们要在文本文件。还可以用于在文本中指定行后插入一个文件中的内容。例如,我们要在文本文件。还可以用于在文本中指定行后添加一行或多行。例如,我们要在文本文件。例如,我们要在文本文件。例如,我们要将文本文件。还可以用于删除文本中的某行或多行。例如,我们要将文本文件。例如,我们要将文本文件。命令中执行多个操作。例如,我们要将文本文件。

2023-04-13 11:15:09 4618

原创 Linux常用指令之——grep用法

grep 是一个非常强大的文本搜索工具,能够满足各种搜索需求。本文介绍了 grep 的基本用法和高级用法,包括正则表达式、匹配整个单词、搜索多个文件、显示匹配行的上下文、反向搜索和统计匹配次数等。希望本文对大家能够更好地理解和使用 grep 命令。

2023-04-13 11:10:38 9130

原创 Linux 系统下安装和配置 Docker

Docker是一种开源的容器化平台,可以帮助开发人员快速部署和运行应用程序。它可以在不同的环境中运行,包括Linux,Windows和MacOS。本文主要介绍了Linux系统下安装和配置Docker

2023-03-27 23:53:40 462

原创 UriComponents 介绍与使用

UriComponents 是 Spring 框架提供的一个用于操作 URI 的类,它可以解析、构建和操作 URI。UriComponents 能够对 URI 进行解析,并提供了访问 URI 的不同部分的方法,例如协议、主机、端口、路径、查询参数和片段等。同时,它还提供了一些方便的方法来修改URI的不同部分,例如添加或删除查询参数、替换路径参数等。综上所述,UriComponents 提供了一种方便的方式来解析、构建和操作 URI,可以方便地对 URI 的不同部分进行访问和修改。

2023-03-27 21:27:24 988

原创 Java 栈(Stack)的创建

ArrayDeque是Deque接口的一个具体实现类,它使用数组实现,可以在两端进行元素的添加和删除操作,并且具有较高的性能。更灵活的实现方式:Deque接口的实现类不仅有ArrayDeque,还有其他实现方式,比如LinkedList等。ArrayDeque:ArrayDeque是Deque接口的一个具体实现类,它使用数组实现,可以在两端进行元素的添加和删除操作,并且具有较高的性能。总之,推荐使用Deque接口和ArrayDeque类来创建栈,因为它们具有更好的性能、更多的功能和更灵活的实现方式。

2023-03-20 00:29:05 3098

原创 windows 技术篇 - cmd命令查看当前路径下的所有文件和文件夹以及所有子目录下的文件,dir命令的使用方法

可以查看当前路径下的所有文件和文件夹以及子目录下的文件。可以查看当前路径下的所有文件和文件夹。

2023-03-20 00:12:28 14090

原创 Java 中 Comparable 和 Comparator 类的区别

Comparable 是 Java 中定义在 java.lang 包下的一个接口,它包含一个方法 compareTo(),用于定义该类对象的默认比较方式。实现 Comparable 接口的类可以使用 Arrays.sort() 或 Collections.sort() 进行排序,且默认排序方式是使用 compareTo() 方法进行比较。compareTo() 方法返回一个整数值,用于表示该对象与另一个对象之间的关系。如果该对象小于另一个对象,则返回一个负数;如果它等于另一个对象,则返回 0;

2023-03-19 15:03:36 253

转载 跨站请求伪造(CSRF)攻击

跨站请求伪造(CSRF)攻击

2023-03-12 23:14:17 291

原创 Windows系统下快速启动Kafka

在Windows系统上启动Kafka服务

2023-03-01 23:57:41 8744 1

原创 Kafka快速入门

Kafka 是一种高吞吐量、分布式的消息队列系统,由 LinkedIn 公司开发。它最初是为了解决 LinkedIn 在海量实时数据处理场景下的消息传递问题而设计的。Kafka 提供了一种可靠的、分布式的、可分区的、可重复消费的消息发布与订阅系统。它允许生产者将消息发布到一个或多个主题(topic)中,并允许消费者订阅一个或多个主题并消费发布到这些主题的消息。Kafka 的消息处理方式非常高效,每秒可以处理数百万个消息。本文简要介绍了 Kafka 的基本概念和使用方法。

2023-03-01 22:23:42 434

原创 使用Canal组件订阅MySQL binlog数据增量

Canal是一款强大的开源组件,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。canal 工作原理canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal )canal 解析 binary log 对象(原始为 byte 流)基于日志增量订阅和消费的业务包括数据库镜像。

2023-02-26 22:35:17 856

原创 Java多线程编程:交替打印数字1234和字母abcd

Java多线程编程:交替打印数字1234和字母abcd1. 使用Object类的wait() 和 notify() 方法2. 使用LockSupport2.1 LockSupport介绍3. 使用AtomicInteger整形原子类1. 使用Object类的wait() 和 notify() 方法需要注意的是:(1) wait() 和 notify() 方法都是Object类里面的,两者均需要在同步方法或同步代码块之中才能使用;(2) wait() 和 notify() 方法的调用者,如果是同步代码

2021-03-27 22:58:22 1625

原创 Typora学习教程

Typora 学习教程目录Typora 学习教程一、段落格式(1)字体1. 粗体2. 斜体3. 斜体加粗4. 删除线5. 高亮6. 上标7. 下标(2)区块引用(3)分割线(4)脚注二、列表(1)无序列表(2)有序列表(3)列表嵌套三、表格(1)默认(2)对齐方式设置:四、代码(1)单行代码(2)代码块式(3)包裹式五、链接(1)一般式(2)高级式六、图片(1)本地图片(2)网络图片七、高级技巧(1)HTML(2)LaTex公式(3)流程图1.横向流程图2.纵向流程图3.标准流程图4.标准流程图源码格式(

2021-03-27 22:57:03 1021

基于多径传输和多普勒频移的 瑞利(Rayleigh)信道的仿真 主要考虑不同条件下的仿真.zip

有助于理解时变双选择信道仿真,理解多径时延、Doppler效应对信道的影响,内包含MATLAB仿真代码,以及讲义资料

2019-06-25

上海大学《829信号系统与电子线路》历年真题

上海大学《829信号系统与电子线路》历年真题。适用于报考上海大学通信与信息系统、信号与信息处理、电路与系统学硕专业的同学。

2019-04-26

空空如也

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

TA关注的人

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