自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 Redis偶发Cannot determine a partition for slot报错问题

lettuce 6.2.0.RELEASE 版本存在的Cannot determine a partition for slot报错

2024-01-05 20:10:52 1350

原创 Spring事务源码解析

主要分为两部分:第一部分简单介绍Spring事务相关的一些基本概念;第二部分详细分析了Spring事务整个执行流程的源码,包括事务的开启、提交、回滚等

2023-01-12 00:19:06 899 1

原创 Redisson分布式锁原理浅析

Redisson锁是我们常用的分布式锁,其核心方法就是获取锁对象(getLock)、加锁(lock、tryLock)和释放锁(unlock),下面从锁的初始化、加锁和释放锁三部分分析Redisson锁的原理。

2022-08-05 15:06:43 3826

原创 @KafkaListener原理和动态监听kafka topic

首先分析了@KafkaListener的原理,并从其原理入手,通过读取配置,实例化KafkaMessageListenerContainer并调用其start()方法,实现动态kafka topic的监听

2022-04-19 20:55:54 14106 33

原创 项目启动时,rocketMQ发送失败

rocketMQ报错分析及解决:The producer service state not OK, CREATE_JUST

2022-03-01 21:38:04 8065

原创 kafka源码分析-consumer的分区策略

kafka提供了三种分区策略:RangeAssignor、RoundRobinAssignor和StickyAssignor,本文对这三种策略的源码进行了详细的分析并给出示例解释,尤其是对StickyAssignor进行了大篇幅的详细解析

2022-02-16 12:17:22 1476 2

原创 Redis实现延迟队列的原理

这里对Redisson的延迟队列的底层实现逻辑进行了简单的探讨,Redisson实现延迟队列主要使用了一个阻塞队列(使用了redis的list机构)和一个延迟队列(一个list结构、一个score为到期时间的zset结构,一个分布订阅的通道)。本博客的内容包括初始化时各redis结构的初始化,定时任务的执行过程,数据如何插入,以及数据如何阻塞读取。

2021-10-04 01:12:02 3610 7

原创 mysql索引与B+树浅析

mysql索引与B+树浅析一、为什么B+树更适合用于索引一、为什么B+树更适合用于索引二、B+树的原理,mySQL页是怎么分裂的三、聚集索引和辅助索引(非聚集索引)四、B+树索引的使用,联合索引等五、MySQL索引优化,包括EXPLIAN命令和几个常用的索引优化技巧

2021-08-28 17:23:12 251

原创 使用RedisTemplate的PipeLine没有返回值原因分析

