- 博客(731)
- 资源 (2)
- 收藏
- 关注
原创 设计模式基础概念(行为模式):观察者模式(Observer)
我们可以发现这样一个场景:如果你订阅了一份杂志或报纸, 那就不需要再去报摊查询新出版的刊物了。观察者模式(Observer)是一种行为设计模式, 允许你定义一种订阅机制, 可在对象事件发生时通知多个 “观察” 该对象的其他对象。其具体的结构如下当一个对象状态的改变需要改变其他对象, 或实际对象是事先未知的或动态变化的时, 可使用观察者模式。当应用中的一些对象必须观察其他对象时, 可使用该模式。 但。应用示例: 观察者模式在 Java 代码中很常见, 特别是在 GUI 组件中。 它提供了在不与其他对象所属类
2025-04-23 03:28:23
397
原创 java及mysql日期问题
优先使用 java.time:在Java 8+中,应优先使用 java.time.LocalDate、LocalTime、LocalDateTime。兼容旧代码:若需与遗留代码或旧JDBC驱动交互,使用 java.sql.Date/Time/Timestamp。避免混用:不要将 java.util.Date 和 java.sql.Date 混用,它们的语义不同。类父类用途时间精度时区处理无通用日期时间(含日期和时间)毫秒无时区(依赖JVM默认)
2025-04-21 17:16:06
819
原创 JAVA的泛型
Java 泛型通过**类型擦除(Type Erasure)**实现,编译后泛型信息会被擦除,替换为原始类型(如 Object)或边界类型。泛型接口的边界控制:通过 extends 或 super 约束泛型类型,增强安全性。泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型)通用数据存储接口:定义一个泛型接口用于存储和检索不同类型的数据。示例:限制类型为数值类型。
2025-04-19 19:05:12
770
原创 序列化和反序列化
Java类通过实现java.io.Serialization接口来启用序列化功能,未实现此接口的类将无法将其任何状态或者信息进行序列化或者反序列化。
2025-04-19 18:06:31
876
原创 设计模式基础概念(行为模式):责任链模式(Chain Of Responsibility)
是一种行为设计模式, 允许你。收到请求后,。该模式建议你将这些处理者连成一条链。链上的。除了处理请求外, 处理者还负责沿着链传递请求。请求会在链上移动, 直至所有处理者都有机会对其进行处理。
2024-10-27 20:45:07
946
1
原创 Pair的基本概念
实例化:实例化时可以使用MutablePair(可变二元组)和ImmutablePair(不可变二元组),一个可变,一个不可变。
2024-10-20 18:08:58
938
原创 三大编程思想(POP、OOP、AOP、FOP)及oop 五大设计原则
POP:面向过程编程(Procedure Oriented Programming)OOP:面向对象编程(Object Oriented Programming)AOP:面向切面编程(Aspect Oriented Programming)FOP:面向函数式编程(Functional Oriented Programming)
2024-10-19 22:01:56
1741
原创 限流是什么?如何限流?怎么限流?
上述方式使用RateLimiter的方式不够优雅,尽管我们可以把RateLimiter的逻辑包在service里面,controller直接调用即可,但是如果我们换成:自定义注解+切面 的方式实现的话,会优雅的多如何自定义注解?/*** 自定义注解可以不包含属性,成为一个标识注解*/@Inherited/*** 资源的key,唯一* 作用:不同的接口,不同的流量控制*//*** 最多的访问限制次数*//*** 获取令牌最大等待时间*//**
2024-10-17 22:44:09
2357
原创 设计模式基础概念(结构型模式):装饰模式 (Decorator)
是一种结构型设计模式, 允许你通过将对象放入包含行为的特殊封装对象中来为原对象绑定新的行为。
2024-09-26 21:53:35
916
原创 一篇博客搞懂spring.factories的基本概念和使用
spring.factories 是,用于定义和加载 Spring Boot 自动配置类、监听器、环境后处理器等。它通常位于 META-INF 目录下。
2024-08-07 00:47:32
3980
原创 自定义注解基本概念和使用
interface用来声明一个注解,其中的每一个方法实际上是声明了一个配置参数方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum)可以通过default来声明参数的默认值。语义清晰:自定义注解可以使代码的意图更加明确和可读。例如,使用 @Transactional 注解可以清晰地表明某个方法需要事务支持,而不需要查看AOP配置或切面代码。简化配置:可以简化配置,减少样板代码。
2024-08-06 23:49:13
921
原创 try-catch-finally-return的执行顺序和try-with-resource语法糖
总结如下几条情况·try-catch-finally都有return语句时,没有异常时,返回值是finally中的return返回的·。try-catch都有return语句时,没有异常时,返回值是try中的return返回的try块中抛出异常,try、catch和finally中都有return语句,返回值是finally中的return。try块中抛出异常,try和catch中都有return语句,返回的catch中return值。
2024-05-08 06:15:00
1854
2
原创 @Transactional 注解和事务的使用、失效情况
针对隔离性的强度,共有以下事务提交之后事务还没有提交能被其他的事务看到因此,有下述三个事务的隔离级别脏读不可重复读幻读不可重复读的和幻读很容易混淆,不可重复读侧重于修改幻读侧重于新增或删除。解决不可重复读的问题只需锁住满足条件的行,解决幻读需要锁表。
2024-05-05 19:40:04
1782
2
原创 Postman常见报错与解决方法,持续更新~
如果 Postman 无法发送你的请求,或者如果它没有收到你发送请求的 API 的响应,你将收到一条错误消息。此消息将包含问题概述和指向控制台的链接,你可以在其中访问有关请求的详细信息。选择“在控制台中查看”以检查控制台中的请求详细信息,并了解有关出错原因的更多信息。通过上述步骤执行还不成功的话,则将postman关闭后(进程杀死),重新打开。首先,打开设置,将下面选中的关闭,按下图所示。我在重新打开后,便可以成功进行接口请求了。基本情况如下,一直在这个页面停留。
2023-11-11 17:29:21
10818
1
原创 java的几种对象: PO,VO,DAO,BO,POJO
要知道这个对象是什么O,要看具体的使用环境,在不同的层、不同的应用场合,对象的身份也不一样,而且对象身份的转化也是很自然的。以自己的角色举例,你在不同的关系中处于不同的角色:哥哥、弟弟…在开发中,常使用 BeanUtils.copyProperties() 进行PO,VO,DTO等对象的复制和转换。
2023-11-05 06:15:00
1938
原创 Linux命令:查看(PS)/杀死(kill)进程常用操和说明
ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器可以搭配kill指令随时中断、删除不必要的程序。
2023-11-04 15:55:09
3726
原创 postman打开后,以前的接口记录不在,问题解决
比如,你目前使用的window登录用户是abc,那么地址便是。选择最新的文件,在postman中,import即可。打开后,这个目录下会有一些命名为。
2023-10-22 06:15:00
9487
原创 mybatis中#{ }和${ }的区别
{ }直接的 字符串 替换,在mybatis的动态 SQL 解析阶段将会进行变量替换。#{ }通过预编译,用占位符的方式?传值可以把一些特殊的字符进行转义,这样可以防止一些sql注入。
2023-08-29 06:15:00
1390
原创 mysql和mybatisPlus实现:datetime类型的字段范围查询
数据库在存储数据时,我们为了精确一下时间,便会把改时间类型的字段设置为datetime类型;在过滤数据库数据时,我们又需要对该字段进行一个范围的过滤由此,便出现了这篇博客。
2023-08-28 19:02:14
4305
原创 在idea上使用git的reset操作后,出现的四个选项Soft、Mixed、Hard、Keep选择说明
在选定提交点之后所做的所有更改都将被暂存(这意味着可以到 Version Control 窗口(Alt+9)的Local Changes 选项卡,以便您可以查看它们,并在必要时稍后提交)。Mixed:在所选提交之后所做的更改将被保留,但不会暂存这个reset的几笔commit过程中新增的文件。在所选提交之后所做的所有更改都将被丢弃(已暂存的和已提交的)。在选定的提交之后所做的提交更改将被丢弃,但本地更改将保持不变如果需要丢弃之前所有内容。
2023-08-26 06:15:00
3014
原创 URI、URL、URIBuilder、UriBuilder、UriComponentsBuilder说明及基本使用
URIBuilder主要用于构造URI。
2023-08-25 06:15:00
2093
原创 证书链及java代码获取服务器证书
HTTPS/SSL证书是由权威CA(Certificate Authority)机构颁发主要用于服务器(应用)数据传输链路加密和身份认证,以及绑定网站域名,主要有如下几种证书EV SSL证书(Extended Validation SSL)OV SSL证书(Organization Validation SSL)DV SSL证书(Domain Validation SSL)不同的证书类型在浏览器标识上会享受不同的待遇。
2023-08-21 06:15:00
2508
1
原创 Date、LocalDateTime、LocalDate、LocalTime使用及相互转换
关于Date的使用这里就不赘述了,着重说明后面三者及转换和特点。
2023-08-20 11:57:27
1595
原创 vue + axios + promise:进行接口请求。post请求提交数据的三种方式
这三种状态不受外界影响,而且状态只能从pending改变为resolved或者rejected,并且不可逆pending: 等待中,或者进行中,表示还没有得到结果resolved: 已经完成,表示得到了我们想要的结果,可以继续往下执行rejected: 也表示得到结果,但是由于结果并非我们所愿,因此拒绝执(用catch捕获异常)不管是then或者catch返回的都是一个新的Promise实例!
2023-05-31 06:15:00
3550
原创 vue 使用v-if切换输入框时,导致输入框的数据内容没有清空
如果是对加了表单验证的元素进行显示隐藏,当使用 v-show 时,元素隐藏了,但是表单验证依旧存在,valid 永远返回 false。,那便是:添加一个具有唯一值的 key 属性。如果代码中使用上述的进行输入框的切换,由此,vue提供一种方式来表示。
2023-05-30 06:15:00
1999
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人