自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【JAVA】final

在Java中,final是一个关键字,它可以用于声明类、方法和变量。final当final关键字用于变量时,这意味着该变量一旦被初始化之后,其值就不能再被改变。对于基本数据类型,这意味着你不能改变基本值;对于引用类型的变量,这意味着你不能再让它引用另一个对象,但是所指向的对象的内部状态是可以改变的(除非对象本身也全部由final字段组成)。当一个方法被声明为final时,这意味着这个方法不能在子类中被覆盖(重写)。这常用于防止继承层次中的行为被修改,或者确保方法的行为在整个继承结构中保持一致性。

2024-04-22 17:11:21 135

原创 【idea】一个新的项目代码,从零上传到Gitee仓库

首先我们在 file -》setting -》Version Control -》Gitee 里增加 Gitee 用户,这个地方要输入gitee的账号和密码,用的是邮箱。配置完成之后,就是要把我们的代码分享到 Gitee 云端了。在 VSC 菜单中找到 Share Project on Gitee ,分享。再去远端 https://gitee.com/ 检查一下。仓库创建完成就会让我们 add 代码到仓库里。会出现让我们填写远端仓库的名称,以及描述。

2024-04-18 19:14:25 163

原创 【JAVA】Assert.isTrue()来做判断,并抛出异常

是一种断言(Assertion)方法,通常用于测试或验证代码中的逻辑条件是否为真。在许多编程语言和测试框架中都有类似的断言方法,用于编写单元测试或确保代码中的条件符合预期。必须为真,否则会抛出一个断言错误,并显示指定的错误消息。这种断言方法对于确保代码中的逻辑正确性非常有用,尤其在编写单元测试时能够帮助捕捉潜在的问题。方法通常是测试框架中的一部分,如果你想使用它,需要确保你的项目中已经包含了对应的测试库,并按照该测试框架的规范来编写和运行测试代码。它用于在测试中验证某个条件是否为真。

2024-04-11 19:49:30 430 2

原创 【数据库】GROUP BY 详解、示例、注意事项

GROUP BY语句在 SQL 中用于将来自数据库表的记录分组,以便可以对每个组执行聚合函数(如COUNT()MAX()MIN()SUM()AVG()等)。使用GROUP BY时,数据库会根据一个或多个列的值将结果集分为多个分组,在每个分组内可以独立地使用聚合函数。GROUP BY通常与SELECT语句一起使用,以汇总每个分组的数据。

2024-04-11 16:28:11 1432

原创 【JAVA】StringBuffer详解,和StringBuilder区别

StringBuffer 是 Java 中用于表示可变字符序列的一个类。它和是线程安全的,这意味着它的方法是同步的,可以在多线程环境中安全地使用。相比之下,不是线程安全的,但它在单线程环境下运行得更快。由于中的大多数方法都通过使用内部锁同步,这就使得它在多线程操作中可以避免数据不一致的问题。然而,这种线程安全特性也意味着如果你的应用不需要在多线程环境中操作字符串,使用可能会导致不必要的性能开销。

2024-04-08 15:14:36 954

原创 【JAVA】StringBuilder 详解,append 源码分析,及其底层思想剖析应用

StringBuilder 是一个在 Java 编程语言中非常有用的类,用于创建和操作动态字符串。与字符串(String)类不同,StringBuilder 允许进行可变字符串操作,这意味着你可以在不生成新对象的情况下修改字符串的内容,从而提高了处理字符串时的效率和性能。StringBuilder 类是在 Java 5 中引入的,作为一个对 StringBuffer 类的轻量级和不同步的替代品。由于StringBuilder 不是线程安全的。

2024-04-08 14:38:32 683

原创 【软考】23种设计模式详解,记忆方式,并举例说明

抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一种创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂模式是工厂方法模式的一种扩展,它用于处理多维度的大规模产品族,而不是单一产品的创建问题。抽象工厂模式可以想象成一个大型工厂,这个大工厂里有好几个小工厂,每个小工厂负责生产一系列相关的产品。这种设计模式的核心就是帮助我们在不直接指定具体类的情况下创建一系列相关或依赖对象。

2024-04-07 16:31:31 1036

原创 【Spring】Spring框架中的一个核心接口ApplicationContext 简介,以及入口 Run() 的源码分析

ApplicationContext 是Spring框架中的一个核心接口,它是Spring IoC容器的实现之一,用于管理和组织应用程序中的各种Bean,同时提供了一系列功能来支持依赖注入、AOP等特性。简单来说,ApplicationContext 是一个大型的、高级的Spring IoC容器,它扩展了BeanFactory接口,提供了更多的功能和特性,比如事件传播、国际化支持、资源加载、生命周期回调等。

