自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 平稳随机信号

随机信号的统计特性不随时间平移而变化。

2024-09-26 15:32:35 121

原创 随机信号介绍

随机变量是指变量X的取值由每次随机试验的结果决定。如果每次随机试验的结果不是一个数,而是一个随时间变化的函数(t),则所有可能的这些函数的集合,称为该随机试验的随机过程(随机信号),表示为x(t)。随机变量的取值没有确定的表达式,一般通过概率分布函数描述。N个随机变量的联合概率分布函数为:一个随机信号X(t)是依赖时间t的一族随机变量,或者说它是所有可能的样本函数的集合。

2024-09-26 15:13:32 237

原创 衍射的角谱理论

不考虑夫琅禾费近似, 则相干光场在给定二平面间的传播过程就是通过一个二维线性空不变系统。上式函数是这个系统的本征函数,表示振幅为1的平面波在xy平面上的复振幅分布,空间频率分量= cos= cos与平面波的传播方向相联系, 空间频率表示了单色平面波的传播方向。这说明, 相干光场在自由空间给定两平面间的传播过程相当于通过一个线性空不变系统,单色平面波复振幅分布即为该系统的本征函数。在z = 0平面上的复振幅分布为在z =平面上的复振幅分布为可见,单色平面波从z = 0平面传播到z =

2024-09-24 20:22:07 572

原创 基尔霍夫衍射理论

前提条件:介质同时具有线性、各向同性、均匀性且无色散。结论:电场和磁场的所有分量的行为完全相同,可由单一的一个标量波动方程描述,标量理论可以完全准确的代替矢量理论。若介质不具备上述前提,则用标量理论来表征矢 量理论就会引入误差。

2024-09-22 21:55:58 512

原创 二维光场分析

实波函数复波函数复振幅由于时间因子相同,可以用复振幅来描述光强。

2024-09-21 21:02:50 472

原创 线性系统分析

若则称该系统具有平移不变性(M为光学系统的垂轴放大率)。所谓平移不变性就是当输入产生平移时, 输出也仅发生平移, 形式不变。对于空间函数来讲, 也称之为空间平移不变性。线性平移不变系统:既具有线性又具有平移不变性的系统称为线性平移不变系统。

2024-09-20 21:15:57 593

原创 傅里叶变换的基本性质和有关定理

1.1 线性性质若则其中:a,b是常数函数线性组合的傅里叶变换等于歌函数傅里叶变换的相应组合。1.2 对称性若则关于傅里叶变换的对称性还有虚、实、奇、偶函数的傅里叶变换性质:1.3 迭次傅里叶变换对f(x,y)连续两次做二维傅里叶变换,即可得倒立像,如下式1.4 坐标缩放性质若则a,b为不为零的实常数光学上,空域坐标上的放大或者缩小,导致空间频域中的频谱坐标缩小或者放大。1.5 平移性若则其中,为实常数。

2024-09-19 20:08:32 548

原创 卷积和相关

其中参变量x和积分变量a都是实变量,f,h可实可复。一维卷积运算可以简单的理解为:f(a)h(x-a)曲线下的面积随x在负无穷到正无穷之间变化,它是x的函数。其几何说明如下:首先将f(x)和h(x)的自变量x改成a,再进行如下运算 (即卷积积分四部曲):反褶,平移,相乘,积分。1.1.1 二维卷积其中x,y和都是实变量, f,h可实可复。h是描述线性不变系统(观测方式,观测仪器)的作用, g是输出信号(观测到的信号)。f(x,y)和g(x,y)的互相关为其中:x,y,

2024-09-19 17:11:11 539

原创 傅里叶变换的简单介绍(Fourier Transform, FT)

定理1 组成三角级数的函数系1, cos x, sin x, cos 2x, sin 2x, ..., cos nx, sin nx, ...在[-Π,Π]上正交,即其中任意两个不同的函数之积在[-Π,Π]上的积分为0。定理2 设f(x)是周期为2Π的周期函数,且右端级数可逐项积分,则定理3 (收敛定理,展开定理)设f(x)是周期为2Π的周期函数,并满足狄利克雷( Dirichlet )条件:(1)在一个周期内连续或只有有限个第一类间断点;(2)在一个周期内只有有限个极值点。

2024-09-19 15:55:40 332

原创 Delta Function的简单介绍

Delta Function的简单介绍

2024-09-16 21:10:02 332

原创 几个常见的非初等函数

本篇博客将简单介绍以下几个常用的非初等函数。

2024-09-16 20:33:10 529

原创 ErrorstartingApplicationContext.Todisplaytheconditionsreportre-runyourapplicationwith‘debug‘ enabled

