自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 资源 (1)
  • 收藏
  • 关注

原创 skywalking+mysql配置

skywalking+mysql配置应项目要求,需要使用skywalking+mysql进行监控, 我自己打算先在本地熟悉一下skywalking的使用, 所以在本地搭建测试, 亲测有效, 所以写这篇博客记录一下, 也希望如果有需要的人看到了能有帮助, 关于skywalking的详细说明这里不多赘述, 详细请查看官方文档说明skywalking官方文档, 另外这篇文章本着能让大家看懂和使用, ...

2019-10-21 16:22:32 11564 11

转载 Spring 提供的@Valid

使用 @Valid 进行参数效验步骤:整个过程如下,用户访问接口,然后进行参数效验,因为 @Valid 不支持平面的参数效验(直接写在参数中字段的效验)所以基于 GET 请求的参数还是按照原先方式进行效验,而 POST 则可以以实体对象为参数,可以使用 @Valid 方式进行效验。@Valid 注解的作用:@Valid 的主要作用是用于数据效验,可以在定义的实体中的属性上,添加不同的注解来完成不同的校验规则,而在接口类中的接收数据参数中添加 @valid 注解,这时你的实体将会开启一个校验的功能。

2024-09-23 16:16:21 21

原创 kotlin标准库函数使用场景(let、run、with、apply、also)

Kotlin 标准库提供了一些非常有用的扩展函数,如 let, run, with, apply, also 等,这些函数通常被用作接收一个对象并以某种方式处理它。它们的主要目的是为了使代码更加简洁和易读。下面来说明这些函数的一些常见使用场景。let:通常用于处理可能为 null 的对象,只有当对象非 null 时才执行某些操作。run:适用于需要返回一个结果的操作,并且可以改变上下文对象的状态。with:通常用于简化代码,避免多次引用同一个对象。

2024-08-29 08:28:55 460

转载 SpringBoot的条件装配

在实际的项目开发中,我们往往需要根据不同的环境做出不同的配置,例如:在开发环境下,我们会使用内存数据库以便快速启动服务并进行开发调试,在test环境、生产环境,会使用对应环境的数据库。如果我们的应用程序可以根据自身的环境做一些这样的适配,那么我们的程序开发无疑将更加灵活、高效。在过去的应用程序开发中,我们常常会将这些环境变量写在某个指定的配置文件中,每次服务器启动的时候,会读取服务器中指定的配置文件,从而实现根据不同的环境,应用程序能做出对应的适配。

2024-08-28 08:35:13 25

原创 EasyExcel-读Excel-不创建对象的读-合并单元格的处理

EasyExcel-读excel-合并单元格的数据处理

2024-08-09 16:37:12 944

原创 Maven实战-灵活的构建

Maven灵活的构建,包括 Maven属性、资源过滤 以及 Profile

2024-08-02 17:47:47 660

原创 Maven实战.插件

除了内置绑定以外,用户还能够自己选择将某个插件目标绑定到生命周期的某个阶段上,这种自定义绑定方式能让 Maven 项目在构建过程中执行更多更富特色的任务。一个常见的例子是创建项目的源码 jar 包,内置的插件绑定关系中并没有涉及这一任务,因此需要用户自行配置。

2024-07-31 15:32:40 915

原创 Maven实战.依赖(依赖范围、传递性依赖、依赖调解、可选依赖等)

依赖的配置、依赖范围、传递性依赖、依赖调解、可选依赖

2024-07-30 16:28:43 928

原创 Kotlin编程实践-【解决多继承问题】

继承与实现是面向对象程序设计中不变的主题。众所周知,Java是不支持类的多继承的,Kotlin亦是如此。多继承的需求经常会出现,然而类的多继承方式会导致继承关系上语义的混淆。这里我们会展示如何通过Kotlin的语法来设计多种不同的多继承解决方案。

2024-06-28 14:00:18 384

原创 Kotlin编程实践-【Java如何调用Kotlin中带默认值参数的函数】

如果你有一个带有默认参数值的 Kotlin 函数,如何从 Java 调用它而无须为每个参数显式指定值?

2024-06-15 10:23:39 937 2

原创 【Kotlin实战】-Kotlin基础

参考书籍【Kotlin实战】进行的知识点记录,仅作参考,不做教程。怎样写一个属性访问器的自定义实现。假设声明这样一个矩形,它能判断自己是否是正方形。// 定义类中的属性// 自定义属性的getter访问器get() {属性isSquare不需要字段来保存它的值。它只有一个自定义实现的getter。它的值是每次访问属性的时候计算出来的。注意,不需要使用带花括号的完整语法,也可以这样写get()=height==width。

2024-05-29 09:59:44 1069

原创 Kotlin核心编程知识点-03-类型系统

我们发现,Kotlin 中并没有 int、float、double、long 这样的原始类型,取而代之的是它们对应的引用类型包装类Int、Float、Double、Long。与 Java 不同的是,Kotlin 不区分“原始类型”(primitive type)和其他的类型,它们都是同一类型层级结构的一部分。如果你为定义的新类型指定了父类型,则该父类型将是新类型的直接父类型,但是新类型的最终根类型为 Any。如果你的类型实现了多个接口,那么它将具有多个直接的父类型,而 Any 同样是最终的根类型。

