自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

~单人舞~的博客

一点小心得和整理的java小视角...

  • 博客(123)
  • 资源 (25)
  • 问答 (4)
  • 收藏
  • 关注

原创 LeetCode-高频SQL 50题

【代码】LeetCode-高频SQL 50题。

2025-04-05 15:08:41 67

原创 工作纪实61-关于线程池队列选择的考究

多线程

2025-02-19 00:39:32 812

转载 【转载】图解JDK7中的HashMap闭环和丢失问题

最近在复习准备面试,发现对于HashMap的1.7版本下头插法的问题,转载一篇优秀的文章关于HashMap的线程安全问题,网上资料很多。对于1.7版本的闭环问题,看了很多网上的资料一直搞不懂,今天又琢磨了一下,终于明白了,用自己看得懂的方式记录下。

2025-02-10 23:37:29 79

原创 idea新增java快捷键代码片段

最近在写一些算法题,有很多的List<List这种编写,想着能否自定义一下快捷键。直接在写代码输入:lli,即可看见提示。

2025-01-22 12:51:20 545

原创 Leetcode 283-移动零

【代码】Leetcode 283-移动零。

2024-12-22 18:24:40 229

原创 Leetcode42-环形链表

a:从链表头到环的起始节点的距离。b:从环的起始节点到快慢指针相遇点的距离。c:环的长度。慢指针 slow 从头节点开始,走了 a + b 的距离到达相遇点。快指针 fast 从头节点开始,走了 a + b + n*c 的距离(其中 n 是快指针在环内绕的圈数)。slow 走的距离:a + bfast 走的距离:a + b + n*c由于快指针的速度是慢指针的两倍,得出: 2(a + b) = a + b + nc这表明慢指针走的距离a+b是环长度的整数倍。

2024-12-15 18:24:48 550

原创 工作纪实60-滑动窗口计数

滑动窗口

2024-12-11 11:29:44 181

转载 LeetCode39-组合求和[回溯]

这道题硬解析会比较麻烦,但是使用回溯算法会比较简单一些,毕竟是个LT中等题;回溯算法:实际上是一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。选择。对于每个特定的解,每一步怎么构建,肯定都是有限个选择,要怎么选择,这个要知道;同时,在编程时候要定下,优先或合法的每一步选择的顺序,一般是通过多个if或者for循环来排列。条件。

2024-12-06 11:16:30 43

原创 工作纪实59-推荐结果打散

首先,我们明确打散算法的定义。其输入是算法端根据用户偏好程度排列的有序列表,每个对象拥有一个或多个需要加以区分的属性,输出的要求是将相似属性分散开后的一个列表。1、打散程度。究竟是让相同类目的尽可能分隔开,还是只要间隔一定距离就可以满足要求?2、打散依据的维度。是按照一种属性分开就可以,还是存在多种需要考虑分开的因素?3、打散的性能。

2024-12-02 20:24:30 884

原创 LeetCode-LCR 012. 寻找数组的中心下标【双指针】

一切尽在图中,可以把数组[1, 7, 3, 6, 5, 6]代入进去,最终返回下班应该是:3。

2024-10-07 17:08:20 495

原创 数学概念算法-打印100以内的素/质数

素数:只能被1和自己整除的数。

2024-10-07 15:51:17 358

原创 浅谈职业生涯接触到的服务架构

从2016年入行开始,伴随着前期几年的的项目和工作变动,陆续的接触到一些服务架构,包括现在的微服务架构;因为在现有的公司这两年接触的Service Mesh比较多,确切来说我一共在两个团队分别实践和使用了两套框架,虽然对现有的架构脉络梳理清楚(庞大且黑盒),引发了我对之前的架构认知的思考,想着既然打算年后换工作,先整理一下自己对服务架构这块浅显的理解,也欢迎大家指教真要动笔才发现对服务架构理解真的很浅,只能持续的阅读和汲取一些优秀博主的精华,加之自己的理解,产出这一篇文章;

2024-10-02 11:36:25 1303 1

原创 工作纪实58-Idea打jar包

有时候需要配合算法使用spark定时DP,调用java相关的jar包做数据处理。idea打jar包有以下三种场景。

2024-09-24 16:58:14 321

原创 工作纪实57-SublimeText正则匹配

有一堆错误数据,需要统计不同格式的错误数;比如:local=4000_7999。

2024-09-09 18:33:47 237

原创 工作纪实56-ES搜索串一致性

