自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

起舞的日子

怕什么真理无穷,进一寸有一寸的欢喜~

  • 博客(250)
  • 收藏
  • 关注

原创 前言

前言

2017-05-17 20:11:39 663 1

原创 力扣-哈希思想-两数之和

正常思路是循环遍历,暴力寻找。缺点是需要双重循环,哈希的解法是遍历一次,通过求差来找到退出循环的条件,思路非常不错。需要注意的是:hashMap里的key和val分别存什么;以及返回的时候需要注意下标顺序,已经存在的放在前面。背景:刷力扣题目:两数之和。

2026-08-13 16:54:39 86

原创 扫雷游戏背后的技术思想

背景:牛客网 noob52扫雷。

2026-03-02 10:03:54 498

原创 杨辉三角-二维数组解法

使用二维数组打印杨辉三角;并优化解法。

2026-02-28 23:13:57 282

原创 算法思想-差分法和前缀和

算法思想:差分法和前缀求和

2026-02-26 22:21:51 340

原创 约瑟夫环问题(取模-回环)

java解决约瑟夫环问题,对应牛客网noob46

2026-02-25 14:03:13 405

原创 动态规划-Dynamic Programing-DP

使用DP思想优化三阶线性递推模型解法。

2026-02-21 13:14:14 452

原创 斐波那契数列

记录斐波那契数列解法和衍生内容

2026-02-20 18:10:17 333

原创 牛客网刷算法的启发

牛客网 算法 一题多解、小题目包含大思想

2026-02-20 09:04:08 536

原创 卡拉兹函数

卡拉兹函数java实现

2026-02-18 17:36:11 391

原创 ElasticSearch系列-3-java端整合CURD

理解分片与副本的核心概念,掌握合理的分片配置策略。性能优化入门(解决实战中的性能瓶颈)避免深度分页问题,掌握高效分页方案。优化查询语句,提升检索性能。

2026-02-05 11:19:57 304

原创 ElasticSearch系列-2-中文分词器和复合查询与高亮显示

继续了解ES.按照学习路线图,这篇博客介绍如下2点:【本期】1、 安装中文分词器 IK 2、深入复合查询与高亮显示。

2026-02-02 12:37:36 1292

原创 ElasticSearch系列-1-入门篇

接触新东西,最好有一个完整的学习路径图,网上文章往往比较零散,官网吧说实话人家介绍东西思维方式跟我们还是有差别的,还是不能快速初窥门径。AI可以极快加速这个过程。我按照豆包提供的路径做了如下事情:1、docker本地(Mac)部署ES和Kibina;2、使用kibana的图形化开发工具,熟悉基本的CURD。

2026-01-29 21:43:37 1023

原创 MySQL的深度分页及相关概念

mysql回表、深度分页

2026-01-27 12:06:49 399

原创 Java线程池-执行顺序

参考文档: https://javaj.blog.csdn.net/article/details/155262391这篇博客讲解的很清楚了,我这里主要是把里面内容实践了下,在结合源码总结下。

2026-01-22 00:18:59 1213

原创 泊松分布—在jdk源码中的体现

泊松分布、ConcurrentHashMap、链表在阈值为8的转红黑树

2026-01-20 10:27:01 125

原创 【Windows本地端口占用脚本自动化】

本地启动多个Java微服务,因为停电或者内存回收原因,IDEA直接退出;再次启动各个服务会提示端口占用。每次都cmd输入命令手动Kill比较繁琐,可以把此脚本放在桌面上作为一个小工具,运行即可。代码(核心部分是chatGPT自动生成)

2023-12-05 10:36:43 787

原创 修复存量数据技巧之【存储过程】

开发迭代的过程,你是否经常遇到需要考虑:增量、存量数据如何处理的场景?比如一个新功能,对增量的数据不用过多考虑,不过对存量的数据,需要处理后才能满足升级需求。这里简单记录下在修复存量数据过程中可能会用到的一个技巧【存储过程】。存储过程一般很少用,笔者写过和接触过的存储过程寥寥无几。有的领导在编码规则中会专门强调尽量不用或者少用存储过程。不过,在修复数据,数据量不大又需要遍历的时候,走走存储过程还是蛮方便的。数据库前期业务未考虑幂等,未对关键的几个字段比如:company_id、employee_id, ty

2022-06-13 08:02:51 1114