2024-05-29 09:58:38 779

原创 入门Kotlin的学习之路经验总结

Kotlin入门书籍推荐

2024-05-22 17:02:57 252

原创 Kotlin核心编程知识点-02-面向对象

伴生对象顾名思义,“伴生”是相较于一个类而言的,意为伴随某个类的对象,它属于这个类所有,因此伴生对象跟 Java 中 static 修饰效果性质一样,全局只有一个单例。它需要声明在类的内部,在类被装载时会被初始化。在 Java 中,一个类中可以同时存在静态变量、静态方法、普通变量、普通方法的声明。然而,静态变量和静态方法是属于一个类的,普通变量、普通方法是属于一个具体对象的。虽然有 static 作为区分,但在代码结构上职能并不是区分得很清晰。

2024-05-16 08:59:06 982

原创 Kotlin核心编程知识点-01-基础语法

简单的知识点记录而已,参考书籍《Kotlin核心编程》

2024-05-14 10:43:23 866 2

原创 深入浅出MySQL-07-【开发常用数据库对象】

环境:Windows11视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单地实现。

2024-04-29 15:01:44 833

原创 深入浅出MySQL-06-【索引的设计和使用】

Windows11所有MySQL列类型都可以被索引,对相关列使用索引是提高SELECT操作性能的最佳途径。根据存储引擎可以定义每个表的最大索引数和最大索引长度,每种存储引擎(如MyISAM、InnoDB、BDB、MEMORY等)对每个表至少支持16个索引,总索引长度至少为256字节。大多数存储引擎有更高的限制。MyISAM 和InnoDB存储引擎的表默认创建的都是BTREE索引。

2024-04-28 16:16:51 658 2

原创 深入浅出MySQL-05-【OPTIMIZE TABLE】

OPTIMIZE TABLE 是 MySQL 中的一个命令,用于优化表的存储。当 MySQL 表的存储空间由于删除或更新操作而变得不连续时,OPTIMIZE TABLE 可以帮助重新组织表数据和索引,以恢复未使用的空间并提高效率。

2024-04-28 13:48:25 630

原创 深入浅出MySQL-04-【常用函数】

【代码】深入浅出MySQL-04-【常用函数】

2024-04-24 15:38:50 646 3

原创 深入浅出MySQL-03-【MySQL中的运算符】

MySQL支持多种类型的运算符,可以用来连接表达式的项。运算符的类型主要包括 算术运算符、比较运算符、逻辑运算符 和 位运算符。

2024-04-24 14:09:51 1016

原创 深入浅出MySQL-02-【MySQL支持的数据类型】

json数据类型对于大小写是敏感的(因为json的默认排序规则是utf8mb4_bin),‘x’和‘X’是不同的两个json数据,常见的null、true、false必须是小写的才合法。浮点数 和 定点数,类型后面的 (M,D),表示该数值一共显示M位数字(整数位+小数位),D表示精度,也就是几位小数。注意:我自己测试的,应该是数据库版本问题,int类型不指定宽度,默认是 int(10) 的宽度,下面的测试也可以看出。仔细看上图,插入的时候依然返回了警告,同上上图中的警告是一样的,id3的值被截断。

2024-04-23 17:01:30 1517

原创 深入浅出MySQL-01-【SQL基础】

MySQL的SQL基础命令知识点记录

2024-04-23 11:01:27 784

原创 Groovy程序设计-【第一部分Groovy起步】-02-面向Java开发者的Groovy

知识点记录来源于【Groovy程序设计】一书中,本文仅作知识点记录供日后使用查询,不做教程使用。groovy支持java语法,并且保留了java的语义,所以我们可以随心所欲的。

2024-04-17 15:23:25 1178

原创 Groovy程序设计-【第一部分Groovy起步】-01-起步

知识点记录来源于【Groovy程序设计】一书中,本文仅作知识点记录供日后使用查询,不做教程使用。

2024-04-15 15:23:47 344

原创 Mybatis Plus代码生成code

【代码】Mybatis Plus代码生成code。

2024-03-15 09:45:43 387

转载 Spring Boot中优雅的进行参数校验

在平时的开发工作中,我们通常需要对接口进行参数格式验证。当参数个数较少(个数小于3)时,可以使用if … else …手动进行参数验证。当参数个数大于3个时,使用if … else …进行参数验证就会让代码显得臃肿,这个时候推荐使用注解来进行参数验证。

2023-12-15 13:31:31 411

转载 彻底搞懂线程池?【下】

正如上文所说,其中()和()方法同时还支持获取任务执行完毕的返回结果。针对线程池的使用,Java 还提供了Executors工具类,开发者可以通过此工具,快速创建不同类型的线程池。下面我们一起来看下Executors为用户提供的几种创建线程池的方法。

2023-12-12 10:47:58 100

转载 彻底搞懂线程池?【上】