2024-03-26 17:13:25 741 1

原创 【事务】开发用到的事务,TransactionDefinition实例详解,事务的传播机制

是Spring框架中定义事务属性的接口。它提供了定义事务的各种属性和行为的方法,包括事务的隔离级别、传播行为、超时设置等。在Spring中,通过TransactionDefinition可以灵活地配置事务的行为,以满足不同业务场景的需求。

2024-03-22 18:09:58 935

原创 【软考】数据库范式详解 (1NF、2NF、3NF、BCNF;包括候选键、非平凡函数)

1NF、2NF、3NF和BCNF是关系数据库中常用的范式(Normalization)概念,用于设计规范化的数据库模式,确保数据库的数据结构良好、无冗余、便于管理和维护。

2024-03-21 14:27:04 630

原创 【软考】关系代数篇(基础操作、关系公式、各种连接)

关系代数是数据库管理系统中的一种数学工具,用于描述和操作关系数据库中的数据。基本运算:关系代数定义了一些基本的运算,如选择、投影、连接、并、差等,用于从一个或多个关系中获取所需的数据。关系操作:这些基本运算可以组合使用,形成更复杂的关系操作,如自然连接、交集、并集、除法等,用于实现更复杂的数据查询和操作。完备性:关系代数是完备的,即可以通过组合基本运算来实现所有可能的数据库操作。形式化:关系代数提供了一种形式化的方式来描述数据库操作,使得数据库系统的设计和实现更加规范和易于理解。理论基础。

2024-03-21 10:59:08 836

原创 【JAVA】实体类继承关系,强制转换的例子

在方法m1中传递的参数是类型为B的对象(b),而b实际上是类A的对象,因为类A继承了公共类B。由于私有属性tt只能在类A内部访问,您需要通过类A提供的公共方法来间接获取私有属性tt的值。在Java中,如果尝试将一个对象强制转换为其不是实际类型的父类或子类,或者尝试将一个对象转换为与其不兼容的接口类型,就会抛出。如果类A和类B之间存在继承或实现关系,但强制转换的方向不正确(例如,将类B转换为类A而不是将类A转换为类B),也会导致ClassCastException异常。接收的参数类型为B的对象。

2024-03-20 15:02:47 379

原创 【JAVA】多种情况下的判空操作

这种判断适用于需要处理具有实际内容的字符串,即字符串中包含有意义的字符或数据。例如,输入框中的用户输入、文件中的文本内容等,这些内容可能对程序逻辑有影响,因此需要确保字符串不为空,才能继续进行后续的处理或操作。需要注意的是,这些方法适用于不同类型的数据,包括字符串、字符数组、集合、Map、数组以及普通对象。在判空时,**通常会先判断对象或字符串不为 null,然后再进一步判断对象或字符串是否为空或空白字符。例如,输入框中的用户输入如果只包含空格或空白字符,可能需要视作空值处理,而不是有效的数据。

2024-03-20 14:35:53 1074

原创 【JAVA】ifPresent 的使用

在上面的示例中,我们首先创建了一个包含值的 Optional 对象和一个空的 Optional 对象。而对于空的 Optional 对象,则不会执行任何操作。在 Java 中,ifPresent 是一个用于 Optional 类型的方法,用于检查 Optional 对象中是否存在值并执行相应的操作。ifPresent 方法接受一个 Consumer 函数式接口作为参数,如果 Optional 对象中包含值,则将该值传递给 Consumer 接口的实现方法。

2024-03-15 13:52:09 471

原创 【JAVA】Date、LocalDate、LocalDateTime 详解,实践应用

在 Java 中,处理日期和时间的方式经历了演变。在Java 8 之前,主要使用 java.util.Date 类来表示日期和时间,但它存在一些问题,如不可变性、线程安全性等。Java 8 引入了新的日期时间 API,位于 java.time 包中,提供了更加强大、易用和安全的日期时间处理方式。

2024-03-13 15:07:05 1318

原创 【JAVA】Collections.sort()方法详解

是 Java 集合框架(Java Collections Framework)中的一个静态方法,用于对列表(List)中的元素进行排序。此方法利用了 Java 的泛型机制,可以很方便地对各种类型的列表进行排序。源码方法体:参数list:需要排序的列表。列表中的元素必须实现了 Comparable 接口,以便能够比较它们的大小。