原创 Vim实战小技巧【系列】

Vim实战小技巧(系列)

2022-01-23 21:27:17 1412

原创 Mac中安装Windows虚拟机给小米手机刷Root

Mac下用VirtualBox安装Windows来给小米手机刷机

2022-01-16 23:43:28 9999

原创 技术视角看我的一码通-系列2

文章目录两个核心入口1) 小程序2)进入方式核心接口使用缓存小伙伴们,大家好。上次那篇文章-“技术视角看我的一码通【系列】”简单的从扫描一码通后二维码中包含的网址信息分析了下,今天我们继续。这篇文章主要是为下期深入讲解【缓存】做个铺垫,以及准备一下缓存所需的基本环境。两个核心入口笔者把“一码通”保存在了手机桌面,所以打开一码通非常方便。一般打开一码通的步骤是: 支付宝: 支付宝首页 -> 一码通(已添加到了首页)或者:首页-》 搜索一码通-》 进入 微信: 微信 -》 发现 -

2022-01-10 04:16:29 2123

原创 Mac系统服务器管理工具倾情推荐

Mac下使用FinalShell连接服务器

2022-01-05 05:20:51 2018

原创 缺乏架构思维

文章目录一、什么时候会觉得欠缺架构思维?二、怎么办呢?三、的有时候,遇到一个偏架构的问题,立刻就需要一个“英雄”站出来?也就是“还有谁?!”,此刻,自己如果脑袋空空或者畏畏缩缩,是不是会有深深的挫败感?为什么机会来临的时候,却不敢站出来?为什么问道:你有什么想法?的时候,就总是只是沉默?……此刻,最能说明能力配不上梦想。一、什么时候会觉得欠缺架构思维?举几个实战场景吧?1、关于认证和鉴权这块,应该如何设计呢?目前系统的认证和鉴权是否有问题?哪些地方考虑得比较好?哪些还有欠缺?2、前后端部署,是都

2021-10-06 08:59:53 527

原创 Git-2-命令行大总结

读者朋友,晚上好。三年前就接触Git了,是个小工具。最新学习Docker,对当时学习Git的过程还记忆犹新,这里就录制了些视频权当总结。如果你是git新手,建议完整看下这个系列视频(视频有先后顺序,紧密相关,环环相扣),因为笔者对网上关于Git的文章,从现在的视角去看,没有一篇比较满意的。为什么?因为一上来就是命令。没头没尾,零碎得很。该系列分享了如何搭建一个属于你自己的Git环境和基本的命令,相信你从中能感受到笔者很早之前个人学习所留下的痕迹。

2021-07-24 21:36:02 433

原创 JVM-5-垃圾收集算法

读者朋友,今天介绍下垃圾收集算法。之所以会有不同的垃圾收集算法,就是因为在JVM的Heap区,有着分代的假说。之所以要分代,是因为不同“代”之间区别很明显,有着显著不同的特征,正因为这些显著不同的特征,所以针对各个代就有了针对性的“策略”——不同的GC收集算法。分代(Generational Collection)假说分为两种:分代原理弱分代假说大量对象都是“朝生夕灭”弱强分代假说熬过多次垃圾收集的对象就越难以消亡那么分代是依据什么来分的呢?依据:对象的年龄。对象的

2021-05-25 23:35:47 352

原创 JVM-4-对象已死?

读者朋友,晚上好,这里简单介绍下在JVM中是如何判断对象是否存活的。只有死去的对象,GC过程就会回收掉,所以GC的第一步是判断对象是否已死。文章内容均来自:《深入理解Java虚拟机 JVM高级特性与最佳实践》 周志明著 第三版机械工业出版社判断对象是否存活有2种方法:一、判断对象存活的2种算法方法原理优点缺点引用计数法(Reference Counting)对象中添加一个引用计数器,有一个地方引用,就+1;引用失效就-1简单易懂相互循环引用,造成“假引用”

2021-05-25 00:26:19 449

原创 技术视角看生活-2-为什么来电后必须立刻接听?

大家好!之前的技术视角看生活-1-目录篇里抛出的第一个疑问就是:高德地图语音播报时,后台正在运行的酷狗音乐声音会自动变小,为什么?来电后无论在打游戏、看视频、听歌,手机主界面立马会显示来电界面,必须得马上处理,为什么?听歌时候,然后看抖音,酷狗播放器会自动暂停,为什么?其实,上面几个为什么的本质,都是关于【手机软件平台架构】方面的。如果想真正解释清楚,最好需要有实际APP的开发经验,开发一个APP,从开发、发布、安装、自测,走完整个流程自然就对以上原理很清楚了,因为笔者之前都是后端开发

