自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leedcode:找到字符串中所有字母异位词

摘要:该代码实现了一个在字符串s中查找所有p的异位词子串起始索引的方法。通过滑动窗口技术,维护当前窗口的字符频率哈希表并与目标p的字符频率表比较。时间复杂度为O(n),其中n是s的长度。关键点在于窗口移动时高效更新字符计数,避免了每次重新统计整个窗口的字符频率。对于输入("cbaebabacd","abc"),正确输出匹配子串的起始索引[0,6]。

2025-06-30 17:10:45 275

原创 leedcode:接雨水

摘要:该问题要求计算柱状图能接的雨水量。解决思路是找到每根柱子左右两侧的最高柱,取较小值减去当前柱高即为该柱接水量。使用动态规划方法,分别从左到右和从右到左遍历,记录各柱左右最高值,然后计算总接水量。核心公式:sum += min(leftMax, rightMax) - currentHeight。时间复杂度O(n),空间复杂度O(n)。

2025-06-27 10:12:50 221

原创 leedCode:地图分析

请你找出一个海洋单元格,这个海洋单元格到离它最近的陆地单元格的距离是最大的,并返回该距离。如果网格上只有陆地或者海洋,请返回。,上面的每个 单元格 都用。这两个单元格之间的距离是。你现在手里有一份大小为。

2025-06-20 11:49:49 182

原创 leedcode:最大人工岛

摘要:本文提出了一种解决二维二进制矩阵中岛屿面积最大化问题的算法。通过标记所有岛屿并记录其面积,然后检查每个海洋格子(0)的四周相邻岛屿,计算将该格子变为陆地(1)后能形成的最大岛屿面积。算法使用深度优先搜索标记岛屿,处理边界情况,最终返回可能的最大岛屿面积。时间复杂度为O(n^2),适用于处理nxn大小的二进制矩阵。

2025-06-19 11:44:39 261

原创 mysql 将一个表的数据复制一份插入到原表

有时候会遇到某个表的数据需要复制一份插入到原表,某些字段需要修改,比如类型,主键id等。可以对部分字段根据自己需要进行自定义修改。

2025-06-18 11:24:36 183

原创 java 快速排序算法

【代码】java 快速排序算法。

2025-06-18 10:02:16 551

原创 java 编程检测是否有死锁

JDK 8中java.lang.management包下提供了ThreadMXBean类,findDeadlockedThreads方法可以获取是否有死锁产生,代码如下。死锁是一般是多个线程互相抢占锁资源导致的,所抢占的锁资源互相被对方所持有导致。ThreadMXBean中还提供了很多其他方法,有兴趣的可以了解一下。

2025-03-24 17:17:15 281

原创 mybatisPlus 复杂的and与or的拼接

生成的sql: select * from text where type="11" and (age=1 or (name="张三" and score=1))生成的sql: select * from text where type="11" and (age=1 or name="张三")二: A and (B or (C and D))一: A and (B or C)

2025-02-28 15:27:02 572

原创 springcloud读取nacos配置中心的json文件

springcloud读取nacos配置中心的json文件

2024-11-19 17:09:35 1092

原创 springboot使用mybatis-plus给公共字段赋值(创建时间,创建人)

实现MetaObjectHandler 接口,实现insertFill和updateFill方法。

2024-10-09 14:18:00 377 1

原创 spring 事务扩展点 TransactionSynchronizationManager

当我们业务数据完成后,有时候需要向mq发送数据或者发送短信,需要等业务数据事务完成后做一些事情。

2024-08-07 15:11:40 500

原创 spring扩展点ApplicationListener 订阅发布

当我们登录的时候,有时需要发送短信,赠送积分等,为了保证代码单一原则以及开闭原则,可以使用ApplicationListener 代码如下。

2024-08-07 15:02:14 439

原创 SmartInitializingSingleton和InitializingBean的区别

InitializingBean:接口里面也是提供了一个方法afterPropertiesSet,执行时机是实现这个接口的bean创建初始化之后就会执行afterPropertiesSet这个方法,这时有可能还有其他bean没有初始化完。这个接口可以对当前bean做一些额外处理。SmartInitializingSingleton:接口里面就一个方法afterSingletonsInstantiated,它是spring容器将所有bean都初始化完成之后,才会去调用,要求实现它接口的bean必须是单例的。

2024-07-30 20:06:50 357

原创 RocketMq消费者个性化设置重试次数,监听多个topic等

RocketMQ提供了RocketMQPushConsumerLifecycleListener接口,可以对消费者做一些额外处理。可以在prepareStart方法中对消费者做其他处理。

2024-07-26 15:52:44 817

原创 springboot项目连接多数据源