2024-03-11 15:25:52 1617

原创 【网络】主机连接 TCP 三次握手

所以服务端会先将 ACK 发过去告诉客户端我收到你的断开请求了,但请再给我一点时间,这段时间用来发送剩下的数据报文,发完之后再将 FIN 包发给客户端表示现在可以断了。TCP进行可靠传输的关键就在于维护一个序列号,三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号起始值。主要原因是当服务端收到客户端的 FIN 数据包后,服务端可能还有数据没发完,不会立即close。如果只是两次握手, 至多只有客户端的起始序列号能被确认, 服务器端的序列号则得不到确认。

2024-03-07 11:22:56 839

原创 【MybatisPlus】QueryWrapper、UpdateWrappe、LambdaQueryWrapper、LambdaUpdateWrapper

和都是 MyBatis-Plus 框架中用于构建条件的工具类,它们之间的关系是继承关系。其中和是基于普通的对象属性名来构建条件的,而和则是基于 Lambda 表达式来构建条件的。下面是AbstractWrapper中的方法。

2024-03-06 16:57:24 751

原创 【MybatisPlus】BaseMapper详解,举例说明

MyBatis-Plus 的核心类 BaseMapper 主要是用于提供基本的 CRUD(创建、读取、更新、删除)操作的接口定义。它是 MyBatis-Plus 框架中的一个重要组成部分,可以大大简化基于 MyBatis 的数据访问层代码的编写。insert:插入一条记录到数据库中。deleteById:根据主键 ID 删除一条记录。updateById:根据主键 ID 更新一条记录。selectById:根据主键 ID 查询一条记录。selectList:查询所有符合条件的记录列表。

2024-03-06 15:56:26 3182

原创 【知识点】程序存储器、指令寄存器、程序计数器、地址寄存器有什么区别?都是干什么的?

总的来说,程序存储器用于存储程序和数据,指令寄存器用于存储当前执行的指令,程序计数器用于跟踪程序的执行位置,而地址寄存器用于存储地址信息。程序计数器:程序计数器是CPU中的另一个特殊寄存器,用于存储当前正在执行的指令的地址或位置。它用于跟踪程序的执行位置,每当一条指令被执行完毕,程序计数器会自动递增以指向下一条指令的地址。程序存储器是计算机中存储程序和数据的主要地方,它们被CPU读取并执行。在整个执行过程中,这些寄存器相互配合,确保程序按照预期顺序执行,并且正确地从内存中读取数据和写入数据。

2024-03-05 09:35:05 1026

原创 【架构】五大常见架构模式,集中式架构、分布式架构、面向服务的系统架构、微服务架构等区别详解

​​​​​​​​分布式架构比集中式架构更加模块化,允许相对容易地添加其他服务器,并能为特定用户添加具有特定功能的客户端,从而提供更大的灵活性和多中心化的组织治理机制,这有可能令架构决策与组织治理目标更协调。微服务架构可以看作是面向服务架构的一种实现方式,它强调了**更小、更自治**的服务单元,并且通常与现代的云原生技术结合使用,以支持敏捷开发和部署。

2024-03-04 14:29:12 1601

原创 【划重点】【软考-高级软件工程师-信息系统项目管理师】 第四章 信息系统管理

钻石模型将组织计划的关键组成部分标识为其信息与控制、人员、结构和任务,所有组件都是相互关联的。现在使用一个基本的矩阵框架来理解组织必须做出的与信息系统相关的决策,如表 4-1。设计和实施:针对信息系统解决方案的定义、采购和实施,以及他们与业务流程的整合。突出了业务战略、信息系统和组织机制之间的必要一致性,如图 4-2。运维和服务:针对信息系统服务的运行交付和支持,包括安全。规划和组织:针对信息系统的整体组织、战略和支持活动。@专注差异化,寻求细分市场内的产品或服务的差异化。信息系统支撑组织实施其业务战略。

2024-03-01 16:12:25 172

原创 【划重点】【软考-高级软件工程师-信息系统项目管理师】 第二章 信息系统治理知识点

软件定义网络(SoftwareSDN)是一种新型网络创新架构,是网络虚拟化的一种实现方式,它可通过软件编程的形式定义和控制网络.将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络变得更加智能,为核心网络及应用的创新提供了良好的平台。SDN的整体架构由下到上(由南到北)分为数据平面控制平面和应用平面,具体如2-1 所示。其中,数据平面由交换机等网络通用硬件组成,各个网络设备之间通过不同规则形成的 SDN数据通路连接;控制平面包含了逻辑上为中心的。