2021-05-20 03:24:05 896

原创 技术视角看生活-1-目录篇

嗨,读者朋友,大家好!回家路上边导航边听歌,无意间发现高德地图语音播报的时候,酷狗音乐正在播放的歌曲的声音会自动变小,待导航语音播报完毕,后台的音乐声音恢复正常……日常经意或者不经意都会基础大量类似的现象,加上最近看JVM,着实有些枯燥,所以不妨出个专栏,专门记录零碎的生活中发现的技术之美。一、地图导航语音播报时后台运行的音乐播放器声音会自动变小与此类似的现象还有:1.2 来电的时候,无论在听歌还是刷视频,来电会充斥整个页面,必须立刻处理1.3 听歌时候又开始刷视频,音乐播放器会自动暂停播放背

2021-05-20 00:49:57 280

原创 JVM-3-实战制造OOM

读者朋友,下午好。这里从JVM的堆、栈、方法区(常量池)、本机直接内u存四个维度分别人为制造OOM-Out Of Memory。目的:1、怎样的操作会导致在指定区域发生OOM?或者StackOverFlow?2、出现这种情况时候如何分析?如何解决。(不是重点,后面学习了各种检测工具之后回头思考)以下代码示例均来自:《深入理解Java虚拟机 JVM高级特性与最佳实践》 周志明著 第三版机械工业出版社1、堆溢出要使堆溢出,只需要创建大量对象即可,并且保证对象在使用。package com

2021-05-16 18:08:34 2194 3

原创 JMV-2-基本构造和各区域作用

读者朋友,下午好。这里介绍下JVM的组成、各部分作用、各部分容易发生的问题等,一图胜千言。当然也可以用电脑画图,但是确实没有手绘方便。

2021-05-16 15:03:38 547 1

原创 JVM-1-虚拟机系列学习目录

大家好,这里记录学习JVM的过程。所有内容均来自:《深入理解Java虚拟机 JVM高级特性与最佳实践》 周志明著 第三版机械工业出版社我们不妨带着以下问题来阅读:JVM的构造是怎样的?没个区域主要做什么?各个区域容易发生什么问题?OutOfMemoryError、StackOverFlow、内存泄漏、内存溢出的具体示例?如何证明在哪个区域发生了?如何解决?GC机制——如何判断哪些对象可回收?GC的常见算法及优缺点?知道这些的作用?排查JVM故障的工具有哪些?怎么用?JVM如何调优

2021-05-16 14:52:34 434

原创 训练程序思维的些许益智题目

大家好!其实,写好程序,本质是什么呢?逻辑思维。逻辑思维本质是什么呢?本质是推理和演算、总结和归纳、假设等等,这些的本质又是什么呢?个人觉得应该是数学吧。所以,这里把自己曾经接触过的一些益智的训练思维,也算是编程思维的题目分享出来,大家有更简洁的思考方法,欢迎评论留言。程序也是如此,实现一个功能有多种方法,尤其是一些算法,用程序表达出来并不是特别难,难得是理解背后的数学逻辑。一、题目一个水池装有甲乙两个水管,单开甲管4小时能注满,单开乙管5小时放完水,两管同时打开多少小时注满水?二、答案

2021-05-09 17:56:47 441

原创 并发-2-竞争条件例子、锁对象

读者朋友,下午好!今天分享一个很好地讲解并发中竞争条件的例子——银行在多个线程时候,随机在2个账户之间随机的转金额,在未加锁的时候,账户总金额会出乎意料的不一致;我们希望的是无论怎么转账,银行所有账户的总金额是固定不变的。示例代码来源《Java核心技术 卷1 第10版》 Core Java Volume I-Fundamentals(10th Edition)[美] Cay S.Horstmann 著周立新 陈波 叶乃文 邝劲筠 杜永萍 译代码库:git@github.com:cmhhc

2021-05-05 19:02:38 511

原创 安全系列-2-学习目录