最近接收到了一个需求,一个用户有一组数据,比如字符串:abcdefg,如果新增的数据是abdcdfge,则视为是同一条数据,可以理解为即使顺序不同,但是实际上也是唯一串;

2024-08-22 10:15:39 536

原创 工作纪实55-数组取笛卡尔积

比如:arr1=[1,2], arr2=[3,4,5]⇒ result = [1,3],[1,4],[1,5],[2,3],[2,4],[2,5]手上有个需求,需要对历史数据清洗,有一段场景是有N个数组,分别要对每个数组做交叉取一个值,行成笛卡尔积。搞定,使用三次for循环也是没办法;各位是否有其他的好办法,欢迎留言。

2024-08-19 19:19:45 158

原创 工作纪实54-git使用ssh方式

生成秘钥的命令很关键,不要忽视公司的情况去网上搜,有时候是无用功,不同公司的git版本不一样,有的甚至做二次封装,以实际情况为准。

2024-07-30 19:42:00 347

原创 工作纪实53-log4j日志打印文件隔离

指定了包的日志输出,又指定了这个包下面子包的日志输出,如果在子包的定义标签上加上additivity=false,那么子包中的日志不会打印在父包中,只会在子包中输出。在项目中,我有一堆业务日志需要打印,另一部分的日志,是没有格式的,需要被云平台离线解析并收集到kafka或者hdfs、hive等,需要将日志隔离打印到不同的文件。算法同学希望单独在dump.log中进行日志打印,而后他们去配置采集的逻辑,发现web.log居然也有dump.log的日志,重复打印了;关键代码:additivity。

2024-07-19 17:38:57 494

原创 工作纪实52-jar包冲突

项目种RPC调用,引入服务方的jar包依赖不规范时,引入后会存在很多的包冲突。

2024-07-15 11:07:08 201

原创 技术人人性的弱点

作为一名8年的java,技术上自我感觉勉强跟得上,但是某些层面真的是硬伤,欢迎各位和我一起讨论。

2024-07-12 00:32:46 246

转载 (粉丝福利局)java面试-场景题汇总

这样,在已经得知到已读消息的数量和具体消息 id 的情况下,我们可以直接使用消息 id 来查询没有消费过的数据。这个方案看起来没什么问题,但实际上,我们把所有用户通知的消息全部放在一个表里面,如果有 10W 个用户,那么同样的消息需要存储 10W 条。只需要设计一个消息内容表和一个用户通知表,当创建一条系统通知后,数据插入到消息内容表。每个用户去获取未读消息的时候,只需要查询大于当前维护的 msg_id_offset 的数据即可。如果是站内渠道,在插入消息内容后异步的插入记录到用户通知表。

2024-07-05 16:18:19 3916

原创 LeetCode125-验证回文串【双指针】

字符串转换处理是关键一定不要忽略大小写左右指针很灵活。

2024-07-05 15:12:40 267

原创 LeetCode415-字符串相加【双指针】

常规的思路就可以解决先把计算做分解高位补0或者截取高位都可以处理,但是细想一下补0更方便。

2024-07-05 11:31:51 356

原创 LeetCode258-各位相加

2个单位数相加一定不会超过19,抓住这一点做循环的两位数相加即可。

2024-07-04 19:30:25 257

原创 LeetCode LCR 016. 无重复字符的最长子串(滑动窗口)