2024-02-29 17:45:28 730

原创 【五分钟看懂】【软考-高级软件工程师-信息系统项目管理师】 第三章 信息系统治理知识点

管理体系包括质量管理、项目管理、投资管理、服务管理、业务连续性管理、信息安全管理、风险管理、供方管理、资产管理和其他管理;资源包括 基础设施、应用系统和数据。:业务和 IT 在治理委员会中的构成、组织 IT 与各分支机构的 IT 权责边界等;务管理、业务连续性管理、信息安全管理、风险管理、供方管理、资产管理和其他管理;治理实施的方法论,包括统筹和规划、构建 和运行、监督和评估、改进和优化。管理体系治理域包含信息技术相关的质量管理、项目管理、投资管理、服。个人和组织的文化、道德和行为作为治理和管理活动的成。

2024-02-28 15:44:40 797

原创 【JAVA】《接口,抽象方法,抽象类 》之四 、开发实践

首先定义一个接口,其中包含一个抽象方。这种设计模式的应用场景是在需要一种默认的行为,但这种行为又可能因为不同的子类而不同的情况下。**抽象类提供了一个默认的行为实现**,**同时通过接口定义了子类必须实现的抽象方法**,**而具体的实现则由子类完成**。这样一来,所有的子类都可以通过继承抽象类来获得默认的行为,同时又能够自由地实现接口定义的抽象方法。

2024-02-20 14:20:09 1286 1

原创 【JAVA】《接口,抽象方法,抽象类 》之二 、抽象方法详解

接口中的方法通常都是抽象方法,但自从 Java 8 开始,接口也可以包含默认方法(Default Method)和静态方法(Static Method)。如果一个类继承了抽象类或实现了接口,并且其中包含抽象方法,**那么子类必须实现这些抽象方法,除非子类自己也声明为抽象类。类分别实现了该方法,提供了自己的面积计算逻辑。这样,无论是圆还是矩形,都可以通过统一的方法来计算它们的面积。在编写代码时,应该根据具体的需求和设计原则来合理使用抽象方法,确保代码的清晰、可读和易于维护。抽象方法不能是私有的或静态的。

2024-02-20 11:27:24 647

原创 【java】《接口,抽象方法,抽象类 》之一、接口详解

当一个接口被多个类实现时,如何确定使用的是哪个类的方法实现体,通常取决于调用方选择的对象类型。在 Java 中,方法的具体实现取决于对象的运行时类型(而不是编译时类型),这就是动态绑定(Dynamic Binding)的概念。接口定义了一组方法的签名,但没有提供方法的实现。类可以实现(implement)接口,从而承诺提供接口中定义的方法的实现。如果一个类继承了抽象类或实现了接口,并且其中包含抽象方法,那么子类必须实现这些抽象方法,2.6、使用抽象方法的注意事项。方法,实现了多态的应用。

2024-02-20 11:25:03 854

原创 【JAVA】《接口,抽象方法,抽象类 》之三 、抽象类详解

抽象类通常包含抽象方法,这些方法没有具体的实现,而是留给子类来实现。抽象类提供了一种抽象的、规范性的概念,用于表示一组类共同的特征和行为。如果一个类继承了抽象类或实现了接口,并且其中包含抽象方法,那么子类必须实现这些抽象方法,2.6、使用抽象方法的注意事项。抽象类是一种特殊的类,它。下面介绍一下抽象类。2.1、抽象方法概念。

2024-02-20 11:20:01 845

原创 【数据库】数据库模式有哪些?举例说明。

将对象的概念引入数据库设计中,通过对象、类、继承、多态等概念来组织和管理数据。常见的数据库模式包括关系模式、文档模式、图模式等。每种数据库模式都有其适用的场景和优缺点,选择合适的数据库模式需要综合考虑数据的结构、访问模式、性能要求以及团队的技术能力等因素。这种模式简单直接,适用于简单的应用场景,但不利于数据的组织和管理。使用关系型数据库管理系统(RDBMS)存储数据,通过**表、列和关系(主键、外键)**来组织和管理数据。使用文档数据库存储数据,数据以文档的形式组织,通常使用JSON、XML等格式。

2024-02-19 16:47:12 1139

原创 【JAVA】 ? super T 和 ? extends T的区别

