- 博客(26)
- 问答 (1)
- 收藏
- 关注
原创 maven冲突问题
在编写maven当中的依赖时,有时候会出现一些问题,这种问题为Maven的当中的依赖。还可以直接使用一种更加简单的方式来查看冲突:直接使用插件来进行查看。为了解决这种冲突的出现:可以使用将引起冲突的依赖直接进行删除掉!在导入依赖的时候:出现了两种依赖发生了版本冲突的问题?可以通过打印maven的版本信息树来检查相应的依赖。直接输出全部的依赖及其相应的版本信息(以树的形式)首先我是无法知道这个问题出现在哪里的。可以使用这种方式来解决冲突的出现!冲突就得到了相应的解决!
2024-04-29 11:04:36
570
原创 顺序查找和折半查找
什么是顺序查找:顺序查找的实现方式(存储),是含有两种的方式进行存储的,一种是顺序表的形式进行存储,还有一种是使用链表的形式进行存储的。这种的查找的时间效率非常的低,在数组的长度非常大的情况要进行对整个数组进行遍历操作,耗时的!当查找的元素arr[i] 的位置的元素大小小于key的值,但是arr[i+1]的位置大小是大于key的值的。在处理mid的时候会出现两种情况:当使用的是向下取整的情况,在比较左右子树的大小的情况,左子树节点的个数可能是等于右子树的节点个数或者是为右子树节点个数减去1的情况。
2024-04-23 17:49:53
1045
1
原创 查找的相关概念
这些数据可以是无序的组成在一起的,也可以是有序的组成在一起的。对于特定的数据结构选择特定的查找的实现方式是可以大大的提高算法的实现效率的。在查找的过程当中,一个数据元素的可能是含有着很多的数据项的,但是要选择一个比较合适的数据项进行查找(关键字),这个是类似于数据库当中的主键的,唯一对数据元素进行标识的。在一个查找的算法当中想要对这个算法进行描述操作,通常是要给定一个评价的标准的进行查找的。对于一组数据而言,想要找到特定的数据在这一组数据当中,必不可少的是要用到一些相关的操作来进行实现其功能的。
2024-04-23 17:42:56
140
原创 Thread , Future , Callable , FutureTask(多线程)
在想要使用多线程的技术来进行相应的操作的时候: 可以含有以下的方向来进行设计思考!在创建一个线程的时候通常是创建一个Thread的。若我直接采用这种方式来来进行执行操作的话,是无法满足我的需求的。上面相关的例子,已经将一个老师叫学习委员去办公室拿书的例子叫停了。这个开启的线程是相当于我要让其进行一些子任务的执行操作的。这种是开启一个线程让其来进行线程任务的执行操作的。但是还有一种方法也是可以进行线程的启动操作的。登场的就是FutureTask的类进行操作的。java的开发者是给了我们一种实现的方式的。
2024-04-22 18:41:36
604
原创 对于IOC的注入两种方式(注解和XML)
在Spring IoC 容器中基于xml完成对Bean的装配,创建测试类,获取ProductController的实例,调用其save()方法,在控制台上打印Product的信息。
2024-04-22 10:26:37
243
原创 工厂设计模式
简单的工厂设计模式是根据产品的名称来进行创建操作的,但是还有一些局限是只能是含有一个工厂来进行对象的创建操作的。想要对不同的产品含有着不同的品牌来进行设计的情况,是要设定多个不同的工厂的,这个工厂是只针对于这个厂家的藏产品来进行设计和创建的。由简单工厂模式进行改进操作,并不是将所有的对象都是由一个工厂来进行创建的,而是分成不同的工厂来对具体的产品进行创建的。简单工厂是将其三种电器都是让一个大工厂来进行生产的,这样也是可以的。当传入的名称和设计的不符合的情况之下会直接生成一个错误的提示的。
2024-03-05 21:41:47
883
1
原创 单例模式
没有使用任何的设计模式的话,可能会在一个类当中对一个类型的类创建了很多次,这种行为会对内存的资源造成极大的浪费的情况。但是存在着一种缺陷:在多线程的程序当中,假设是一个线程在使用getInstance的方法的时候,进入到了判断语句当中,但是另外的一个线程刚刚好是对其进行实例化操作。直接是在方法上面添加关键字,让其他的线程不会进入到这个方法当中来,让其进行等待操作,直到已有的线程执行完成这个方法的代码。“饿”:饿汉式是在加载的时候就创建一个对象,而不是在的需要的时候创建的对象。一直是和这个类一起存在的。
2024-02-29 16:50:50
333
1
原创 合成复用原则
或者是当父类当中的方法发生了改变的话,也会使得子类的继承的方法发生相应的改变!当确实含有着一定的父子关系的时候可以是使用到继承的关系进行代码的编写操作。在编写代码的过程当中尽量是要使用合成或者聚合的方式进行编写,而减少继承的关系进行代码的编写操作。尽量将需要发生变化的应用独立出来,对不需要发生变化的应用和不需要发生变化的对象混合在一起。添加属性,将要使用的类设定为其属性,并且为其设定相应的set方法为其属性赋值。使用简单的依赖关系,将要是的类通过方法传进来,从而对其进行使用!
2024-02-27 21:55:36
369
原创 开闭原则设计
开闭原则是编程当中最基础,最重要的设计原则。一个软件实体类,模块,函数应该对拓展开发(对提供方),对修改关闭(对使用方)。当软件需要发生变化的时候,尽量通过扩展软件实体的行为实现其变化,而不是通过修改已有的代码实现其功能。编程当中遵循其他原则,以及使用设计模式的目的是为了遵循开闭原则。
2024-02-27 21:51:11
348
原创 里氏替换原则
将其问题解决掉,可以使用一个基类,是其两个类都继承这个基类。形成一个新的继承关系。原先的关系可以使用组合,依赖,聚合的方式来处理。里氏替换原则实际上是直接使得两个类的耦合性增强了,在适当的情况下是可以使用依赖,组合,聚合的方式将其问题解决掉。能直接明显的调用其方法来进行使用,不会出现模棱两可的现象。所有引用基类的地方必须能透明的使用子类的对象,在使用继承的时候,要遵循里氏替换原则,
2024-02-27 21:48:38
332
原创 依赖倒转原则
高层模块不应该依赖底层模块,两者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象依赖倒转原则的中心思想是面向接口编程依赖倒转原则是基于这样的设计理念: 相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础的架构比以细节为基础的架构要稳定的多。在java当中抽象的是值接口或者是抽象类,细节指的是实现类。使用接口或者抽象类的目的是制定好规范,而不涉及任何具体操作,把展示细节的任务交给他们的实现类来完成使用的是接口的方式来对类当中的信息进行接收操作。
2024-02-21 09:59:55
340
原创 接口隔离原则
那么在编写代码的过程当中,可以将接口进行拆分来进行处理操作。使得想要直接实现的类可以能够准确的实现相对应的接口。对于本类当中不需要的方法能直接进行删除操作的。实现对应的接口就可以了。这样的功能实现起来,原则上是可以对代码进行完成的,但是有一点问题是功能是完成了,有的代码是没有什么用处的。对于实现了那个接口的类而言。代码是没有用的,但是又不能将其进行删除。客户端当中的类不应该依赖他所不需要的类,即一个类对另外一个类的依赖应该建立在最小的接口上面来的。代码实现其对应的功能操作。对应功能的实现操作处理。
2024-02-21 09:56:03
355
空空如也
在C语言中怎么多组输入数组
2021-11-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人