自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

旷野历程

分享知识 传递快乐

  • 博客(379)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL递归查询所有子集

如果您需要执行递归查询,建议您使用 MySQL 版本 8.0 或更高版本,并使用 CONNECT BY 和 START WITH 语法。请注意,MySQL 8.0 版本中,CONNECT BY 语法要求启用递归公用表表达式(Recursive Common Table Expression,RCTE)。在 MySQL 数据库中,WITH RECURSIVE 是递归查询的一种语法。相反,MySQL 提供了另一种递归查询的方法,即使用 CONNECT BY 和 START WITH 语法。

2023-09-05 07:21:13 176

原创 CHAR与VARCHAR如何选择

例如,CHAR非常适合存储密码的MD5值,因为这是一个定长的值。对于经常变更的数据,CHAR也比VARCHAR更好,因为定长的CHAR类型不容易产生碎片。例如用CHAR( 1)来存储只有Y和N的值,如果采用单字节字符集只需要一个字节,但是VARCHAR(1)却需要两个字节,因为还有一个记录长度的额外字节。事实证明有很大的优势。更长的列会消耗更多的内存,因为MySQL通常会分配固定大小的内存块来保存内部值。另外,使用VARCHAR(5)和VARCHAR(200)存储'hello'在磁盘空间上开销是一样的。

2023-09-05 07:16:27 35

原创 详谈限流、降级与熔断的区别

限流一般是在被调时生效降级是用户所享有的服务变差了熔断是在主调生效,也有一部分熔断设计是在被调生效的限流和熔断都会带来降级。

2023-09-01 00:15:00 177

原创 详谈SpringBoot启动项目后执行自定义方法的方式

SpringBoot启动项目后执行自定义方法6种方式

2023-08-30 14:52:04 237

原创 详谈Java中抽象类和接口的区别和使用场景

抽象类和接口都是实现多态的重要手段,但在使用时需要注意它们之间的区别和应用场景。通常情况下,如果需要定义一组相关的方法并提供默认实现,使用抽象类;如果需要定义一组行为或能力,但不需要默认实现,使用接口。总体来说,抽象类更适合用于一些有共同代码和状态的类层次结构,而接口更适合用于定义规范、实现多态以及解耦不同的类。在实际项目中,可以根据具体需求来选择抽象类和接口。抽象类和接口是 Java 中两种不同的抽象机制,它们都用于定义类的结构,但在一些方面有不同的使用场景。

2023-08-30 10:25:42 65

原创 Java中PrintStream用法

在 PrintStream 中定义的构造方法中可以清楚的发现有一个构造方法可以直接接收 OutputStream 类的实例,这是因为与 OutputStream 相比起来,PrintStream 可以更加方便的输出数据。不过需要注意的是,PrintStream 并不是线程安全,而且效率也不是很高,所以可以考虑使用线程安全的替代类,如 java.util.logging.Logger 或第三方的日志框架。在实际开发中,PrintStream 也常用于日志记录、简单的输出格式控制等。

2023-08-29 18:17:03 115

原创 罗技M720删除蓝牙连接后,蓝牙搜索列表找不到设备

因误删蓝牙鼠标(罗技M720)设备,再次添加蓝牙设备时蓝牙列表找不到设备(罗技M720)。2、按住显示屏下方的切换按钮 3 秒钟(所选通道上的 LED 将开始快速闪烁)找不到设备或连接不上的问题有很多种,具体情况要具体分析,仅供参考。3、此时再打开蓝牙列表就可以发现鼠标了。1、确保 M720 已开启。

2023-08-28 14:15:34 163

原创 Kafka 什么速度那么快

Kafka 采用了批量发送消息的方式,通过将多条消息按照分区进行分组,然后每次发送一个消息集合,看似很平常的一个手段,其实它大大提升了 Kafka 的吞吐量。

2023-08-18 09:01:32 1212

原创 Kafka中的 ISR 机制

ISR 机制的存在是 kafka 为了平衡可靠性和可用性,不指定提供高可靠或者高可用的服务,而是将决定权交给了使用者,让使用者通过参数来控制,到底要实现什么程度的高可靠与高可用。

2023-08-17 09:33:10 1057

原创 Kafka如何解决消息丢失的问题

在以上这三步中每一步都可能会出现丢失数据的情况, 那么 Kafka 到底在什么情况下才能保证消息不丢失呢?

2023-08-16 19:22:21 1251

原创 Kafka 消息发送和消费流程

Producer 端发送消息给 Broker 端Broker 将消息进行并持久化数据Consumer 端从 Broker 将消息拉取并进行消费。

2023-08-16 18:54:51 856

原创 Kafka如何保证消息⼀定能被消费

大多数MQ系统都提供了消息的确认机制,消费者在成功消费一条消息后,向MQ确认消费完成,MQ才会将消息标记为已消费。在将消息存入MQ时,可以选择持久化消息,确保即使MQ发生故障,消息也不会丢失。消息持久化通常会涉及将消息写入持久化存储,如磁盘文件或数据库。消息队列(MQ)作为一种异步通信机制,可以提供一些机制来尽量保证消息的可靠性,但并不能百分之百地保证消息一定能被消费或存储到数据库中。如果消息消费失败,消费者可以实现重试策略,尝试重新消费失败的消息,直到成功为止。这样可以保证消息最终被处理。

