- 博客(96)
- 资源 (21)
- 问答 (15)
- 收藏
- 关注

原创 两文读懂DDD领域驱动设计(二),举例说明,通俗易懂【值得收藏】
~没看过的小伙伴先去看第一篇,然后再来看这个~上文中我们看到DDD有几层如下,可以再看下。
2024-10-09 17:38:00
1585

原创 总结一下自己,最近三年,我做了哪些工作
有时急于满足客户需求没走正常流程,导致开发设计质量低下,开发和测试没有足够的自测测试时间,存在返工情况或其他风险,后面尽量沟通好确定的需求再移交开发需求以及设计文档考虑不够详细,开发过程中发现有细节业务问题,会导致返工或工时不够的情况;后面需求设计尽量有业务闭环,原型、如涉及现有系统改动需提供改动点等,不仅仅完善了文档,同时减少了开发以及测试的问题开发存在临时解决问题的情况,后面会很难维护:需要从一开始做好设计,提高开发觉悟,开发前自发组织简单的评审讨论。
2024-06-05 17:33:22
658

原创 如何做代码抽象设计,多种设计模式的应用【四种抽象方式,干货附上代码】
代码这种东西,机器不管你写的怎么样,肯定能识别, 人就不一样了,前人拉屎后人踩屎,一坨认栽,n坨就有点过分了哈一般写代码也不用太高大上,很多接口还是很简单的,如果把各种设计模式搞上来那叫过度设计,叫逼王;就在多渠道,多河流的时候才能当逼王看到过几位写的不错的同事搞的设计,和大家简单介绍一下下面介绍下这三种方式。
2023-02-10 09:54:34
1017