读者朋友,中午好!实现一个功能,如果不考虑性能、安全等因素,只管写还是挺爽的。一旦要考虑这些因素,就需要更加小心谨慎了,因为那时候你是无知者无畏嘛。最近修复了一些安全单子,想借此机会系统全面的记录下安全相关的知识。在安全领域,也是有一套规范的,类似编程语言有编程语言的规范,这些规范明确了我们不能做什么,这么做了有啥问题。因此,我们就站在巨人的肩膀上,避免重蹈覆辙。因为,每一次攻击背后,都是惨痛的“牺牲”!商场如战场,编程领域何尝不是?每次攻击背后,都要牺牲大量财力、牺牲大量人力时间去挽救损失…这里的记

2021-04-24 10:49:01 363

原创 并发-1-从直观的swing弹球感受并发

大家好,从今天开始,有计划的恶补一下并发知识。目录见:目录示例代码来源《Java核心技术 卷1 第10版》 Core Java Volume I-Fundamentals(10th Edition)[美] Cay S.Horstmann 著周立新 陈波 叶乃文 邝劲筠 杜永萍 译一、效果图上图的却显示无法通过多次点击Start出现多个弹球,Close也没法关闭。上图用到了线程,可发射多个弹球并且可Close。二、示例代码git仓库 git@github.com:cmhhcm/g

2021-04-18 16:55:59 395 1

原创 并发-学习计划

一、夯实基础根据《Java核心技术 卷1 第10版》来夯实直观demon感受线程线程中断线程状态新创建线程、可运行线程、被阻塞线程和等待线程、被终止线程线程属性同步线程安全的集合Collable 和Future执行器10.同步器线程与Swing二、实战案例从codeHub或者收藏的公众号中寻找实战案例:>=10三、落实在作品中思考怎么融合到自己的代码中,并做个作品出来。...

2021-04-18 15:44:16 280

原创 安全系列-2-自定义参数校验-枚举校验

Hi,大家好。今天实现一个枚举类型的参数校验器。效果图:一个接口在Controller层,如果有个属性是枚举类型,我们把参数定义为String呢,还是定义为枚举?类型优点缺点String方便灵活,想传啥传啥其他开发看到此代码不明确可以传什么值枚举非常明确知道可以传哪些值不好做参数校验,容易报HttpMessageNotReadableException类型的异常项目地址:还是在之前的参数校验项目基础上开发的git@github.com:cmhhcm/S

2021-03-07 00:02:55 1091 1

原创 SpringCloud-3-Eureka实现服务间调用

Hi,大家好。目标:3个SpringBoot的项目,一个作为EurekaServer,另外2个作为客户端,客户端A用四种方式调用客户端B来实现通信。知识点:Eureka的基本配置界面查看服务注册情况及判断是否真正注册成功三种方式实现服务间调用服务名作用简称EurekaServerEureka服务器ParamsValidation客户端客户端BEurekaClient2客户端客户端A注册效果:客户端分别使用:@DiscoveryClie

2021-03-04 01:53:34 2696 3

原创 SpringBoot-2-MyBatis实现增删改查

文章目录一、整体包结构二、核心依赖三、application.yml配置四、mvc三层五、总结这里介绍下Spring+MyBatis实现CURD。后期我们可以在这个基础上逐步去增加一些我们想要实现的功能和技术。实现思路:新建SpringBoot项目(web) -》 引入MyBatis依赖 -》连接数据库配置 -》 Mapper层和Mapper.xml -》 Postman自测这里暂不考虑用其自带的18种方法。项目整体代码详见:git@github.com:cmhhcm/SecurityTes

2021-01-31 19:05:16 444

原创 能写出一个生产笑话的程序吗?

文章目录这是人工智能、大数据的时代,很多程序已经可以写诗、作词、作曲了,不过我觉得这些确实有难度,今天突然来了灵感,用程序来创作笑话,会是什么结果呢?当然,怎么创作,这里就不show code了,因为:暂不会。不过,不妨先来分析分析写这种程序的思路:1、笑话的定义:你知道吗? 有一个专门的笑话公式呢!完美笑话公式: x=(fl+no)/p其中x表示笑话的完美程度f表示笑料的有趣程度l表示笑话的长度n表示听笑话者笑得前仰后合的次数o表示引起尴尬的程度p表示双关语的数量既然公式

2021-01-27 23:55:40 433

【Windows本地端口占用脚本解决】

批量结束本地端口占用

2023-12-05

空空如也

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

TA关注的人

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