- 博客(41)
- 收藏
- 关注

原创 SQL 窗口函数简介
窗口函数对一组行进行操作,并为基础查询中的每一行返回一个值。 术语窗口描述了函数在其上进行操作的行集。 窗口函数使用窗口中各行的值来计算返回的值。
2023-06-17 16:01:02
423
1
原创 查看和管理 DNS(域名系统)解析
查询域名的 DNS 地址: nslookup www.baidu.com nslookup www.baidu.com 114.114.114.114 第一条命令未指定 DNS 服务器,第二条命令指定了 DNS 服务器为 114.114.114.114。使用 nslookup 命令: nslookup www.baidu.com 该命令将显示域名 www.baidu.com 的 DNS 解析结果。nslookup 命令用于查询域名的 DNS 地址,可以指定不同的 DNS 服务器进行查询。
2024-12-07 14:17:17
426
原创 缓存雪崩、穿透、击穿的概念和如何避免
雪崩概念高并发请求多个key,此时多个key同时失效、不在缓存中,请求全部打到数据库,使数据库无法处理这么多的连接,导致数据库死机如何避免防止多个key同时过期,设置随机的过期时间不设置过期时间,有更新时更新维护到最新穿透概念请求数据在缓存和数据库中都不存在,大量请求打到缓存和数据库,造成缓存和数据库处理大量请求导致服务器死机如何避免不查库的参数校验,过滤掉非法数据不存在的数据,在缓存中存放默认值表示数据不存在,通过缓存来减少数据库请求量使用布隆过滤器来判断一个记录是否存在
2024-06-24 22:03:43
320
原创 Spring boot使用websocket实现在线聊天
maven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId>
2024-05-13 16:13:43
1478
原创 Spring Cloud 服务和网关整合OAuth2实现权限控制实战全流程
记录一次完整可行的Spring Cloud微服务权限控制。从Spring Security OAuth说起,Spring Security OAuth实现了OAuth2协议中的授权服务器(Authorization Server)、资源服务器(Resource Server)和客户端(Clients)。Spring 还是挺好的,但是随着OAuth协议的不断发展而Spring Security OAuth2官方已经开始废弃。
2024-04-10 14:38:42
3271
1
原创 Java JDBC Connection的setAutoCommit方法使用小结
Java JDBC Connection的setAutoCommit方法使用小结。
2024-03-05 15:49:58
706
原创 【易理解系列】堆排序
参考堆排序堆的概念完全二叉树父节点>或<子节点分析计算第n个节点的父节点计算第n个节点的子节点将某个节点堆化:将其自己堆化,并且将交换位置的子节点也进行堆化将一个数组构建成堆:从 最后一颗子树父节点((n-1)/2) 往上依次将各节点堆化堆化后的数组打印顺序是:从上往下,从左往右堆排序:将堆顶元素和最底层的最后一个叶子节点交换并将交换的的最底层的叶子节点移除(并非真正的移除),然后将对顶元素堆化,重复步骤6方法拆分将某个节点堆化元素交换将数组构建成堆
2024-02-25 16:51:05
518
1
原创 synchronized使用
需要注意的是,synchronized关键字只能保证同一对象上的方法或代码块的互斥访问,对于不同对象上的方法或代码块,不会进行互斥控制。当一个线程进入一个被synchronized修饰的方法或代码块时,它会尝试获取对象的锁。如果锁没有被其他线程占用,则该线程可以继续执行方法或代码块中的内容。这样的话,同一时间只能有一个线程执行该代码块,其他线程需要等待当前线程执行完毕后才能进入该代码块。它可以用于修饰方法或代码块,确保在同一时间只有一个线程可以访问被synchronized修饰的方法或代码块。
2024-02-18 19:32:18
397
原创 B树和B+树的区别
B树和B+树的主要区别在于它们的叶子节点和非叶子节点的存储方式不同。B树的每个节点既可以是叶子节点也可以是非叶子节点,而B+树的非叶子节点只存储关键字信息,所有的数据都存储在叶子节点中。此外,B+树的叶子节点之间通过指针连接,形成一个有序链表,方便范围查询和遍历。B+树的查询效率更加稳定,因为所有元素都在叶子节点上,而B树则需要从根节点开始一直查找到叶子节点。B+树也更适合于数据库系统和文件系统的应用,因为它更有利于对数据库的扫描,而且在考虑指针指向内容上,B+树占用的空间要比B树小。
2024-02-03 09:58:49
441
原创 Java SPI(Service Provider Interface)及应用
Java 6引入了一项功能,用于发现和加载与给定接口匹配的实现:服务提供者接口(SPI)。
2024-01-31 16:13:57
1127
1
原创 centos 安装docker CE
centos 安装docker CE,解决使用docker 命令时遇到Got permission denied while trying to connect to the Docker daemon socket * connect: permission denied
2024-01-31 09:41:05
930
原创 基于ant design的权限管理系统设计与实现
业务系统中权限是基础设施,本文将使用ant design来开发前端管理系统,后端接口使用Spring Cloud开发。废话不多说,开搞。
2024-01-17 16:43:26
862
转载 [译]深入理解React中的函数组件与类组件
在React世界中,有两种编写React组件的方式。 一个使用函数,另一个使用类。 最近,函数组件变得越来越流行,那为什么呢?本文将通过示例代码遍历每个组件,从而帮助您了解函数组件和类组件之间的区别,以便您可以深入了解现代React!渲染JSX首先,明显的区别是语法。就像它们的名称一样,函数组件只是返回JSX的普通JavaScript函数。类组件是一个JavaScript类,它扩展了具有render方法的React.Component。有点混乱?让我们看一个简单的例子。import React fr
2024-01-17 16:39:04
359
原创 MyBatis 参数
本文中所有的Java Mapper方法参数都是未使用@Param参数声明参数的即Mybatis默认参数访问名称。Mybatis方法参数单个基本参数时,XML默认访问参数名称可以是随意字符串。Mybatis方法参数是单个Collection参数时,XML默认访问参数名称可以是arg0, collection, list中任意。Mybatis方法参数是 单个Map参数时,XML默认访问参数名称是Map的key
2023-12-27 18:21:51
1852
1
原创 Jekins实现自动化部署
Jenkins安装启动,Jenkins JDK配置,Jenkins Maven配置,Jenkins基本插件,Jenkins SSH插件,Jenkins SSH插件,Jenkins Publish Over SSH 发布文件到远程主机,Jenkins 自动部署Java maven 项目到远程主机
2023-12-24 18:18:51
1170
3
原创 Java创建可执行的Jar文件
在Java中,通常将多个类合并到一个.jar(“ java归档文件”)文件中。库类以这种方式存储。较大的项目使用jar文件。您也可以创建结合了多个类的自己的jar文件。jar文件是使用JDK的jar.exe实用程序创建的。通过告诉jar.exe哪个类具有main,可以使jar文件可运行。为此,您需要创建一个清单文件。清单是带有“ Main-Class”指令的单行文本文件。该行必须以换行符结尾。(即:多一行)用主类清单创建的jar文件既可以用作库,也可以用作可运行的jar。
2023-12-23 19:14:46
1632
1
原创 【理论驱动应用】该不该使用Mybatis一级缓存和二级缓存?
学习MyBatis一级缓存概念、使用、存在问题及解决方法从而确定该不该用Mybatis以及缓存和二级缓存。一级缓存概念一次数据库会话中,执行多次查询条件完全相同的SQL,MyBatis通过一级缓存的方案优化这部分场景。SqlSession级别的缓存。使用Mybatis配置文件中配置缓存设置,开启一级缓存cacheEnabled=truelocalCacheScope=SESSION原理在一个SqlSession中,查询相同条件的查询,会查缓存缓存失效:同一个session中对
2023-12-23 16:48:16
482
1
原创 JCF:Java集合框架
同步采用Vector非同步情况下,根据数据操作特点选取ArrayList/LinkedListHashMap是最常用的映射结构如需要排序,考虑LinkedHashMap和TreeMap如需要将K-V存储为文件,可采用Properities类Arrays和Collections功能强大,不需要重复造轮子对象比较方法Comparable/Comparator。
2023-12-17 18:44:03
489
1
原创 二叉树的各种遍历及根据遍历序列构建二叉树,Java实现
本文主要讲解二叉树的各种遍历方式,基本概念参考二叉树的概念。史上最全二叉树的各种遍历及根据遍历序列构建二叉树,Java实现。不够全的话,我们持续补充到最全。
2023-12-14 15:54:39
1374
1
原创 Java日期格式化线程安全性对比
100个线程同时使用一个`SimpleDateFormat`或`DateTimeFormatter `进行日期格式化,为了确保日期转换成字符串100个线程又各自创建了一个`SimpleDateFormat`或`DateTimeFormatter `实例进行格式化以保证转换正确,最终得到正确的结果.使用AtomicInteger 统计日期格式化相同和不同的数量.最终得出结论`SimpleDateFormat`线程不安全,`DateTimeFormatter `线程安全.
2023-12-14 15:49:44
1053
1
原创 Eclipse SWT 布局总结
绝对布局 absolute ,表单布局 FormLayout (相对布局),填充布局 FillLayout(水平填充、垂直填充),网格布局 GridLayout(列数、列宽度是否相同),行布局 RowLayout(水平行、垂直行),栈布局 StackLayout (后进先显示)
2023-12-10 15:25:02
2623
1
原创 Spring BeanPostProcessor 何时添加、执行
上一篇文章介绍了Spring BeanPostProcessor来扩展Spring。本文将学习下BeanPostProcessor何时加入列表?何时调用?环境ABeanpublic class ABean { public static final Logger logger = LoggerFactory.getLogger(ABean.class); @Value("${hello:hello default}") private String hello;
2023-06-17 16:10:36
268
1
原创 MySQL DDL
MySQL DDL ,MySQL 8.0 语法,表操作,创建表,修改表,修改表名,修改表存储引擎engine,修改表字符集,修改表注释,删除表,查看表,查看建表语句,列操作,添加列,修改列,修改列定义,修改并重命名列,修改列名,删除列,查看列,表排序,修改表排序
2023-06-17 16:03:18
728
1
原创 剑指offer:2. 实现Singleton模式,考虑内存及并发环境
从剑指offer面试题学习并理解单例模式实现,会综合Java内存、并发讨论各种实现,从简单到考虑各个方面因素的实现,并模拟并发环境证明各种实现方式存在的问题,以及为什么利用静态内部类实现按需创建实例是最好的实现方式。
2023-06-17 16:02:17
191
1
原创 存储技术RAID
独立磁盘冗余阵列(Redundant Array of Independent Disk,RAID),美国加利福尼亚大学柏克莱分校于1987年提出的,利用和组成一个可靠、高速的、大容量的逻辑硬盘。
2023-06-17 16:01:31
193
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人