自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 记一次数据库DDL与DML,ONLINE DDL

DDL(Data Definition Language,数据定义语言)和DML(Data Manipulation Language,数据操纵语言)是SQL语言中的两个子集,它们用于执行不同类型的数据库操作。DDL(数据定义语言):DML(数据操纵语言):Online DDL 是 MySQL 5.6 及更高版本中引入的一个特性,允许对表进行某些DDL操作而不完全阻塞对该表的读取和写入。这提高了数据库的可用性,因为在执行诸如、、等操作时,表仍然可以对用户部分可用。下面是一个使用Online DDL 修改表结

2023-12-29 11:24:09 795

原创 记一次函数式编程

函数式编程(Functional Programming,FP)是一种编程范式,它将计算视为数学函数的评估,并避免改变状态和可变数据。在Java中,函数式编程的支持是在Java 8中引入的,主要通过Lambda表达式、函数接口和Stream API来实现的。

2023-12-27 18:19:06 825

原创 记一次列式存储概念和理解

例如,如果一列中有许多重复的字符串值,每个唯一的字符串值都会在一个“字典”或“查找表”中分配一个唯一的整数。: 这是最简单的关联机制。每列数据都是独立存储的,但是每一行的数据在每一列中的位置是相同的。在列式存储数据库中,虽然数据是按列存储的,但每列数据通常都会有一个隐含或显式的“行号”或“位置索引”来表示记录在原始表中的行位置。: 在这种机制中,数据库存储额外的信息来描述数据列的结构,包括有关行号的信息。: Cassandra是一个高性能的分布式数据库,它提供了列族存储的功能,允许存储大量数据。

2023-12-27 15:36:56 780

原创 记一次EventBus使用

EventBus是一个发布/订阅(Pub/Sub)事件分发模式的库,它简化了应用程序内不同组件之间的通信,允许事件的发送者和接收者解耦。EventBus的实现通常是在内存中的,因此它用于同一应用程序或同一进程内的组件间通信。总的来说,EventBus是一种便捷的设计模式的实现,它通过提供一个中央机制来分发事件,帮助应用程序组件保持清晰和灵活的组织结构。:EventBus通常支持事件继承,即如果一个事件被发布,那么这个事件的所有父类型也将匹配该事件的订阅者方法。会自动调用所有注册了该类型事件的处理器方法。

2023-12-19 11:14:03 646

原创 记一次设计模式复习

创建一系列相关或相互依赖的对象,而无需指定它们具体的类。

2023-12-18 16:32:53 913

原创 记一次垃圾回收器

GC(垃圾回收)Root是指在垃圾回收过程中被直接引用的对象,作为垃圾回收的起点。GC Root对象是保持活动对象的根集合,如果一个对象不被任何GC Root对象直接或间接引用,那么它将被判定为垃圾并进行回收。理解GC Root的概念对于理解垃圾回收的机制和避免内存泄漏非常重要。这些GC Root对象形成一个引用链,通过这些引用链可以追溯到所有活动对象,而无法被引用链追溯到的对象则会被判定为垃圾并被回收。不同的垃圾回收器在 Java 中作用于不同的分代区。在 Java 中,有几种常见的垃圾回收器。

2023-12-14 17:12:17 26

原创 记一次序列化知识点

使用稳定的序列化方案:如果字段顺序不一致是由于类定义的变化导致的,可以使用稳定的序列化方案,如使用 serialVersionUID 显式指定序列化版本号,避免类定义的变化影响序列化和反序列化。使用更稳定的序列化协议:如果字段顺序可能经常变化,可以考虑使用更稳定的序列化协议,如 Protobuf,它使用字段的唯一标识符进行序列化和反序列化,而不依赖于字段的顺序。在反序列化时,按照相同的规则将字节流转换回对象。显式指定字段顺序:在序列化和反序列化的代码中,可以显式地指定字段的顺序,确保读取和写入的顺序一致。

2023-12-13 16:33:24 31

原创 记一次线程池创建

当任务数量超过核心线程池的容量时,会先放入阻塞队列中,阻塞队列打满后,线程池会创建新的线程,直到达到最大线程池的容量。它提供了一组线程,用于执行提交的任务,以减少线程的创建和销毁开销,并提高应用程序的性能和资源利用率。当线程池的线程都在执行任务时,新提交的任务会被存储在任务队列中等待执行。它按照先进先出(FIFO)的顺序存储任务,当队列已满时,新的任务将被阻塞,直到有空间可用。方法,你可以设置线程的优先级。:当线程池无法接受新任务时,丢弃队列中最旧的任务(即等待时间最长的任务),然后尝试将新任务加入队列。

2023-12-05 14:14:49 20

原创 记一次DDD理论复习

它是一种将领域模型独立于技术实现细节的架构风格,主要目的是促进领域模型的可测试性、可扩展性和可维护性。4. 高内聚低耦合:通过将领域模型与技术实现解耦,六边形架构能够使系统模块之间的依赖关系更清晰,提高系统的内聚性和可维护性。总之,六边形架构是一种将领域模型独立于技术实现的架构风格,通过定义清晰的边界和职责,使系统更易于测试、扩展和维护。六边形架构是一种用于实现领域驱动设计(DDD)的架构模式,它通过将系统分为不同的层和角色来实现高内聚、低耦合的设计。领域模型定义了业务规则和行为,是应用程序的核心。

2023-11-30 11:13:08 343

原创 记一次复习JVM相关知识

常见的类加载器有启动类加载器(Bootstrap ClassLoader)、扩展类加载器(Extension ClassLoader)和应用程序类加载器(Application ClassLoader)。类和元数据的回收:在永久代中,当一个类不再被使用时,由于永久代无法进行垃圾回收,这些无用的类的元数据会一直占用内存。而在元空间中,当一个类不再被使用时,其对应的类的元数据可以被垃圾回收,从而释放内存。类和元数据存储方式:永久代使用JVM内部的数据结构来存储类的元数据,而元空间使用本地内存来存储类的元数据。

2023-11-29 19:42:12 24

原创 记一次AOP获取当前代理类

除了需要使用代理类调用事务方法还需要添加相关配置。在开发中经常遇见,需要包一下事务代码块如图下。-- aop动态代理 -->String配置类中也需要开启。

2023-10-25 13:46:47 79

原创 记一次配置文件占位符读取不到问题

可以通过@spring.profiles.active@或者${spring.profiles.active}进行替换配置文件。porperties文件中占位符可以通过Spring和Maven两种方式进行替换内容。@XXX@ or ${XXX} 两种方式进行替换成pom文件中的配置。最重要的来了 需要再pom中再新增个配置就可以读取到了。通过Pom替换占位符可以通过。

2023-10-17 15:18:06 99

原创 记一次maven打包日志

但通过maven编译后,配置文件所存放的路径是不需要profile的,直接打在classPath下就可以。所以就可以通过maven打包的方式,把配置文件直接打包到classPath下。有一种方式为在根Pom节点下的 下新增配置。通过这种方式把local下配置文件直接打到classPath下。一般配置文件都是根据profile进行区分。

2023-10-17 14:08:44 134

空空如也

空空如也

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

TA关注的人

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