2023-08-16 18:54:31 1367

原创 自定义对象池

实现一个对象池时,你需要考虑几个关键方面:对象的创建、对象的管理、对象的重用、线程安全等。在实际应用中,你可能需要根据需求进行更复杂的实现,例如对象的生命周期管理、超时处理等。来管理对象池中的对象。这样可以避免频繁地创建和销毁对象,提高系统性能和资源利用率。这是一个简单的对象池示例,使用了。

2023-08-09 11:37:07 73

原创 MySQL 中的 distinct 和 group by 哪个效率更高?

在需要去除重复值而不需要聚合的情况下,可以使用 DISTINCT 来代替简单的 GROUP BY,以避免不必要的聚合操作,从而提高性能。因为它仅仅关注去除重复值,而不需要对数据进行聚合操作。在需要分组和聚合数据的情况下,GROUP BY 是更合适的选择。最终的选择应该根据你的具体业务需求和性能测试结果来决定,而且性能上的差异还取决于查询的复杂性、表的大小、索引的使用等因素。

2023-08-02 15:35:29 559

原创 线程安全的集合类

如果你要使⽤线程安全的集合的话, java.util.concurrent 包中提供了很多并发容器供你使⽤:

2023-07-31 10:00:43 83

原创 Spring容器中的ThreadPoolTaskExecutor是否需要手动关闭

当容器或应用程序关闭时,Spring 会自动关闭所有的 ThreadPoolTaskExecutor Bean,同时调用 ThreadPoolTaskExecutor 的 shutdown() 方法来停止线程池的运行。这样,线程池中的线程会被正确地停止,线程池资源也会被释放。在使用 ThreadPoolTaskExecutor 作为 Spring Bean 注册到容器中后,Spring 会负责在应用程序关闭时,自动关闭所有注册的线程池,所以不需要手动关闭。

2023-07-28 11:18:24 442

原创 双亲委派作用

双亲委派机制保证了类加载的安全性和一致性,并避免了类的冲突和重复加载问题。它是 Java ClassLoader 的一个重要特性,为 Java 类的加载提供了一种高效而稳定的机制。双亲委派是 Java ClassLoader 的一种加载机制,它的作用是保证 Java 类的加载安全性和避免类的重复加载,同时实现类加载的层级结构。无论是在学习 Java 过程中还是在背涨薪秘诀时都会提到双亲委派,这里面说的最多的就是类加载机制,但却很少谈及其作用,经多方面参考,总结一下。

2023-07-28 10:31:18 69

原创 并发编程中锁的优化

在 Java 并发编程中,锁是一种常用的同步机制,用于控制对共享资源的访问。使用锁可以确保多个线程之间的互斥访问,避免数据竞争和并发问题。然而,锁的使用可能会带来一定的性能开销,特别是在高并发场景下。

2023-07-27 17:05:36 102

原创 集合中的⽆序性和不可重复性的含义

⽆序性不等于随机性 ,⽆序性是指存储的数据在底层数组中并⾮按照数组索引的顺序添加 ,⽽是根据数据的哈希值决定的。不可重复性是指添加的元素按照 equals()判断时 ,返回 false,需要同时重写 equals()⽅法和 HashCode()⽅法。

2023-07-26 11:31:13 68

原创 有哪些集合是线程不安全的?怎么解决呢?

我们常⽤的 Arraylist, LinkedList , Hashmap , HashSet , TreeSet , TreeMap , PriorityQueue 都不是线程安全的。解决办法很简单,可以使⽤线程安全的集合来代替。

2023-07-26 11:20:11 88

原创 MySQL调优总结

选择 合适的字段属性:类型、⻓长度、是否允许NULL等;尽量量把字段设为not null。 要尽量量避免全表扫描,⾸首先应考虑在 where 及 order by 涉及的列列上建⽴立索引。 应尽量量避免在 where ⼦子句句中对字段进⾏行行 null 值判断、使⽤用!= 或 <> 操作符,否则将导致引擎放弃使⽤用索引⽽而进⾏行行全表扫描 应尽量量避免在 where ⼦子句句中使⽤用 or 来连接条件,如果一个字段有索引,一个字段没有索引,将导致引擎放弃使⽤用索引⽽而进⾏行行全表扫描 i

2023-07-25 15:37:40 81

原创 MySQL从查询结果中更新数据

通过查询备份表把符合条件的数据更新到主表中。

2023-07-21 09:24:23 308

原创 MySQL字段脱敏

【代码】MySQL字段脱敏。

2023-07-20 09:59:53 45

原创 MySQL插入数据时如果存在就更新,不存在就插入