转载 JDK8飞到JDK17版本介绍和踩坑记录
SpringBoot3和Spring6的最低依赖就是JDK17!JDK17就是官方保证会长期支持的版本。JDK 17 最多可以支持到 2029 年 9 月份。JDK 8 支持的时间更长,可以延长到 2030 年 12 月从 JDK 诞生到现在,还在长期支持的版本主要有 JDK 7、JDK 8 、JDK 11以及 JDK 1,JDK 17 将是继 Java 8 以来最重要的LTS版本,是 Java 社区八年努力的成果。
2023-01-03 20:17:55
7731
原创 从源码揭秘ArrayList与LinkedList高频考点,梳理根治我们的“知识负债”
知识负债,面试经常明明知道但是回答的并不好,我不知道其他人是什么样的,我总是记不住那么多,经常感觉自己好弱,找不到自己确切的位置,后来我发现可能是知识负债比较多,需要更详细的整理成自己的,知识总是要经常温习,也许大佬们看一遍就都记住了吧,还有,面试准备不足。
2025-03-18 13:28:18
803
原创 LinkedHashMap 核心解析:从源码到LRU缓存实现,揭秘双向链表维护机制
分享是一种习惯,却很难保持,每个人都想一夜暴富,克服自己的惰性才需要毅力时间就像是温水煮青蛙,当你忽略了它,它也就煮熟了你~介绍下LinkedHashMap吧,咱言简意赅点可以看到继承了实现了HashMap,实现了Map,该有的功能都有了。
2025-03-18 12:21:21
928
原创 图搜索的两种写法,广度优先和深度优先
最近AI的爆发大家都疯了,也确实够疯,前几年谁能天天和AI聊天呢,特别它越来越智能,越来越理解你,你越来越离不开它,我很好奇将来它会不会有情绪,太可怕了,一旦有了这个就有了感情,那才是人类的噩梦整理下图的理解吧它是复杂的非线性结构;比如社交好友,都有以下一些维度认识下下面集中图。
2025-03-17 20:09:29
399
原创 二叉堆原理与Java代码实现|附完整代码与深度解析
最近要重新找工作,复习中,有些东西边复习边整理吧,找工作也不是一天两天的事,也是看缘分,看哪阵东风能吹到我这哈哈二叉堆(Binary Heap)是一种特殊的完全二叉树数据结构,用于高效地实现优先队列。(Min Heap)和(Max Heap)。在最小堆中,每个父节点的值都不大于其子节点的值;而在最大堆中,每个父节点的值都不小于其子节点的值。二叉堆的关键特性是它提供了对堆中元素的快速访问、插入和删除操作,所有这些操作的时间复杂度都是 O(log n),其中 n 是堆中的元素数量。
2025-03-17 19:48:08
603
原创 【数据结构】TreeMap和ConcurrentSkipListMap详解及对比,高性能少不了他们
生活不是一天两天,还是要积累的,原来很多笔记都堆在了云笔记上自己看,也许分享可以让人成长更快吧,作为技术人有时候挺蕉绿的,因为很多时候想看看其他类型的书,但是总无法静下心来,就好像不看技术书籍,不学习技术就哪里不对劲,真是一个糟糕的心态,如果你们也有类似问题,让我们一起改变一下吧,看书确实让人愉悦,放平心态,不要管年龄,技术深浅,每天每周花些时间看其他类型的书,对于人生本身来说不仅有益,也是享受言归正传~TreeMap和ConcurrentSkipListMap很多特性比较像。
2024-10-11 16:52:00
591
原创 【数据结构】二叉堆一文详解,附demo
有时候也挺迷惑的,技术那么多,感觉学什么都来不及,又什么都得学,经常一看别人,哇,比你年轻比你厉害,然后自己emo一下又要鸡血模式,就挺无语的,但愿我们的坚持与努力都不白费吧,虽然开发可能不是一辈子的事,但但是干一天优秀一天,也是很有价值感的,加油共勉二叉堆(Binary Heap)是一种数据结构,用于。(Min Heap)和(Max Heap)。。二叉堆的关键特性是它提供了对堆中元素的快速访问、插入和删除操作,所有这些操作的时间复杂度都是 O(log n),其中 n 是堆中的元素数量。
2024-10-11 16:12:09
1550
原创 两文读懂DDD领域驱动设计,举例说明,通俗易懂【值得收藏】
最近对架构莫名的感兴趣,慢慢觉得架构本身是为了提供方便,定制规范,目标一致并更好的协作,它的变动也并不是像变形金刚一样,而是像幼苗一样按规律成长起来的DDD是一种方法也是一种思想,大家前面个别概念看不懂没关系,后面会举例讲,下面一一说一下DDD。
2024-10-09 17:11:35
839
原创 掌握 Spring:从新手到高手的常见问题汇总
一提起Spring,总感觉有太多知识,无法详尽,有些基础理解就先不说了,相信大家都已经用过Spring了下面简单针对常见Spring面试题做些回答1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
2024-09-14 16:07:53
1651
原创 【深入浅出Redis】Redis常见问题以及解决方案,可用于面试
前面分享了几篇Redis系列文章,那么我们在使用Redis的过程中都会遇到什么问题?如何解决?都有哪些方案?下面给大家介绍下。
2024-09-14 15:55:36
1565
原创 【Redis】redis.conf配置文件详细解释 调优必备
reids.conf,这个配置文件很重要,忘了从哪个地方保存下来的,今天分享给大家,后面配置的时候可以参考。
2024-09-09 11:26:18
928
原创 maven生命周期介绍;maven-dependency-plugin讲解;maven-resources-plugin讲解;docker-maven-plugin简单讲解
Maven Assembly Plugin 是一个强大的Maven插件,用于创建项目的分发包,它可以将项目的编译输出、依赖、资源以及其他文件组织成一个可分发的归档文件,如ZIP、TAR、JAR、WAR等。知识总是在总结中发酵的,去年在公司做过容器化相关的东西,涉及到制作发布包等内容,对maven有了进一步的理解,但是一直没有时间整理,最近找些时间总结一下,希望对大家也有帮助吧。maven-dependency-plugin是Maven中一个非常强大的插件,用于处理项目依赖相关的任务。翠花,辛苦捡桌子了!
2024-06-01 15:52:35
812
原创 Spring事件分析以及多种使用方式实践 使用场景 附可执行demo
我们可以定义一个事件类继承ApplicationEvent ,并设置为泛型,它毕竟是个类,我们可以在里面写点字段啊方法的都行,无非发布后在监听的地方去执行,那么具体你想搞些什么发布出去让 监听去做的,或者只是通知一声,都是你说了算。
2024-05-13 19:39:45
1076
原创 @FunctionalInterface函数式接口深入实践附demo 多种写法 提高代码可读性健壮性
@FunctionalInterface 是Java 8引入的一个注解,主要用于标记一个接口为函数式接口。函数式接口是指只有一个抽象方法(除了默认方法和静态方法外)的接口。特点如下:唯一抽象方法:被@FunctionalInterface注解的接口必须保证只包含一个未实现的方法。如果接口中有多于一个抽象方法,编译器将会报错。Lambda表达式的载体:函数式接口是Java中Lambda表达式的目标类型。你可以通过Lambda表达式来创建该接口的实例,使得代码更加简洁和易于阅读。默认方法和静态方法不
2024-04-23 19:12:03
812
2
原创 几种非常常用的方式获取springboot中application中的配置 大家看着用
在springboot应用中可以从application.properties中获取配置文件的方式,多种介绍
2024-02-01 19:04:23
957
原创 建造者模式深入理解:演示建造单个和多个产品的实践,结合模板模式,通俗易懂
建造者模式(Builder Pattern)是一种创建型设计模式,它主要用于将一个复杂对象的构建过程与它的表示分离,使得同样的构建过程可以创建不同的表现形式。这种模式通过一系列可重用的独立的类(称为建造者或构建器)来一步一步创建一个复杂的对象,而不需要知道具体的内部构造细节
2024-01-11 20:41:23
1297
原创 高级鉴权网关设计二:SM2国密+协议SPI可扩展+动态配置
既然是网关其实就是和外部的礼尚往来,每个第三方还有可能不一样,一般常用的有http的form表单,get,post,https,和每个第三方的交互签名方式、加密方式都可能不同,很多时候取决于你是甲方爸爸还是乙方儿子,如果是甲方就好了,对接就按你们的来,你们来对我们,乙方就痛苦了,得适配不同的甲方爸爸,那我们该如何设计呢?下面为大家介绍一种比较常用的方案,附带可扩展设计。关于加密和协议根据两个维度进行扩展,一个是加密类型encryptType,一个是协议类型protocolType,分别定义好枚举。
2024-01-08 20:28:56
669
原创 高级鉴权验签方式的实践,技术方案为注解+ASCII排序+多类型多层级动态拼接+RSA加密(或国密SM2)+Base64+Redis滑动窗口限流
虽然大多数企业的流量没有那么大,不过限流还是要有的,毕竟还有外部调用我方系统接口,需要验证访问权限进行,同时防止万一接口并发量大影响我方系统, 所以要增加流控处理;不同的来源在独立配置,可以做到不同来源的限流鉴权设计技术方案:采用注解+ASCII排序+多类型多层级动态拼接+RSA加密(或国密SM2)+一次Base64转码限流设计:采用Redis的zset滑动窗口限流的方式建议用国密,SM2比RSA的效率要高,话不多说,先说方式,后说好处。
2024-01-05 17:52:29
667
原创 Spring基础梳理(一):一定要先全局掌握Spring
越活越完蛋了,看着看着现在又想梳理梳理Spring基础,搞点原始真解吧,不过技术人每个阶段看相同东西的理解都是不同的,只是现在浮躁的技术中又有多少人能够一本书啃两遍以上呢,我也一样,徜徉于业务之中,所以技术是什么,永远记住,技术是服务于业务的,架构也是同样的道理,不要为了技术而技术,为了架构而架构。
2023-08-17 19:37:57
182
原创 【AI资源福利篇】整理当前主流AI开发工具、聊天机器人、资讯、大语言模型、以及绘画等其他AI平台工具
福利篇~~~~~~~~陆陆续续看了很多AI相关的网站,并且也实践了一些,今天整体整理一下分享给大家,希望大家都是风口上的猪,能够飞上天。
2023-08-02 18:44:40
999
原创 【深入浅出Redis-高可用篇】带你吃透Redis高可用以及弹性扩容方案
同志,别忘了成长这一篇给大家介绍一下,保证让大家心里有底,脑中有概念Redis的高可用主要有两种,一种是主从复制,一种是哨兵,一种是集群cluster。
2023-07-24 00:40:31
488
原创 Redis缓存雪崩、穿透、击穿原因分析和解决方案,附Redis管道使用技巧
Redis管道(pipeline)是一种在网络层面上实现的批量操作机制,它可以将多个命令一次性发送给Redis服务器,而不需要等待每个命令的响应。这样可以减少客户端和服务器之间的网络通信次数,提高命令执行效率。Redis管道的原理是基于TCP协议的请求/响应模型,即客户端发送一个请求后,必须等待服务器的响应才能发送下一个请求。如果客户端有多个请求要发送,那么就会产生多次网络往返延迟(RTT),影响性能。
2023-07-16 02:55:13
360
2
原创 【深入浅出Redis 一】从版本特性到数据类型到线程模型,带你了解Redis的核心特性和应用场景!
先了解下Redis的一些基础知识和特性,Redis是一个开源的,基于内存的高性能键值数据库。它支持多种数据类型,如字符串、列表、集合、散列、有序集合等等。高性能:Redis可以处理每秒数十万次的读写操作,因为它将所有数据存储在内存中,避免了磁盘I/O的开销。持久化:Redis可以将内存中的数据定期保存到磁盘中,或者将每次修改操作追加到日志文件中,以实现数据的持久化。这样,即使发生系统崩溃或重启,也可以恢复数据。主从复制。
2023-07-03 22:41:52
299
原创 如何解决多线程卡死问题?四招教你轻松应对!
多线程大家都用过,可以让一个程序同时执行多个任务,提高效率和性能,一个人干的慢,三个人干。但是,多线程也带来了一些问题和挑战,比如等问题,三个人抢一碗米饭,没有个规矩肯定要打架的。这里我介绍一种可能出现的多线程问题:如果一个线程在执行过程中一直卡住,线程不释放最终导致线程耗尽怎么办。这是前一阶段对接外部系统时遇到的一个问题,对方提供了个SDK,我们集成后用他们的netty的方式建立连接,推送相关数据,但是呢这个推送不能阻塞业务,所以我们采用异步推送,搞了个线程池,随取随还,如图后来就发现有一个。
2023-06-26 20:10:12
7813
原创 Java类加载机制:从字节码到对象的奇妙之旅
类加载机制是Java虚拟机将字节码转换成可运行的类的过程。这个过程包括三个主要步骤:加载、链接和初始化编辑就是将字节码文件从不同的来源(如本地文件系统、网络、内存等等)读取到虚拟机中,并创建一个对应的Class对象,用来表示这个类在内存中的数据结构。连接:就是将加载后的Class对象进行验证、准备和解析三个阶段的处理,以保证类的正确性和完整性。其中包含了下面三个小步骤验证:就是检查元数据Class对象是否符合Java虚拟机规范。验证文件格式验证;验证字节码验证(确定程序语义合法,符合逻辑);
2023-06-23 10:51:15
994
原创 【起飞】让你电脑速度快到飞起的一些牛逼的设置整理【电脑卡顿反应慢等问题解决】
对于开发来说电脑的反应速度简直影响了思维的速度,要让电脑速度跟上我们的思维,提高工作效率,早点打卡下班回家陪老婆孩子哈哈这篇文章主要对windows系统做的一些优化,是真的好用,仿佛在访问静态页面一样,下面我分享一下相关设置以及一些使用情况吧。
2023-05-16 12:23:23
4333
原创 【SpringBoot1.5.x升级到SpringBoot2.2.13记录】
为什么升级到2.x1.SpringBoot 1.X 官方已不再进行维护;2.SpringBoot 1.X 下许多新发现的SpringBoot和SpringFramework的漏洞无法再进行升级处理,安全扫描无法通过;3.SpringBoot 2.X 下的应用启动速度会比SpringBoot1提升10到20秒时间,整体性能上也更优。
2022-12-15 19:18:53
1104
原创 开发者友好的Linux常见命令整理
uname -a # 查看内核/操作系统/CPU信息cat /etc/redhat-release 查看服务器版本cat /proc/cpuinfo # 查看CPU信息hostname # 查看计算机名lspci -tv # 列出所有PCI设备lsusb -tv # 列出所有USB设备lsmod # 列出加载的内核模块env # 查看环境变量查看ip信息:ifconfigdu -sh # 查看指定目录的大小。
2022-11-29 20:30:58
1035
1
原创 2022除岁迎新,与君共勉
2022,除岁迎新愿我们的坚持都能够得偿所愿愿少bug,高质量愿我们都学有所成,体现自己的价值,展现自己的知识此刻,看到这里,相信我们都是活在了最好的时代改变世界,有时候就是不经意间相信自己,即是无敌...
2022-02-07 16:47:49
239
原创 try catch finally各种情况的执行顺序(示例)
比较有意思的,基础的,容易忽略的小例子,开发的时候要注意上例子示例1public static void main(String[] args) { int i = test1(); System.out.println("main " + i); } private static int test1(){ int i=0; try { i++; System..
2021-10-08 10:58:17
321
2
原创 类加载顺序示例解析理解
通过实例加深一下理解吧 类加载顺序的认识直接影响开发的水平,包括后续设计扩展点,作用范围都有着明确的指导比如下面父子类,分别定义静态变量,全局变量,静态代码块,非静态代码块,构造方法public class ParentTest { static int x = 1; int xx = 2; static { System.out.println("x " + x); } { Syste...
2021-09-24 13:27:22
176
原创 TRC20代码接入
@Test public void balanceOfTrc20() throws Throwable { String queryAddress = "TXoDY8b3upAAkPxaK5B845zd8x44bFh1nX"; String url = tronUrl + "/wallet/triggerconstantcontract"; JSONObject param = new JSONObject(); ...
2021-06-03 14:49:24
8496
3
原创 Springboot+JWT+Shiro集成完全版(带测试示例)
相信大家已经对shiro,jwt有基本的概念了,不熟悉的可以看下jwt:https://blog.csdn.net/Goligory/article/details/104400381对于shiro等会我贴上代码然后简单分析下maven引入 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-s...
2021-05-24 18:04:06
933
2
原创 堆外内存的介绍及释放
热爱美好的事物,是一种追求介绍____堆外内存意味着把内存对象分配在 Java 虚拟机的堆以外的内存,这些内存直接受操作系统管理(而不是虚拟机),作用:能缩短垃圾回收时间 适合生命期中等或较长的对象特点:对于大内存有良好的伸缩性,可以自行扩展对垃圾回收停顿的改善可以明显感觉到,不影响用户线程在进程间可以共享,减少虚拟机间的复制如果使用的多,那么你可能会考虑硬盘的速度会有影响堆外内存的回收堆外内存的分配很简单,比如如下ByteBuffer buffer = ByteBuffer
2021-04-02 17:20:03
1688
Git开发操作文档 全面介绍Git技术
2023-08-31
Docker学习文档,全面介绍Docker技术
2023-08-31
云原生学习word文档(全)
2023-08-31
宝藏网站合集:里面有个各种网站,网页工具,AI,素材模板等
2023-08-31
Discord安装包,没错就是你以为的MJ-discord安装包
2023-06-08
node-v12.16.2-linux-x64.tar.xz
2020-04-25
jacob和百度语音播报
2018-07-26
个推推送工具类
2018-07-26
新版支付宝支付集成
2017-11-01
支付宝电脑网站支付
2017-08-28
javaweb如何根据pc端写一个手机端?求好的思路
2017-07-19
ngrok的使用,没有访问成功,求指点
2017-07-12
textarea有换行提交不了,请教大神为什么,如何解决?
2017-06-02
为什么手机适配meta-viewport后火狐浏览器并不能全屏显示,别的浏览器都可以?
2017-05-17
placeholder多文本框输入兼容性的问题
2017-05-15
jsp界面如何用简单的MD5进行密码加密
2017-05-08
ssm中取到的值#{}如何再拼接一个字符串
2017-05-04
求sqlserver大神,ssm能连上只能运行一遍代码,重启电脑后还是只能运行一次
2017-04-17
sql server数据库登不上去
2017-04-13
索引1超出范围,insert是我的语句
2017-04-12
sqlserver数据库登不上去,每次重启电脑才能访问一次
2017-04-11
sqlserver数据库中这个锁如何删除,每次运行一次都会被锁,电脑重启才好一下,谢谢了
2017-04-10
如何根据报销单设计数据库
2017-03-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人