方式一:新建多个数据源配置类,有几个数据源,就新建几个配置类,这种是比较简单的连接多数据的方式。正常来说使用微服务开发还是尽量服务不要连接多数据源,做好库的划分以及定好微服务的边界,具体使用的时候把这个工程做成一个jar包,其他工程引入就行。

2024-07-26 15:40:26 1120

原创 mybatis-plus的的批量新增

当我们用mybatis-plus批量新增数据的时候,我们一般都是使用IService里面提供的saveBatch方法进行操作,殊不知对于小批量操作,这个方法是可行的,对于大数据量操作,速度是很慢的,它的底层是一个for循环,一条条进行新增的。一:新建EasySqlInjector继承DefaultSqlInjector方法。后续就可以直接使用mapper中的批量插入了。三:mapper中新增方法。

2024-07-26 15:22:19 1454

原创 RocketMq的事务消息

checkLocalTransaction 是事务回查,当executeLocalTransaction方法抛出异常或者返回UNKNOWN,才会执行checkLocalTransaction。当我们系统需要执行业务逻辑,又需要发送mq消息。如何解决业务系统执行成功,mq消息发送失败这种情况,输入保证数据的一致性呢?使用sendMessageInTransaction方法可以开启发送事务消息,注意低版本这个方法是四个参数的。executeLocalTransaction方法是执行本地事务提交。

2024-07-25 19:41:25 394

原创 vue 组件默认方法传额外参数

value是原有默认参数,item新传入的值。仅此记录学习的过程,一只行走的小笨猿。

2023-08-03 10:40:29 418

原创 vue 获取动态ref

此时this.$refs.itemRefList 是个数组,获取的时候我们可以通过下表去获取 this.$refs.itemRefList[0] 这样获取。此时我们可以通过:eval("that.$refs.item" +(i))[0] ,其中i就是那个动态的index。vue中操作对象可以通过ref进行处理,常见的有以下几种方式。我们可以通过:this.$refs.img 去操作。二:对于一些复杂场景,有可能我们元素是循环出来的。一:静态ref,也是最常用的。三:循环里面的单ref。

2023-08-02 10:02:31 2104

原创 springclould gateway集成 限流RequestRateLimiter

2: yml 配置文件配置,因为这个组件是基于redis的所以还需要加上redis的配置。如果要自定义限流返回的信息,一定要修改上图横线上的名称。仅此记录学习的过程,一只行走的小笨猿。1:pom.xml 文件引入 jar。

2023-07-03 11:44:37 455

原创 Linux磁盘挂载

需求:磁盘挂载从/app 改到 /opt(1)df –h 查看挂载情况(2)umount  /app  卸载挂载 卸载期间如果遇到:【目标忙】,执行以下命令fuser -mv /app   查看那些进程在占用kill -9   杀死进程(3)mount /dev/vdb1 /opt (挂载到opt目录)(4)修改配置文件,以便下次机器重启修改依然生效vim /e...

2018-09-17 15:49:03 482

原创 openSSH和openSSL的升级

安装telnet防止升级ssh时意外断开无法再次登陆服务器安装telnet安装包rpm –ivh xinetd-2.3.14-38.el6.x86_64.rpm rpm –ivh telnet-0.17-47.el6_3.1.x86_64.rpm rpm -ivh telnet-server-0.17-47.el6_3.1.x86_64.rpm 编辑设置 /etc/xinetd.d/...

2018-09-17 15:47:09 1955

原创 linux中oracle的安装

环境:RED Hat7.2      Oracle11.2.0.4Oracle11.0.2.4安装1.关闭防火墙systemctl stop firewalld2.关闭禁用selinuxvim /etc/selinux/config3.创建运行用户和用户组这里我设置的oracle用户的密码:123456784.创建oracle数据库安装的相关目录a. 创...

2018-09-17 15:37:59 549

原创 ActiveMQ静态网络链接