需要注意的是这里的 id 字段被定义为 PRIMARY KEY,即唯一键,所以在插入时会检查唯一键冲突。如果您的表没有唯一键或没有设置合适的唯一约束,"INSERT INTO ... ON DUPLICATE KEY UPDATE" 将不会生效。想要插入一行数据,如果该数据的 id 已经存在于表中,则更新字段;如果 id 在表中不存在,则插入一行新数据。该语法在插入新行时检查是否存在唯一键冲突,如果冲突,则执行更新操作;如果没有冲突,则执行插入操作。

2023-07-20 09:52:39 913

原创 MySQL快速创建临时表

"CREATE TABLE IF NOT EXISTS" 是用于创建表的语法,如果表已经存在,则不会再次创建,而是直接忽略创建操作。如果 "orders_2022" 表不存在的情况下才会执行创建操作,并且其结构与 "orders" 表相同。"CREATE TABLE IF NOT EXISTS" 该语句在使用时,确保数据库用户具有足够的权限来执行表的创建操作。

2023-07-12 10:39:30 77

原创 接口链式调用方式

接口链式调用方式

2023-06-08 21:02:41 99

原创 SpringBoot动态控制指定的控制器类生效

使用一个属性值或变量来控制 SpringBoot 中指定 @RestController 注解标注的类生效。

2023-06-07 12:30:00 477

原创 SpringBoot禁用特定的控制器类

SpringBoot禁用特定的控制器类,禁用一个或多个 @RestController 注解标注的类

2023-06-07 05:00:00 183

原创 Kafka 分区

分区是 Kafka 的核心功能,对于 Kafka 的存储结构、消息的生产消费方式都至关重要。

2023-06-04 09:14:25 693

原创 ELK日志采集系统搭建

现在的系统大多比较复杂,一个服务的背后可能就是一个集群的机器在运行,各种访问日志、应用日志、错误日志量随着访问量和时间会越来越多,运维人员就无法很好的去管理日志,开发人员排查问题,需要到服务器上查日志,极为不方便。逐台登陆机器去查看日志特别费力,且效率慢。

2023-05-31 23:00:00 924

原创 Logstash技术栈总结

Logstash 是一个可以传输和处理你的日志、事务或其他数据的功能强大的工具,可与各种部署集成。它提供了大量插件,可帮助你解析,丰富,转换和缓冲来自各种来源的数据。

2023-05-31 20:00:00 628

原创 Filebeat技术栈总结

filebeat 是一个轻量型日志采集器,本质上是一个 agent。不依赖于任何应用,可以安装在任何节点上,可单独使用 Filebeat 并根据配置读取对应位置的日志进行上报和搜集。filebeat 内置了常用的 output 组件,例如 kafka、ElasticSearch、redis 等,也可以输出到 console 和 file。可以利用现有的 output 组件,将日志进行上报。也可以自定义 output 组件,让 Filebeat 将日志转发到我们想要的地方。

2023-05-31 15:39:57 577

原创 MyBatisPlus分页查询方法实现临时不分页问题

MyBatisPlus分页查询方法实现临时不分页问题

2023-05-30 11:37:51 388

原创 Windows删除文件时一直提示:文件或文件夹下在使用

重启能解决 95% 的问题。程序关闭了,删除时一直提示正在使用,导致无法删除。2、在资源监视器中关闭程序,先打开任务管理器。找到占用的程序,右击结束掉就可以了。

2023-04-22 15:02:30 185 1

原创 SublimeText打开带空格路径的文件异常解决方法

Sublime text4 添加到右键菜单打开文件的时候,打开带空格路径的文件时会打开多个窗口,且文件中没有信息。把路径用双引号扩起来。

2023-04-20 09:34:15 98

原创 SpringBoot + Redis 实现防刷限流

添加自定义AccessLimit注解,使用注解方式实现接口的限流操作。使用 AccessLimit。

2023-04-17 14:01:12 131

原创 MySQL中使用count的坑

忽略所有的列而直接统计所有的行数,在统计结果时不会忽略为 NULL 的值。

2023-04-17 09:58:08 231

原创 策略模式的多种使用方式

在有多种算法相似的情况下,使用 if...else 所带来的复杂和难以维护。

2023-04-14 16:09:25 389

原创 MySQL中order by 的坑

按照 create_at 排序可能在内存中完成,也可能需要使用外部排序,取决于排序所需的内存和参数 sort_buffer_size。sort_buffer_size 是 mysql 为排序开辟的内存。如果排序数据量小于 sort_buffer_size,排序会在内存中完成。如果数据量过大,内存放不下,则会利用磁盘临时文件排序。

2023-04-13 17:15:40 411

原创 MySQL关联查询的方式

这种写法有些时候比较难以理解,如果关联多张表,就很难看出哪个条件是关联,哪个条件是过滤。

2023-04-13 17:15:16 226

Dhtmlx日程-图表-甘特图实例

这里Dhtmlx日程实例,图表实例,甘特图实例,并结合了数据库进行交互,希望参帮助更多的菜鸟

2016-08-23

空空如也

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

TA关注的人

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