使用RedisTemplate的PipeLine没有返回值1、现象2、分析原因1、RedisTemplate的executePipelined方法源码2、RedissionConnection的closePipeline方法源码3、如何获取返回值1、现象**背景:**在使用redis去重时,试图使用redisTemlate的pipeline进行setnx操作,根据返回值判断参数是否重复。测试代码:private List<Boolean> test1() { List<Boole

2020-11-23 00:09:25 4265

原创 快速搭建一个简单的dubbo示例

快速搭建dubbo示例,包括xml方式、API方式和注解方式

2020-05-22 21:10:23 333 1

原创 kafka教程:基础概念、win10下安装与配置、Java中使用kafka

详细描述了kafka基础概念、win10下安装与配置、Java中使用kafka

2020-05-18 18:34:10 391

原创 数据库分表分库及分表分库带来的问题

详细描述了数据库分表分库问题,并分析了分表分库所带来的问题

2020-05-14 17:25:05 2235

原创 数据库分区:MySQL分区

详细讲解了数据库分区的相关内容:range分区、list分区、hash分区、key分区,以及针对分区的相关操作

2020-05-12 22:20:48 376

原创 Java如何使用redis:Jedis和RedisTemplate

本文详细介绍了Java使用redis的两种方式:Jedis和RedisTemplate的详细配置和使用。其中Jedis提供了各个数据类型的操作方法;RedisTemplate介绍了如何配置redis,以配置类的方式进行结合,提供了一个封装类RedisUtil更好的使用RedisTemplate,并且详细介绍了RedisTemplate的序列化问题(解决RedisTemplate前缀问题)。

2020-05-07 17:55:21 3159 2

原创 slf4j的使用:常规使用、注解、存储到数据库

slf4j的使用,注解@Slf4j的应用,以logback为例将日志写入数据库目录一、应用示例二、注解@Slf4j三、将日志保存至数据库slf4j是外观模式的典型应用。slf4j只是一个日志标准,并不是日志系统的具体实现。slf4j能够提供日志接口,提供获取具体日志对象的方法。slf4j-simple、logback都是slf4j的具体实现,log4j虽然不直接实现slf4j,但是有专门的一层桥接slf4j-log412来实现slf4j。一、应用示例1、引入依赖&...

2020-05-01 11:38:53 4813 1

原创 Java枚举类enum原理详解

Java枚举类enum原理详解为什么要使用枚举类枚举类原理三、enum类所继承的父类java.lang.Enum其他用法附java.lang.Enum源码为什么要使用枚举类枚举类enum作为Java5新增特性的一部分,是用来代替常量的。比如以下场景,定义一年的四个季节:public class Season { public final int SPRING = 1; pu...

2020-04-29 21:28:59 880

原创 用IDEA和maven搭建的ssm项目示例(Spring,SpringMVC,Mybatis)

ssm项目示例教程一、数据库二、idea maven创建项目三、pojo包五、applicationContext.xml六、service包及service.impl包七、开始编写前端界面八、springMVC.xml九、web.xml十、controller包十一、部署到tomcat上十二、在此基础上可以在扩展自己想要的功能十三、一些配置上踩的坑前后端都有,包括springMVC使用JQue...

2020-04-27 13:32:43 466

原创 idea maven创建spring项目找不到applicationContext解决办法

maven创建spring项目报错Exception in thread “main” org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [applicationContext.xml]; nested ...

2020-04-20 17:11:47 5230

原创 阿里巴巴Java开发规范学习笔记

建议直接看阿里巴巴Java开发规范百度网盘链接:https://pan.baidu.com/s/1vfAaBYDac-FntF_IUx69nw提取码:6bm2一、编程规约(一)命名风格1、POJO类中布尔类型变量不要加is,否则部分框架解析会引起序列化错误。注意:MySQL表达是否的值采用is_xxx的形式,所以需要在设置is_xxx到xxx的映射关系。2、避免子父类的成员变量之间、...

2020-04-20 13:55:07 237

原创 IDEA中使用Git分支创建及合并

IDEA中使用Git分支创建及合并

2020-04-16 20:13:20 2337

原创 IDEA使用git详细教程

包括:git安装与IDEA中的配置,从云端导入项目,本地项目提交至云端,本地项目修改及更新提交。一、安装及配置下载链接:https://git-scm.com/download/win1、都默认就行,点点点。安装完成后win+R打开控制台,输入git命令,若安装成功,则2、下一步需要为IDEA指定git路径,File->settings->Version Control-&gt...

2020-04-16 18:10:53 1349

原创 手撕LRU算法

LRU(Least Recently Used)最近最少使用,是一种页面置换算法,自认为这个翻译有点不太贴切。LRU通俗来说就是在一块大小有限的内存中,最近访问的(包括增改查)数据放到最前面,当加入新的数据时,如果已满,则需要先删除最后面的数据。所以就是将最近使用的放到最前面。hashmap+双向链表实现import java.util.HashMap;import java.util.Ma...

2019-11-14 02:19:39 487

原创 Java web发送邮箱验证码,并验证正确性

Java web实现邮箱验证码功能第一步、开启发件邮箱权限(以QQ邮箱为例)第二步、生成验证码第三步、发送邮件第四步、web前端第五步、servlet程序先放一张程序的预览图工程下载链接链接:https://pan.baidu.com/s/1Lrm8d6mBemKIWKd0ll0E9g提取码:vrwh第一步、开启发件邮箱权限(以QQ邮箱为例)设置->账户->开启POP3/...

2019-11-08 00:36:26 7471 34

原创 RD算法及其距离徙动校正(原理及matlab仿真)

RD算法流程图:图1 RD算法流程图因为是在word里写的,这里直接上截图了,不然mathtype公式显示不出来。对于RD算法的原理这里就不展开讨论了,重点分析距离徙动校正的原理。仿真程序,F_s=2.5B,距离徙动最大2.92m,对应7.3个距离单元。PRF取1.2倍多普勒带宽,目标点相对于参考点的位置为(-50,50,0),则仿真结果如下:观察图2,可以看出经过距离徙动校正后...

2019-10-24 16:33:21 25602 42

原创 RSA加密算法原理及其Java实现

简单介绍了RSA加密算法的原理及其Java实现:原文过长时,进行了分段加密。RSA加密算法的基本原理主要步骤本文所有的字母都为正整数。其主要步骤如下:1、取两个不相等的质数p、q,一般都比较大。例如:p=67,q=79。2、n=p×q,其中n所对应的二进制长度即为密钥的长度,一般为1024位或2048位。n=67×79=5293,转化为二进制数为1 0100 1010 1101,共13位。3、计算n的欧拉函数f...

2019-10-24 15:08:52 2146

原创 Java web过滤器实现账号单一登录,防止同一账号重复登录,踢人效果

实现了Java web开发账号单一登录的功能,防止同一账号重复登录,后面登录的踢掉前面登录的,使用过滤器Filter实现的。可以先下载项目下来测试下效果。有博客写的是没个一段时间(比如500ms)读取后台的session,这种方法除了会占用资源,还会出现访问session(请求1)的返回值和自己提交请求(请求2)的返回值发生冲突。比如请求1先提交,此时请求1的返回值还未返回到前端,请求2提交,实际上我们想要的是请求1的返回值先返回,然后再...

2019-10-21 18:15:02 2264 3

原创 MyEclipse2018 CI创建web项目(Web Project)

第一步,file->new->other第二步,选择Web Project第三步,名字,选择Java EE version为3.1,Java version选择自己安装的版本,使用TomCat8.0或者其他版本,然后按Finish即可,后面的内容不需要设置。...

2019-10-09 00:02:19 1519

原创 MySQL设置主键自动增长出现1833错误

在手动设置主键自动增长时,出现1833错误,如图。原因:本表的主键是其他表的外键,外键是不可以设置自增的。查询该表存在的外键信息:selectREFERENCED_COLUMN_NAME,TABLE_NAME,COLUMN_NAME,CONSTRAINT_NAMEfrom INFORMATION_SCHEMA.KEY_COLUMN_USAGEwhere CONSTRAINT_SCHE...

2019-09-27 10:50:45 3824

原创 Java的父类静态方法可以被子类继承和重写(覆盖)吗?

先给出答案:可以被子类继承,不能被子类重写。关于父类和子类关系还不太了解的看一去看一下链接https://blog.csdn.net/qq_34826261/article/details/97635047,里面详细解释了父类和子类不同情况下成员方法和成员变量的关系。这里默认已经知道了子类和父类之间的关系。那么子类能不能重写父类的静态方法?class parent{ public stat...

2019-09-20 00:47:14 16256 4

原创 任意2n个正整数数组,将其分割成两个长度为n的数组,使两子数组之和的差值最小

题目描述:任意2n个正整数数组,将其分割成两个长度为n的数组,使两子数组之和的差值最小。或者:从2n个正整数中选取n个,使这n个数字之和和剩余n个数字之和的差值最小。这道题利用动态规划进行求解,可以采用0-1背包问题的策略,放或者不放,不太了解0-1背包的,参考链接https://blog.csdn.net/qq_34826261/article/details/100663768。假设数...

2019-09-15 14:05:24 1315

原创 Java人事管理系统设计

基于B/S结构,采用MVC设计模式,主要任务是实现人事管理的系统化,数据库采用MySQL,Web开发采用HTML5、JavaScript(jQuery、Ajax)等。系统主要包括:注册登录、找回帐号、找回密码、发送邮箱验证码、帐号设置、人事信息的增删改查及排序、网页的安全访问、防止同一帐号重复登录。人事管理系统功能简要说明代码及数据库表格下载链接:链接:https://pan.baidu....

2019-09-09 18:27:32 7375 17

原创 01背包问题、优化及变形

01背包问题的动态规划实现以及优化;考虑是否需要恰好装满背包时的情况。

2019-09-09 16:33:07 333

原创 微信红包算法实现

微信红包算法的实现:二倍均值法和线段切割法微信红包分析n元的手气红包,假设发放m个:1、m个红包的总额为n元。2、每个红包至少0.01元。3、每个红包大小的概率一样。最直观的依次以剩余金额减去0.01×剩余红包数(保证不会出现前面几个红包用完所有的金额)为上限产生m个随机数,但这很显然越前面抢的人,红包金额越大的概率越大。

2019-09-06 23:08:51 1546

原创 严格递增和非严格递增最长递增子序列长度

严格递增最长递增子序列,给定一个无序整数数组nums(字符串也可以,不重要),给出最长严格递增子序列的长度。比如输入[1, 2 , 1, -1, 1, 4, 0],输出3,最长递增子序列[1, 2, 4],当然可能不唯一,[-1, 1, 4]也是一个,但是并不影响长度。强行遍历就不说了,时间复杂度O(2^n),简直爆炸。思路1:动态规划,建立一个数组dp,dp[i]记录nums[0:i]的最...

2019-08-30 10:51:41 4174 1

原创 Java中String的==比较,生成对象个数

详细分析了String进行“==”比较的不同情况,以及其生成对象的过程,包括字符串拼接("+"运算)的情况,final常量连接。

2019-08-28 17:41:48 479 1

原创 Java中volatile和synchronized的区别及其同步原理

volatile和synchronized都可以实现Java的同步机制,那么volatile和synchronized的区别是什么,比如作用范围等,并解释其实现原理

2019-08-24 00:05:31 508

原创 Serializable接口:Java序列化和反序列化

Serializable接口:java序列化和反序列化的定义,用法,serialVersionUID详解。

2019-08-22 12:22:19 986 3

原创 java 输出某路径下的指定类型文件的文件名及绝对路径

Java输出某路径下的指定类型文件的文件名及绝对路径给定一个文件夹的路径,输出该文件夹下所有的pdf(任意类型)文件的绝对路径。实在没有想到腾讯面试会问这种程序题,措手不及。。。。直接上代码import java.io.File;import java.util.ArrayList;import java.util.List;public class ReadFile { pub...

2019-08-21 16:57:09 1750 1

原创 字节跳动 Java一面面经

字节跳动Java一面面经知识点算法题实在是自己太沉,跳不动啊时间:2019.08.19知识点1、Java集合类(源码!!!HashMap、HashSet、HashTable、ConcurrentHashMap)。2、线程安全,synchronized。3、JVM的一系列命令。4、数据库的索引、引擎、隔离级别、怎么查看死锁,共享锁排他锁,乐观锁。5、Https为什么安全,流程是什么。...

2019-08-19 12:22:54 1512

原创 Java实现图的深度优先搜索和广度优先搜索(无向图和有向图)

用邻接表实现实现图的深度优先搜索和广度优先搜索直接上代码输入测试直接上代码package mytest;import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class BFS_DFS{ public static void main(String[] args) {...

2019-08-12 17:45:29 655

commons-codec-1.13.zip

提供了很多编解码的方式!可用,直接导入就可以。对文本内容、二进制文件进行加密处理,数据传输等方式用。主要用Based64

2019-10-23

(高清+目录)深入浅出MyBatis技术原理与实战.zip

当前已经是移动互联网时代,Java持久框架Hibernate没有办法适应高性能,灵活,大数据,可优化等要求,这时MyBatis就进入了我们的视野,随着移动互联网应用的持续发酵,Spring MyBatis的应用已在Java互联网平台上得到大量的使用,单单在51job招聘网站中MyBatis在全国也有近万个岗位的需求,加上未在51job发布的企业,可见需求相当大,而在当今市场上却没有任何一本介绍MyBatis的书籍,为了填补这一空白本书主要介绍了Java MyBatis技术。本书详细介绍了MyBatis的基础组成、配置、映射器、动态SQL,教会读者正确使用MyBatis,书中包含大量的实例,使读者可以参考。接着介绍了MyBatis的运行原理和插件开发并配有一个完整的插件例子。为了增加实用性,作者还介绍了MyBatis-Spring项目,使得读者能够学习到如何把MyBatis整合到Spring项目中,最后作者还将讲解一些常用实例,比如Blob字段、文件上传、批量、动态表名等实用场景,让读者能够参考和注意一些细节的问题。本书从基础讲到底层,注重实战,原理,照顾到初中高三类读者,可以作为MyBatis的学习教程和参考技术丛书。

2019-07-22

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

TA关注的人

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