使用滑动窗口算法,left和right指针;right指针遭遇相同的值的时候,意味着left指针需要往右边移动一下,此时需要清空bucket,不用担心丢失数据,因为max早就记录了,只需要不断地移动两个指针比较接口最大值max要反复取下面的代码很关键,如果right指针遭遇了相同的字符串,如果;if (left!= 0) {

2024-07-02 20:13:43 302

原创 3、加密算法-AES和RSA

它是一个唯一对应一个消息或文本的固定长度的值,它由一个单项Hash函数对消息进行计算而产出;不定长的数据===》数字摘要算法(Hash)====>定长的数据不用纠结非对称加密的公私秘钥在前端or后台生成,关键是看场景和主导方RSA拿来做签名是:私钥加密,公钥解密RSA拿来做数据传输加密是:公钥加密,私钥解密jwt的token案例在了解RSA的逻辑之后,会变得非常简单。

2024-07-02 10:11:26 1952

原创 工作纪实51-手撸AB实验分流策略

前几天写了一篇关于哈希算法的文章,起源就是在构思AB实验平台的时候,用到了哈希,所以对其做了深入的了解AB实验平台是一般互联网做策略、样式实验会用到的一个系统,一般开启某个实验之后,需要对线上流量进行分流:客户端->实验平台->策略平台->应用服务,大概是这个链路。

2024-06-28 18:02:10 5139 2

原创 2、Hash算法-自我解读

哈希算法和一致性哈希,不是一回事儿TreeMap 的 ceilingEntry 方法的作用是在 TreeMap 中找到大于或等于指定键值的最小键值对,使用它可以模拟哈希环如果构建了虚拟节点,其实投射到哈希环上的哈希值,都是虚拟节点的哈希值,只不过每个虚拟节点的指向性是一个真实的Node机器,但是这样不妨碍它确实是让数据分布变得更均匀虚拟节点个数挂载的越多,数据分布越均衡,大家可以试一下改一下值,我代码里面设置的是3。

2024-06-28 02:21:31 1187

原创 1、加密算法-MD5随机盐

MD5消息摘要算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要(32位的数字字母混合码)。

2024-06-27 12:17:57 1198

原创 LeetCode26-删除有序数组中的重复项(1)(快慢指针)

快慢指针是优质解,起点位置要一致,频率可以有快慢。

2024-06-25 12:18:27 346

原创 LeetCode21-合并两个有序链表【双指针】

优先推荐循环解法。

2024-06-24 16:41:53 326

原创 LeetCode206-反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

2024-06-16 15:08:56 442

原创 LeetCode80-删除有序数组中的重复项(2-快慢指针)

需要理解题意,数组本身是有序的,也就意味相同值肯定是挨着的需要理解一下为什么slow=2,是因为要从数组的第一个开始重新进行赋值。

2024-06-16 14:44:39 322

原创 LeetCode-数学基础开篇

f(x)a>0且a≠1)【a: 底数(常量),x: 指数(变量)特征:指数函数在x轴没有交点,是光滑的曲线。

2024-06-05 23:39:16 211

原创 LeetCode70-爬楼梯【斐波那契】

其实和高中的数学归纳法有点像,对前面的几个情况进行穷举就会发现是一个斐波那契数列递归法写法简单,但是对栈内存的开销存在一定的损耗,推荐for循环。

2024-06-05 22:17:01 439

原创 LeetCode122-买卖股票的最佳时机

其实就是次日-前一日的差价>0,就可以卖了再买,一直循环即可。

2024-05-30 23:48:00 350

原创 LeetCode1-两数之和【valueIndexMap】

用map去存两数相减另一半的index下标,只需要挨个存一遍,即可找到合适的。

2024-05-30 23:33:07 274

原创 LeetCode22-移除元素【双指针】

如果使用单指针遍历数组,每遇到一个目标值就需要将后面所有元素向前移动一位。这样会产生大量的赋值操作,效率较低。双指针方法只需要在遇到目标值时,将当前位置的值替换为数组末尾的值,然后缩小右指针的范围。这样可以大大减少不必要的赋值操作。不要纠结绝对的有序,另外right的边界需要自己理解一下。

2024-05-30 14:33:46 452

原创 LeetCode88-合并两个有序数组(双指针)

使用双指针优点是不用考虑数组的扩容和赋值;直接对两个数组从右往左进行指针移动,哪个大取哪个值放到尾部,同时移动对应数组的指针,较小值的数组指针不动;同时考虑两个数组的边界,移动到下标为-1时,说明已经结束,其他的值直接使用另外一个数组指针移动的值即可拿纸笔画一画更容易理解。

2024-05-30 14:30:59 264

原创 工作纪实50-Idea下载项目乱码

下载了公司的一份项目代码,发现是gbk格式的,但是我的日常习惯又是utf-8,下载项目以后全是乱码,脑瓜子疼借用网友的一张图,如果是一个一个文件这么搞,真的是蛋疼,好几百个文件!

2024-05-28 21:59:16 379

es-head,谷歌浏览器插件,解压可用

es-head,谷歌浏览器插件,解压可用

2023-08-01

Sentinel.rar

sentnel-dashboard生产改造版: 【push模式】实例化监控数据[mysql],持久化流控rule规则配置到redis,

2021-03-02

eureka注册中心jar包【本地测试专用】

eureka注册中心jar包【本地测试专用】

2020-12-23

consul.rar

超级轻便的consul,适用windows-64位系统和开发工程师在本地拿来做中心

2020-03-31

nosqlbooster4mongo-5.1.8.exe

mongo客户端 mongo客户端 mongo客户端 mongo客户端 mongo客户端 mongo客户端

2020-02-03

testng官方文档翻译.md