今天Spring Boot 启动错误,搜了很多办法还是不行,直到我想到之前因为application.yml 文件格式错误而出错了,我才去认真检查,果然还是这个问题

2023-06-27 14:42:15 281

原创 <statement> or DELIMITER expected, got ‘id‘

xml文件中编写语句时,其中的第一个参数总是报错,其实是IDEA的配置问题,IDEA默认配置将sql语句按照他的格式进行解析。要解决这个问题就要修改默认配置。(2)按照如下截图步骤。

2023-06-21 21:26:47 1415 1

原创 URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)

今天在编写xml配置文件引入DTD约束时,出现这个错误提示 URI is not registered(Settings | Languages & Frameworks | Schemas and DTDs) ,如下图。(1)Ctrl + Alt + S 打开设置。(3)之后就不会报错了。(2)之后按以下截图。

2023-06-21 14:48:48 616

原创 Invalid child element in a block mapping

SpringBoot配置文件application.yml遇到的错误

2023-06-20 21:16:58 3140

原创 请将 main 方法定义为public static void main(String[]args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application

在IDEA里用juint工具测试时,报错为:junit错误: 在类 JunitLearing.JunitTest 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application。解决方法:测试工具不需要从main方法启动,直接点如图箭头所指的绿色启动按钮来测试方法。出错点在于:我点右上角的绿色三角启动程序了。

2023-06-09 10:11:59 867

原创 org.springframework.beans.factory.UnsatisfiedDependencyException

今天用MyBatis进行一张表查询时,发生了以上问题,排查后发现自己粗心将。了,导致出错,修改后服务器正常启动。

2023-06-07 21:02:51 390

原创 Error: connect ECONNREFUSED 127.0.0.1:8080

选择下面那个Add 并且Proxy Server 那里要写127.0.0.1 8080(8080是我使用的端口号)postman报错Error: connect ECONNREFUSED 127.0.0.1:8080。二、然后又搜了很久还是没有找到自己的问题,直到我突然想起来服务器没有启动。取消勾选"Use the system proxy"之后退出postman再重进还是不行。一、首先检查postman里面的settings。问题解决,以后还是得细心点!

2023-06-06 23:44:56 18258 5

原创 如何模拟弱网

本文将用Fiddler模拟弱网。

2023-05-22 20:59:07 1046

原创 测试用例-微信发送朋友圈

我们需要注意,当进行测试用例的书写时,不要直接上手说测试点,先把测试用例进行归类,先写出来测试用例万能公式:界面、易用性、功能、性能、安全、兼容性。

2023-05-22 20:48:43 248

原创 测试用例-水杯

先把测试用例进行归类,先写出来测试用例万能公式:界面、易用性、功能、性能、安全、兼容性。

2023-05-22 20:46:27 77

原创 Map和Set的详解

需要使用替换法进行删除,即在它的右子树中寻找中序下的第一个结点(关键码最小),用它的值填补到被删除节点中,再来处理该结点的删除问题。cur不是root,cur是parent.right,则parent.right == cur.right。由此可知:Map是一个接口类,该类没有继承Collection,该类中存储的是结构的键值对,并且K是唯一的,不能重复。(5)Map中键值对中的Key不能直接修改,value可以修改,如果要修改key,只能先将key删除掉,然后再进行重新插入。

2022-11-27 20:54:43 1494 1

原创 排序的详解

该算法是采用分治算法的典型的应用,将已有序的子序列合并,得到完全有序的序列,即先使每个子序列有序,再使子序列段间有序,若两个有序表合并为一个有序表,称为二路合并。稳定性:假设在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,则称这种排序算法是稳定的,否则称为不稳定的。所谓交换就是根据序列中的两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动。注意:排升序要建大堆,降序要建小堆。

2022-11-19 15:50:04 179

原创 优先级队列(堆)的详解

的顺序存储方式存储在一个一维数组中,并满足ki = k2i + 2 ),则称为小堆(或大堆)。根节点最大的堆为大根堆或者最大堆,根节点最小的堆为小根堆或最小堆。优先级队列提供了两个最基本的操作:一个是返回最高优先级对象,一个是添加新的对象,优先级队列底层实现用到的数据结构就是堆。由于根节点的左右子树已经完全满足堆的性质,因此只需要将根节点向下调整好即可。(2)将最后新插入的节点向上调整,直到满足堆的性质。

2022-11-12 22:19:45 695

原创 二叉树的详解

双亲结点或父结点:若一个结点含有子结点,则这个结点称为其子结点的父结点 孩子结点或子结点:一个结点含有的子树的根结点称为该结点的子结点 根结点:一棵树中,没有双亲结点的结点。(1)满二叉树:一棵二叉树,如果它的每层结点数都达到最大值,则这棵二叉树就是满二叉树,即若一棵二叉树的层次为k,且它的结点数是2^k - 1,那么它是满二叉树。

