- 博客(40)
- 收藏
- 关注
原创 设计模式之装饰器模式
是一种结构型设计模式,它允许你通过将对象包装在具有相同接口的装饰器类中来动态地改变对象的行为。装饰器模式允许分别给被装饰者添加新的行为,而无需改变其结构。这样可以提高代码的灵活性和可扩展性。/*** @Description: 抽象组件*///房屋外观样式装饰器模式的核心思想是使用组合而不是继承来实现功能的添加和修改。通过将对象传递给装饰器的构造函数,我们可以将装饰器应用于任何对象,并且可以根据需求添加多个装饰器。装饰器模式遵循单一职责原则,并且允许我们保持代码的可维护性和可扩展性。
2024-09-26 10:20:27
1005
2
原创 二分法介绍
二分法(Binary Search)是一种常用的查找算法,它的原理是将有序数组分成两部分,通过比较目标值与数组的中间值,可以确定目标值在哪一部分中,然后再继续在目标部分进行查找,直到找到目标值或者确定目标值不存在。
2024-08-30 17:44:35
486
原创 设计模式结构型模式之代理模式
无论是静态代理还是动态代理,代理模式都可以在不改变被代理对象的情况下,对访问进行控制和添加额外的逻辑。代理模式可以提高代码的可维护性和可扩展性,但也会增加代码的复杂性和性能开销,因此在使用代理模式时需要根据具体的情况进行权衡。
2024-08-30 16:48:37
1755
原创 设计模式结构型模式之适配器模式
适配器模式是一种结构型设计模式,它允许不兼容的接口之间进行适配,使得原本无法一起工作的类可以协同工作。适配器模式通过引入一个适配器类,将一个类的接口转换成客户端所期待的接口,从而使原本由于接口不兼容而不能一起工作的两个类能够协同工作。适配器模式(Adapter Pattern)是一种结构型设计模式,它允许现有的类与其他类或接口进行协作,解决了类之间接口不兼容的问题。
2024-08-29 17:15:49
1760
原创 设计模式创建型模式之原型模式
原型模式是一种创建型设计模式,用于创建对象的克隆。它通过复制现有对象的原型来创建新的对象,而无需通过实例化类来创建对象。原型模式的实现通常需要实现Cloneable接口,并重写clone()方法来进行对象的复制。
2024-08-29 11:06:44
1453
原创 设计模式之建造者模式
*** @Description: 设置电脑属性的接口*/提供了将复杂对象的构建过程和表示分离的能力,使得构建过程可以独立于表示而变化。可以隐藏复杂对象的创建细节,使得客户端代码可以直接使用已经构建好的对象,而不需要知道具体的构建过程。可以通过改变具体的建造者和指导者来创建不同的产品,使得客户端代码可以使用不同的建造者来构建不同的产品实例。可以避免在客户端代码中直接创建复杂对象,从而提高代码的可维护性和可扩展性。
2024-08-27 17:19:33
1403
原创 Mysql中count(*) over 用法讲解
在MySQL中,用于计算每一行在结果集中的总行数。它是一个窗口函数。窗口函数是一种在特定窗口内计算和返回结果的函数。在这种情况下,窗口函数是COUNT(*),它计算在整个结果集中的总行数。1、COUNT() OVER() 是一种窗口函数,用于计算查询结果集中的行数。这种函数不受分组或排序的影响,能够返回查询结果集中的总行数。窗口函数允许用户对一个结果集的窗口(或分区)执行计算,而不需要改变查询的基本结构。使用COUNT(
2024-08-27 14:19:14
1661
原创 设计模式之工厂方法模式
如有不足,欢迎指出,期待和大家共同进步---------------------------------------------------------------------------------------------------1、工厂方法模式是一种创建型设计模式,它提供了一种将对象的创建委托给子类的方式,工厂方法模式定义了一个用于创建对象的接口,让子类决定实例化哪个类。2、工厂方法模式的核心思想是将对象的创建和使用解耦,通过将对象的创建交给子类来实现,子类可以根据需要自行选择实例化哪个类。
2024-08-26 15:10:47
957
原创 设计模式之简单工厂模式
简单工厂模式通过封装创建对象的逻辑,简化了对象的创建过程,同时也提高了代码的可维护性和扩展性。如有错误,欢迎指出,期待和大家共同进步-------------------------------------------------------------------------------------通过使用简单工厂模式,客户端不需要知道具体的产品类,只需通过简单工厂类来创建产品对象。当需要新增产品时,只需要在简单工厂类中添加对应的创建逻辑即可,无需修改客户端的代码。这提高了代码的可维护性和扩展性。
2024-08-26 14:09:36
498
原创 设计模式之单例模式
在该实现中,Singleton类的实例在类加载时就已经被创建,因此被称为饿汉式。没有线程安全的问题,浪费内存空间。在该实现中,Singleton类的实例是在第一次调用getInstance()方法时创建的,因此被称为懒汉式。在该实现中,通过静态内部类的方式实现单例模式。在SingletonHolder内部类中创建实例,并通过getInstance()方法获取实例。在单例模式中,类的构造函数被私有化,使得类不能直接被实例化。如有不足,欢迎指出,共同进步---------------------------
2024-08-23 16:44:52
774
原创 Mysql innodb中事务的隔离级别讲解
可重复读(Repeatable Read):事务A在修改数据后,事务B仍然只能读取到事务开始时的数据。例如,事务B在读取某个范围内的数据后,事务A插入了符合条件的新数据,事务B再次读取时会发现新增了一些数据。例如,事务B在读取某一行数据后,事务A修改了该行数据,事务B再次读取时,得到的结果可能不同。读已提交(Read Committed):事务中的修改只能被已提交的事务读取,可以防止脏读,但是可能会出现不可重复读和幻读的问题。如有不足,欢迎指出,期待与大家共同进步-------------
2024-08-22 17:24:31
519
原创 还不懂eureka原理实践,看完这篇你就懂了
Eureka通过集中管理和监控服务的注册和发现,提供了分布式系统中服务调用的可靠性和可用性。它的原理和实践可以帮助开发人员轻松地实现服务发现和负载均衡功能,提高系统的可扩展性和可维护性。Eureka是Netflix开源的一个服务发现框架,被广泛应用于微服务架构中。它通过建立一个注册中心来负责服务的注册与发现,使得微服务之间能够方便地相互调用。如有不足欢迎指出,期待与各位大佬共同进步。
2024-08-22 16:44:32
1420
原创 java 重新认识重载与重写
1、重载(Overloading): 是指在同一个类中,可以有多个同名方法,但这些方法的参数类型、参数个数、参数顺序至少有一个不同。每个重载的方法都需要有一个独特的参数类型列表。重写(Overriding): 是指子类继承父类后,可以对父类中同名但不同实现的方法进行重新定义。重写的方法需要与父类方法的名称和参数完全相同,返回值类型也需相同或为其子类。存在于继承体系中,指子类实现了一个与父类在方法声明上完全相同的一个方法。各位大佬,如有不足,欢迎指出,共同进步!2、重载(Overload)
2024-08-20 17:30:34
216
原创 JAVA抽象类与接口的区别,看完这篇你就悟了
一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。5、接口是抽象类的延伸,在 Java 8 之前,它可以看成是一个完全抽象的类,也就是说它不能有任何的方法实现。1、在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。3、除非实现接口的类是抽象类,否则该类要定义接口中的所有方法。
2024-08-20 17:08:04
1623
2
原创 Vue入门需要了解的知识一(总结)
------如有不足,欢迎指出,期待我们共同进步---------------------------------------------------Vuejs核心包 (声明式渐染、组件系统)、客户端路由(vueRouter)、大规模状态管理(Vuex)、构建工具(webpack;b、极简插件:下载->开发者模式->拖拽安装->插件详情允许访问文件。1、作用: 基于数据循环,多次渲染整个元素 ->数组、对象、数字…2、语法: v-else 、v-else-if = ‘表达式’
2024-08-17 15:05:31
479
原创 如何理解java八大类型,他们在计算机底层如何运行的
例如,整数类型的加减乘除运算会使用二进制的加减乘除算法,浮点数类型的运算会使用IEEE 754标准的浮点数计算规则。总之,Java的八大基本类型在计算机底层是以二进制形式存储和计算的,每种类型都有对应的字节长度和内存布局。double(8字节):表示范围为1.7e-308到1.7e+308的浮点数,采用IEEE 754标准(双精度浮点数)进行存储和计算。float(4字节):表示范围为3.4e-038到3.4e+038的浮点数,采用IEEE 754标准(单精度浮点数)进行存储和计算。
2024-08-16 15:56:10
216
原创 听说你还不懂设计模式,来这里让你轻松掌握
设计模式的出现是为了解决面向对象设计中反复出现的问题,提供了一套被反复使用、多数人知晓的解决方案,这些方案被分类编目,旨在实现代码的可重用性、可读性和可靠性。:责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模版方法模式、访问者模式,总计11种。:涵盖了多个方面,包括但不限于资源管理、对象创建、事件处理、消息通知、算法选择、文件解析等等;:抽象工厂模式、工厂方法模式、建造者模式、原型模式、单例模式,总计5种。
2024-08-16 15:17:00
1562
原创 java中常用&和&&的区别详解
不同点:2、&&还具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式,例如,对于 if(str!str.equals(“”))表达式,当 str 为 null 时,后面的表达式不会执行,所以不会出现 NullPointerException 如果将&&改为&,则会抛出 NullPointerException 异常。为 true 时,整个运算结果才为 true,否则,只要有一方为 false,则结果为 false。& 0x0f 的结果为 0x01。33 && ++y>0)不会增长。
2024-08-15 17:12:11
304
原创 还搞不清楚java基本类型有哪些?String 是不是基本数据类型 ?
Java 有 8 种基本数据类型: byte int short long double float Boolean char。byte int short long 都属于整数类型. Double float 属于浮点类型. Boolean 为布尔类型。String 不是基本数据类型.它定义的为对象。
2024-08-15 17:07:13
119
原创 每日一题:short s1 = 1; s1 = s1 + 1和 short s1 = 1; s1 += 1;能正常编译么
对于 short s1 = 1;由于 s1+1 运算时会自动提升表达式的类型,所以结果是 int 型,对于 short s1 = 1;由于 += 是 java 语言规定的运算符,java 编译器会对它进行特殊处。再赋值给 short 类型 s1 时,编译器将报告需要强制转换类型的错误。理,因此可以正确编译。
2024-08-14 16:17:34
213
原创 JAVA标号用法
介绍:在Java中,标号(label)是用于标识代码块的标签,可以在循环、分支语句等代码块中使用。用途:1、 在循环中,标号可以与break语句一起使用,以提前退出多层嵌套的循环。例如,如果一个程序需要在外层循环中也响应内层循环的退出条件,可以通过在内层循环前设置一个标号,并在需要提前退出时使用break 标号名;2、在分支语句中,标号可以用于标识特定的分支或代码块,使得break语句可以精确地跳转到标号所标识的位置。
2024-08-14 10:43:23
551
原创 spring boot中如何使用多数据源配置
spring boot中如何使用多数据源配置1、在我们使用编程过程中有时候需要使用不同的数据库呢,那就需要配置多数源,比如我们常用的mysql、pgsql、orecle等以及其他数据库今天我们就来用pgsql和orecle做多数据配置。1、创建配置类 MybatisConfigurationpackage **.task.config.mysql;import com.github.pagehelper.PageHelper;import com.zaxxer.hikari.HikariConfi
2021-10-24 23:38:48
3081
原创 spring数据源(连接池)配置
1、数据源(连接池)为了提高程序的性能而产生的 ,常用的连接池有:DPCP、C3P0、Druid、proxool、BoneCP等;DPCP:apacheC3P0:是一个开源的jdbc连接池;它实现了数据源和jndi绑定,支持jdbc3规范和jdbc2的标准扩展;Druid:德鲁伊proxool:是一种Java数据库连接技术;是SourceForge下的一个开源项目,这个项目提供了一个健壮、易用的连接池;他还提供了 这个连接池监控的功能方便易用,便于发现连接泄漏的情况;BoneCP:JAVA 数据库
2020-10-24 17:36:44
140
原创 Spring配置文件依赖注入
一、Bean的引用注入1、通过set方法代码如下a、这是springContext.xml的配置 <!--工厂的动态实例化Bean--> <bean id="factory" class="com.hkf.fatory.DynamicleFactory"></bean> <bean id="UserDao" factory-bean="factory" factory-method="getUserDao"></b
2020-10-24 16:47:22
245
原创 spring配置文件Bean实例化的三种方式
1、无参构造方法实例化2、工厂静态方法实例化3、工厂实例方法实例化<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springfram
2020-10-22 20:06:11
186
翻译 spring配置文件生命周期配置
1、Bean的生命周期配置init-method:指定类中的初始化方法名称;destroy-method:指定类中销毁方法的名称;2、配置如下:注意不能写成这种情况:不然会报这种错误;<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSche
2020-10-22 19:25:42
257
原创 spring配置文件Bean标签的范围(scope)配置
1、当scope的取值范围为singleton时Bean的实例化个数为:1 个Bean的实例化时机:当spring的核心文件被加载时,实例化配置了Bean的实例Bean的生命周期:对象创建:当应用加载,创建容器时,对象就被创建了对象运行:只要容器存在,对象就一直存在;对象销毁:当运用卸载,容器被销毁了,对象也被销毁;2、当scope的取值范围为prototype时Bean的实例化个数为:多个Bean的实例化时机:当调用getBean()方法时实例化Bean;对象创建:
2020-10-22 18:51:00
386
原创 spring简单入门
标题 spring简单入门步骤1、引入spring context依赖;2、在idea中创建dao以及dao的实现类;3、在resource下创建配置文件springcontext.xml做出相应得配置;注意:这里有两种创建的方式;a、在resources下可以选择xmlconfigurationfile创建,这样直接可以配置;b.直接新建文件 ;然后百度找头部文件沾上去是一样的;头部文件如下:`<?xml version="1.0" encoding="UTF-8"?>
2020-10-22 18:35:04
138
原创 spring boot的多环境配置
1、在原有的基础上增加application-xxx.yml文件2、在application.yml中增加spring.profiles.active=xxx就会使用application-xxx.yml覆盖原来文件的配置小知识:springboot运行的时候指定的配置a、mvn clean packageb、cd targetc、java -jar springm...
2020-05-05 12:06:20
198
原创 maven打包
1、在pom.xml中增加<packaging>jar</packaging>;<groupId>com.hkf</groupId><artifactId>springmvcdemo</artifactId><version>0.0.1-SNAPSHOT</version><packa...
2020-05-05 11:08:13
291
原创 spring boot 框架 +树形菜单
1、创建项目,导入相关的依赖,完成相关包的创建。2、注意entity实体里面关于@TableName @TableId @TableField 属性的注解3、创建相关的包;service层先创建一个树形结构的List方法;//实现sercive3、在控制层调用该方法。4、实现的效果...
2020-04-16 15:09:55
3253
7
原创 简化访问接口方便跳到web浏览器
1、在java启动类中复制粘贴相关代码package com.kede.springbootdemo4dept;import com.baomidou.mybatisplus.core.toolkit.StringUtils;import org.mybatis.spring.annotation.MapperScan;import org.slf4j.Logger;import org...
2020-04-16 14:47:46
903
原创 java面向对象基础集合框架 Collection和Map
1、集合可分为Collection和Map Collection接口A、List接口:存储有序的,可以重复的元素 ArrayList(主要的实现类,底层用数组实现没,线程不安全的) LinkedList(对于频繁的插入 、删除操作,链表实现的) Vector(古老的实现类、线程安全的)B、Set接口:存储无序的不可重复的元素 HashSet、LinkedHas...
2020-04-14 21:41:47
200
原创 spring boot 用thymeleaf框架
1、在pom.xml中写入thymeleaf依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dep...
2020-04-11 18:16:06
272
原创 spring boot 与mybatis -plus查询数据库
1、在pom.xml中加入mybatis -plus依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>...
2020-04-10 18:38:17
321
原创 创建一个简单的spring boot项目需要注意哪些
1、如果你建立的是spring maven项目就需要向pom.xmlorg.springframework.bootspring-boot-starter-parent2.2.2.RELEASE 依赖2、导入阿里云镜像 ,下载速度贼快maven-alihttp://maven.aliyun.com/nexus/content/groups/public//true...
2020-04-10 11:20:48
318
原创 dao层、service层,controller层的区别
尊重原作链接:转载https://blog.youkuaiyun.com/lin751195620/article/details/81188518DAO层、ENTITY层、SERVICE层、CONTROLLER层1、DAO层: 持久层 主要与数据库进行交互DAO层主要是做数据持久层的工作,主要与数据库进行交互。DAO层首先会创建DAO接口,然后会在配置文件中定义该接口的实现类,接着就可以在模块...
2020-04-10 09:44:12
6510
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人