TestNg的官网中文翻译,一个一个码字码过来的哦 TestNg的官网中文翻译,一个一个码字码过来的哦 TestNg的官网中文翻译,一个一个码字码过来的哦 TestNg的官网中文翻译,一个一个码字码过来的哦 TestNg的官网中文翻译,一个一个码字码过来的哦

2020-01-10

kafka2.11.tar.gz

kafka2.11.tar.gz

2019-03-06

canal.deployer-1.1.3.tar

canal.deployer-1.1.3.tar

2019-03-06

zookeeper-3.4.11安装包

zookeeper-3.4.11安装包 支持window和centos稳定版

2019-03-06

阿里云验证码、短信模板

即插即用,lib库记得引入,只需要更改阿里云提供的accesskey和手机号码,即可

2018-12-03

MongoDb集群

关于MongoDb的技术调研文档,详细的Replica Set集群安装手册!

2018-11-29

SpringBoot集成Quartz分布式定时任务

SpringBoot集成Quartz完全分布式定时任务,即插即用,不好用直接捶我! SpringBoot集成Quartz分布式定时任务 SpringBoot集成Quartz分布式定时任务

2018-11-01

超好看的登录页

找了大半天找到的很好看的登录页,简约时尚!还在等什么,不好看不要分!!!!

2018-10-24

Gradle生成mybatis相关单表接口以及实体类

mybatis代码生成工具,可根据package配置,灵活配置!

2018-10-24

Netty权威指南第二版 MessagePack部分源码

Netty权威指南第二版 MessagePack部分源码 Netty权威指南第二版 MessagePack部分源码 Netty权威指南第二版 MessagePack部分源码 Netty权威指南第二版 MessagePack部分源码

2018-04-12

msgpack-0.6.7jar包

messagepack jar包,netty教程专用 messagepack jar包,netty教程专用 messagepack jar包,netty教程专用 messagepack jar包,netty教程专用

2018-04-11

kafka安装教程

kafka安装教程 kafka安装教程 kafka安装教程 kafka安装教程 kafka安装教程

2018-03-16

hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程

hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程 hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程 hadoop-2.7.5,hbase1.2.6.zookeeper.3.3.6完全分布式安装教程

2018-03-16

quarzt定时任务(包含动态切换数据源)

quarzt定时任务(包含动态切换数据源) quarzt定时任务(包含动态切换数据源)

2017-12-28

SSM整合KindEditor-4.11编辑器

将kindeditor与ssm完美整合,如果你不是ssm框架,也没关系,核心的代码都已做了修改。 完美显示文件、图片、视频的上传 4.11 kindeditor版本: 新增: 俄语语言包,感谢Valery Votintsev (http://codersclub.org/)。 改善: 语言包文件名标准化,zh_CN -> zh-CN, zh_TW -> zh-TW。 Bugfix: [IE6] 当前页面设置了document.domain,销毁编辑器会报错。 Bugfix: 行首全角空格被过滤。 Bugfix: 修复多语言包的一些小错误。 Bugfix: [IE11] 有些设备报错不能显示,对象不支持attachEvent属性或方法。 Bugfix: retina屏幕上按钮裂开。 Bugfix: 编辑图片后点击插入图片,弹出两个dialog。

2017-12-26

slf4j-1.7.25jar包+logback-1.2.3jar包

slf4j-1.7.25jar包+logback-1.2.3jar包 slf4j-1.7.25jar包+logback-1.2.3jar包

2017-12-05

CXF协议WebService+Spring客户端和服务端程序,实现了多数据源动态切换

WebService+Spring客户端和服务端程序,实现了多数据源动态切换 测试的麻油们,依次打开客户端和服务端的main方法就可以测试了

2017-12-05

纯Socket编写的client和server端2个程序,多线程文件异步上传,通信

纯Socket编写的client和server端多线程文件异步上传,通信 步骤和注解还要打印清晰,通信方式为VO实体对象,传统的socket文件上传,只能是接收IO流,无法接收其他的信息,此程序将其改为vo的方式进行的多线程异步上传,客户端和服务端采用的都是多线程异步的方式进行处理

2017-12-05

Sigar java

java利用Sigar去获取服务器的cpu,内存等信息,demo页!有涉及到监控项目的小伙伴可以看看!linux和windows环境的相关文件都有!

2017-09-01

jdk1.8api文档

最新版 JDK 8.0 CHM帮助文档, 带完整的索引和目录,方便查询。 需要了解最新方法和源码的小伙伴赶紧来下载吧。(之前上传的东西有误,所以更新了)

2017-09-01

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

TA关注的人

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