虽然 Java 对线程的创建、中断、等待、通知、销毁、同步等功能提供了很多的支持,但是从操作系统角度来说,频繁的创建线程和销毁线程,其实是需要大量的时间和资源的。例如,当有多个任务同时需要处理的时候,一个任务对应一个线程来执行,以此来提升任务的执行效率,模型图如下:线程数不可控:随着任务数的增多,线程数也会增多,这些线程都没办法进行统一管理系统的开销很大:创建线程对系统来说开销很高,随着线程数也会增多,可能会出现系统资源紧张的问题,严重的情况系统可能直接死机。

2023-12-12 10:25:10 100

原创 【MySQL】查找IN语句在表中不存在的值

转载:https://blog.csdn.net/Galadridel/article/details/105101080。另有一批数据如:‘张三’,‘李四’,‘赵六’,要找出这批数据中有哪些是在表(T_NAME_INFO)里不存在的。查询in在表里不存在的值,从in列表中获取表中不存在的记录,IN语句在表中不存在的值,查找数据库中不存在的记录。SELECT ‘赵六’ AA FROM DUAL) WHERE AA NOT IN(将数据转换成临时表数据,然后和T_NAME_INFO里的值进行比较;

2023-10-08 15:31:52 598

转载 Git日常使用reset --soft

而git reset --soft的作用正如其名,–soft(柔软的) 除了回溯节点外,还会保留节点的修改内容。以上说的是还未 push 的commit。对于已经 push 的 commit,也可以使用该命令,不过再次 push 时,由于远程分支和本地分支有差异,需要强制推送git push -f来覆盖被 reset 的 commit。还有一点需要注意,在reset --soft指定 commit 号时,会将该 commit 到最近一次 commit 的所有修改内容全部恢复,而不是只针对该 commit。

2023-09-14 08:58:10 960

原创 MySQL日常使用记录

日常使用知识点记录

2023-09-13 13:08:29 219

转载 SQL 语句中 left join 后用 on 还是 where,区别大了!

SQL语句中的leftjoin后用on还是where,区别太大了

2023-08-24 08:11:37 120

原创 Oracle查看数据库锁表状态

如果查询到锁表的表了,想要kill掉某个锁表请求,可以执行如下语句。

2023-08-21 08:27:24 338

原创 SpringBoot图片上传并对大小进行压缩(缩放比例)

最近有个新需求,项目中对客户上传jpg图片的时候,每次都是校验大小必须≤30KB,但是客户实际使用的时候,总是会自己去进行压缩,压缩到30KB以内之后再上传,使用时间长了之后,客户总会觉得很麻烦,于是乎,希望上传的jpg图片由系统自动进行压缩到30KB以内。想了想,如果由系统进行压缩,那么一次压缩之后就一定会到了30KB以内了吗?我的想法是进行递归压缩,每次压缩完了判断jpg图片大小,如果30KB以内了,就可以了,不然继续递归压缩。

2023-08-05 09:06:44 1573

原创 java设计模式-工厂模式(下)

java设计模式-工厂模式(下)

2023-07-28 15:52:03 595

原创 java设计模式-工厂模式(上)

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。工厂模式提供了一种将对象的实例化过程封装在工厂类中的方式。通过使用工厂模式,可以将对象的创建与使用代码分离,提供一种统一的接口来创建不同类型的对象。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。其中简单工厂模式,严格上来说,不属于23设计模式之一,因为它违背了开闭原则,更好的是看作为一种编程方式。

2023-07-28 14:22:15 606

原创 java设计模式-观察者模式(jdk内置)

2023-07-28 10:47:30.714 INFO 23796 — [ main] d.b.e.design_patterns.gczms.jdk.User2 : 被观察者发生变化, 接收消息:测试一下1!2023-07-28 10:47:30.714 INFO 23796 — [ main] d.b.e.design_patterns.gczms.jdk.User1 : 被观察者发生变化, 接收消息:测试一下1!篇章,建议先去看看。

2023-07-28 10:49:24 1054

原创 java设计模式-观察者模式

观察者模式(Observer)是软件设计中的一种行为模式。它定义了对象之间的一对多关系,其中如果一个对象改变了状态,所有依赖它的对象都会自动被通知并更新。这种模式包含了两种主要的角色,即被观察者(Subject)和观察者(Observer)。被观察者维护了一个观察者列表,并提供了注册和删除观察者的方法,当其状态发生变化时,会遍历观察者列表,通知所有观察者。观察者则定义了一个更新接口,用于接收被观察者的通知并进行相应的更新操作。

2023-07-28 10:17:26 1145

转载 java设计模式六大原则之【开闭原则】

一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。

2023-07-17 15:23:01 271

转载 java设计模式六大原则之【迪米特法则】

迪米特法则(最少知道原则)(Demeter Principle DP),为什么叫最少知道原则,就是说:一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。

2023-07-17 14:43:43 202

Spring注解.txt

自整理spring大部分日常使用到的注解说明 自整理spring大部分日常使用到的注解说明 自整理spring大部分日常使用到的注解说明

2020-07-29

空空如也

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

TA关注的人

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