2022-11-05 20:29:30 209

原创 用栈实现队列,用队列实现栈

【代码】用栈实现队列,用队列实现栈。

2022-10-23 22:33:40 126

原创 队列(Queue)的详解

双端队列是指允许两端都可以进行入队和出队的操作的队列,Deque是一个接口,使用时必须创建LinkedList的对象。底层还是一个数组,指定一个队列的大小,入队时,当队列满的时候就不能再放了,出队时当队列为空的时候就不能再出队了。队列,在Java中是用双向链表实现的,实现类是LinkedList,性质是先进先出 FIFO。队列:只允许在一端进行插入操作,在另一端进行删除数据操作的特殊的线性表,队列具有先进先出。注意:栈,在Java中是用数组实现的,Stack继承自Vector,性质是后进先出 LIFO。

2022-10-23 22:31:20 3292

原创 栈(Stack)的详解

栈是一种特殊的线性表,其只允许在指定的一端进行插入和删除元素操作,进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。由图可知,Stack继承了Vector,Vector和ArrayList类似,都是动态的顺序表,不同的是Vector是线程安全的。虚拟机栈:是JVM运行时数据区的一部分,是一块内存空间,局部变量,方法的开辟都保存在这个区域。栈帧:方法开辟出来的内存被称为栈帧,细化为某一个方法的内存。1、压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。3、栈、虚拟机栈、栈帧的区别。

2022-10-21 13:25:19 3492

原创 ArrayList的详解

线性表在逻辑上是线性结构,也就是说是连续的一条直线,但是在物理上不一定是连续的,线性表在物理上存储的时候,通常以数组和链式结构的形式存储,常见的线性表:顺序表、链表、栈、队列...顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删查改。1)调用无参构造方法,初始化ArrayList对象,底层创建了一个空数组,第一次add的时候才去指定数组的容量。6、ArrayList底层是一段连续的空间,并且可以动态扩容,是一个动态类型的顺序表。

2022-10-04 00:03:46 5217 1

原创 泛型的详解

一、引出泛型 不使用泛型 使用泛型之后 代码解释 : 1、泛型的目的是在编译阶段,让编译器去给我们做检查 2、类名后的代表占位符,表示当前类是一个泛型类 3、不能new泛型类型的数组二、泛型的上界 在定义泛型时,有时需要对传入的类型变量做一定的约束,可以通过类型边界来约束 例如: 即只接受Number的子类作为E的类型实参 复杂实例: 即E是必须实现了 Comparable 接口的三、泛型方法 1

2022-10-02 23:54:56 408

原创 异常的详解

处在方法声明参数列表之后,当方法抛出编译时异常时,用户不想处理该异常,此时就可以借助throws关键字给方法的调用者来处理,即当前方法不处理异常,提醒方法的调用者处理异常。3、方法内部如果抛出了多个异常,throws之后必须跟多个异常类型,之间用逗号隔开,如果抛出多个异常类型具有父子关系 ,直接声明父类即可。异常的捕获,也就是异常的具体处理方式,主要有两种:异常声明throws以及try-catch捕获处理。3、try可能会抛出多个不同的异常对象,则必须用多个catch来捕获,即多种异常,多次捕获。

2022-09-27 19:02:44 480

原创 String类的详解

注意:replaceAll方法并不是在s的基础上替换的,而是将替换的结果作为一个新的字符串返回了,替换之后始终不变,因为String类在设计的时候,就严格限定了String类的对象是不可改变的,即字符串是不可变对象。2、将自定义类型的对象转换为String类型的字符串,类中需要重写Object类中的toString的方法,如果没有重写,将来转换完之后的结果:类全路径名+@+hashCode的十六进制的结果。注意:对于内置对象,==比较的是变量中的值,对于引用类型,==比较的是引用中的地址。

2022-09-25 21:20:47 1545 1

原创 内置类型、引用类型的比较

4、说明obj一定是当前类的对象,将obj转化为当前类的对象,然后将对象中的成员进行逐个比较。3、两个不同的对象进行比较,此时需要检测obj是否为当前类的一个对象,如果不是,肯定不相等。引用类型变量使用==进行比较,并不是比较引用对象中的内容,而是比较引用对象的地址。2、需要检测是否为自己和自己比较,自己和自己比较肯定是相等的,直接返回true。== 左右两侧如果是内置类型的变量,直接用变量中的数值直接比较。1、先检测obj是否为空,如果为空,肯定不相等,直接返回false。1、内置类型用==比较。

2022-09-25 16:05:23 144 1

原创 接口的详解