修改activemq.xml服务 s1(tcp://localhost:81616),s2(tcp://localhost:81716)s1服务加入:<networkConnectors>            <networkConnector name="local network" uri="static://(tcp://localhost:81716)"/...

2018-07-23 15:46:26 336

原创 ActiveMQ 一台服务器上启动多个broker

环境:win10一:复制 bin文件夹,复制conf文件夹  分别命名 bin2 , conf2修改bin2/activemq的文件:修改:\bin2\win64\activemq.bat修改:\bin2\win64\wrapper.conf修改:conf2\activemq.xml修改:conf2\jetty.xml至此修改完毕,启...

2018-07-23 15:16:32 886

原创 ActiveMQ持久化到mysql数据库

一:修改activeMq.xml配置数据库连接信息:MQ本身不带mysql驱动需要把mysql驱动jar,复制到lib目录下,数据库连接池用的是MQ中自带的dbcp2启动的时候如果报错: Cannot load JDBC driver class 'com.mysql.jdbc.Driver有可能是mysql驱动包的版本问题,楼主的是这样换了一个版本就可以正常启动了。...

2018-07-23 14:00:50 1309

原创 ActiveMQ与spring的集成

首先pom文件的jar依赖:楼主的pom文件:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://m...

2018-07-20 11:35:40 187

原创 ActiveMQ的broker启动

ActiveMQ除了可以作为独立进程单独部署在服务器上之外,也可以很小巧的内嵌在程序中启动一下介绍三种启动方式:楼主maven目录结构:一:直接启动通过brokerpackage com.test.mq.broker;import org.apache.activemq.broker.BrokerService;//嵌入式broker启动//Broker:相当于一个...

2018-07-20 11:29:42 408

原创 ActiveMQ的topic的简单使用

上一篇写了queue的简单使用,实际差不多,直接上代码这个topic就类似与微信公众号的感觉,一个生产者可以对应多个消费者代码在运行的时候需要先运行一下消费者,相当于你订阅了这个topic(类似于关注了一个微信公众号),不然接收不到消息生产者:package com.test.mq.topic;import javax.jms.Connection;import jav...

2018-07-20 11:16:04 4824

原创 ActiveMQ初识

第一次学习使用ActiveMQ,安装环境windows10安装步骤:1:下载apache-activemq-5.15.4-bin.zip2:解压即可安装完成后的目录结构:启动在bin目录下,对应的有两个文件夹,32和64的根据自己电脑操作系统选择相应目录楼主的是win64,进入目录双击activemq.bat即可启动验证是否启动成功访问:http://local...

2018-07-20 10:59:13 294

转载 liunx 下mysql的安装

linux下安装Mysqllinux版本:CentOS7 64位    1、下载安装包“mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz”    # 安装依赖yum -y install perl perl-devel autoconf libaio    2、把下载的安装包移动到/usr/local/下。    3、解压tar zxvf mysql-5.6.3...

2018-07-06 14:01:59 274

转载 Linux中用Nginx和FTP搭建图片服务器

一、需要的组件图片服务器两个服务:Nginx(图片访问):1、http服务:可以使用nginx做静态资源服务器。也可以使用apache。推荐使用nginx,效率更高。2、反向代理 实现 负载均衡ftp服务(图片上传):使用linux做服务器,在linux中有个ftp组件vsftpd。二、Nginx服务器搭建1.安装Nginx要求安装vmware虚拟机。Linux:CentOS6.4(32)Ngin...

2018-07-06 11:39:31 582

原创 java实现HashMap

闲着没事自己随便写了一个类似hashMap得简单功能代码,技术有限,仅供参考对于真正hashMap中用到的,树形结构以及jdk1.8中的红黑树,下面内容未涉及(只是简单得实现)hashMap是由数组和链表组成得:首先对于类似链表数据得封装类:MyNode<K,V>/** * 模拟链表,每个节点上存放key值,value值,以及下个节点的信息 * @author a...

2018-05-30 17:10:57 342

原创 Java中的值传递和引用传递

Java数据类型分为:基本数据类型和引用数据类型对于基本数据类型:        public static void main(String[] args) { int a=100; changeInt(a); System.out.println(a); } public static void changeInt(int a){ a=200; }输出:a=100分析:基本类型的变量保...

2018-04-26 17:38:37 225

原创 Java对不同版本的word,excel的解析

最近项目上用到文档的解析,但是不同版本的文档解析,它们所采用的接口方法不一样,然而根据文件后缀判断也不靠谱,后缀名称有可能会更改。下面我就来给大家简单的叙述下我的解决办法:1.针对word的解析   一般的解析方法:        03版本: InputStream is = new FileInputStream(new File("c://files//2003.doc"))...

2017-07-18 16:28:12 1646

原创 点击按钮在光标所在处插入值

在光标所在处插入值1.写段简单的html代码 在这个input框插入值 插入值这里无效 2.引用js进行控制$(function(){ //按钮插入值 var dto=null; //input 获取焦点 $("#tex").blur(function(){ dto=$(this);

2017-06-19 11:47:44 1338

原创 如何通过js动态的加载css样式文件

对于某些某些特殊情况下需要通过js动态加载某些样式文件:其实很简单只需要在jsp的头部加上: 图一图中id自己随便定义然后在js中

2017-06-15 11:14:46 867

原创 input框的回车事件

在开发的过程中我们经常会遇到给input框加回车事件 ,这其中有个比较奇葩的问题,当一个form表单中只有一个input框时,这时我们会发现,你给这个input框加回车事件,他其实不走你加的回车事件,而是默认提交form表单,即使你不给它加回车事件,按回车键它也是起作用的,默认提交表单,这种情况只针对form表单中只有一个input。解决办法很简单 在form表单中

2017-06-15 10:48:48 5348

空空如也

空空如也

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

TA关注的人

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