举个例子:你有一个只能装水果的小箱子,但是你并不知道具体装的是什么水果,只知道它是水果或者水果的子类,比如水果盒子里可能有苹果、橘子或者其他水果。extends T 的作用。extends T: 这次,你有一个小箱子,你可以从中取出 T 类型的东西,或者 T 类型的子类的东西。: 想象一下你有一个大箱子,你可以往里面放入 T 类型的东西,或者 T 类型的父类的东西。举个例子:你有一个可以装水果的箱子,但是你并不知道具体装的是什么水果,只知道它是水果或者水果的父类,比如水果篮子可以装苹果、香蕉或者其他水果。

2024-02-19 15:15:50 669

原创 【JAVA】java泛型 详解

这意味着在运行时,泛型类型的信息会被擦除,而泛型参数会被替换为其边界类型或 Object 类型。,但在编译后的字节码中,泛型类型信息会被擦除,使得所有类型参数都被替换为它们的擦除类型。尽管类型擦除在一定程度上降低了泛型的灵活性,但它确保了与之前版本的兼容性,并且使得泛型代码能够在不同版本的 Java 中正常运行。类型参数可以在方法的返回类型之前声明,并在方法调用时指定具体的类型。参数化类型是一种在类、接口或方法中使用的类型,它可以接受一个或多个类型参数。类的实例时,可以指定具体的类型,例如。

2024-02-19 11:24:39 785

原创 【JAVA】泛型,泛型变量,通配符 <?> ,原理及应用详解

它可以用在泛型声明中,允许声明一个参数化类型的引用,但不具体指定参数的类型。这种用法可以使得代码更加灵活,可以处理多种类型的参数。通过这种方式,我们可以在不改变 Main 类的代码的情况下,根据不同的需求动态地传入不同类型的处理器,实现更高的灵活性和复用性。泛型是 Java 中一种强大的特性,它允许在编写类、接口和方法时使用参数化类型,使得代码可以更加灵活、通用和类型安全。可以应用于软件设计的各个方面,提供灵活性、通用性和类型安全性,使得代码更加易于维护和扩展。,分别处理字符串和整数类型的输入。

2024-02-19 10:29:46 1086

原创 【日志】MDC 一个Java 项目中用于日志跟踪的工具

MDC 是一个在 Java 项目中用于日志跟踪的工具,它允许你在多线程环境下关联和传递特定的上下文信息。

2024-02-18 14:22:58 1201

原创 【JAVA】List.addAll 详解

本篇文章介绍了方法的基本语法、返回值、使用方法及注意事项。通过本文的介绍,相信大家已经对于该方法的使用有了一定的了解和掌握。

2024-02-18 10:26:04 2175

原创 【JAVA】ReentrantLock 显式锁定的类

是 Java 中用于进行显式锁定的类,它提供了与关键字类似的互斥性和可重入性,但相比于,它提供了更灵活的锁定方式。下面对。

2024-02-02 18:32:57 821

原创 【JAVA】CopyOnWriterArrayList 详解

这样,读操作可以直接访问原始数据而不需要加锁,提高了读操作的性能,但写操作的性能相对较低。

2024-02-02 17:28:09 1043

原创 【Linux命令】linux命令,tail 查看文件的内容

tail 命令可用于显示文件末尾内容的命令,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

2024-02-01 20:54:38 236

原创 【MyBatis】MyBatis是什么?作用?怎么实现?

要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于类路径(classpath)中即可。这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置。设置好的属性可以在整个配置文件中用来替换需要动态配置的属性值。

2024-02-01 20:05:38 624

原创 【VUE】vue生命周期,实例挂载详细解析,流程,代码实例

在 Vue.js 中,挂载是指将 Vue 实例连接到一个 DOM 元素上,使其能够管理该元素及其子元素,整个流程如上图所示。的 DOM 元素上。这是因为 Vue 实例的生命周期钩子在各个阶段被触发,依次执行了。// 手动挂载到 id 为 "app" 的 DOM 元素上。这样,Vue 实例就会在创建时自动挂载到指定的元素上。// beforeCreate 钩子。// beforeMount 钩子。手动将 Vue 实例挂载到了。// created 钩子。// mounted 钩子。

2024-01-26 10:53:26 185

原创 【VUE】v-if 和 v-show 大详解(多角度分析+面试简答版)

v-if与v-show都能控制dom元素在页面的显示v-if相比v-show开销更大的(直接操作dom节点增加与删除)如果需要非常频繁地切换,则使用v-show较好如果在运行时条件很少改变,则使用v-if较好。

2024-01-26 09:45:48 272

空空如也

空空如也

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

TA关注的人

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