接口中不能有实例代码块和构造方法:实例代码块中的内容经过编译后,按照其在类中声明的次序,需要依次加载到构造方法的前面,而构造方法的作用是初始化对象,给对象的普通的成员变量一个合适的初始值,因此构造方法肯定有自己的实现体,即构造方法不能是抽象方法,因为矛盾。接口的定义格式与定义类的格式基本相同,将class关键字换成interface关键字,就定义了一个接口。接口不能直接使用,必须要有一个“实现类”来“实现”该接口,实现接口中所有的抽象方法。1、创建接口时,接口的命名一般以大写字母I开头。

2022-09-09 23:32:53 907

原创 抽象类详解

使用抽象类的场景就如上面的代码,实际工作不应该由父类完成,而应该由子类完成,那么此时如果不小心误用成父类了,使用普通类编译器是不会报错的,但是父类是抽象类就会在实例化的时候提示错误,让我们尽早发现问题。在Java中,如果一个类被abstract修饰则称为抽象类,抽象类中被abstract修饰的方法称为抽象方法。抽象类本身不能被实例化,要想使用,只能创建该抽象类的子类,然后让子类重写抽象类中的抽象方法。5、抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类。注:包含抽象方法的类就是抽象类,

2022-09-07 10:42:43 6973

原创 多态的详解

在代码编译时,编译器无法知道基类的引用到底引用哪个类的对象,因此编译时无法确定要调用哪个类的方法,只有等到程序运行起来之后,才知道应该调用哪个类的方法。① 构造方法不能被重写:构造方法特殊,构造方法作用在调用对象时,由编译器调用,将对象中的成员初始化完整,只有对象真正创建好之后,才可以用其调用其他的方法实现多态,而对象真正创建好之后,构造方法已经调用完了 ,不可能再在构造方法上实现多态。例外:协变:被重写的方法返回值类型可以不同,返回值有要求:基类方法返回基类的引用,子类方法返回子类的引用。

2022-09-06 16:41:15 445

原创 类中静态代码块、实例代码块、构造方法执行次序

在类加载的时候,静态代码中的语句会执行,在整个类加载的过程中只执行一次,和创建多少个对象没有关系。但是:不能通过打印结果说明 先调用基类的构造方法,后调用子类的构造方法(说法错误。3、基类构造方法中的内容先打印,然后子类构造方法中的内容后打印。1、父类静态代码块优先于子类静态代码块执行,而且是最早执行。1、new哪个类的对象,编译器就会调用该类的构造方法。2、new子类对象:编译器会调用子类的构造方法。3、子类的实例代码块和子类的构造方法紧接着再执行。,基类的静态代码块先执行,子类的代码块后执行,...

2022-08-30 10:53:04 1444

原创 super和this的区别

super是代码层面的一个关键字,在代码中可以通过super访问子类对象中从基类继承下来的成员,但是代码经过javac编译之后,super就不存在了。1、this是当前对象的引用,当前对象即调用实例方法的对象,super相当于是子类对象中从父类继承下来部分成员的引用。super和this都可以在成员方法中用来访问:成员变量和调用其他的成员函数,都可以作为构造方法的第一条语句,那它们有什么区别呢?2、在非静态成员方法中,this用来访问本来的方法和属性,super用来访问父类继承下来的方法和属性。...

2022-08-30 10:28:36 1300

原创 Java中继承机制详解

因为子类对象中的成员是有两部分组成的,基类继承下来的以及子类新增加的部分,所以在构造子类对象的时候,先要调用基类的构造方法,将从基类继承下来的成员构造完整,然后再调用子类自己的构造方法,将子类自己新增加的成员初始化完整。注意:子类和基类可以存在相同名称的成员变量,并且类型和名字都可以完全相同,此时,在子类的方法中优先访问到的是子类的同名成员,从基类中继承下来的同名成员,不能在子类中被直接访问,称为。·如果访问的成员变量子类中无,则访问父类继承下来的,如果父类也没有定义,则编译报错。.........

2022-08-29 23:24:11 1966

原创 操作系统(OS)及进程(Process)

一、操作系统(Operating System / OS)多用户—多任务场景 OS的主要职责就是协调——专门的软件来作协调工作1、当硬件(资源)会被多个任务“同时”访问 OS协调不同的任务对硬件资源的访问 OS管理着硬件资源,分配给不同的任务去使用 注:OS是一个管理(硬件/软件)资源的软件,是一个协调者(管理的含义就是做协调),是一个分配者,分配的主体就是任务,站在任务的角度,就是一切硬件资源都需要找OS申请后才能被授权使用。 ...

2022-05-04 00:13:20 2436

空空如也

空空如也

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

TA关注的人

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