- 博客(151)
- 资源 (7)
- 收藏
- 关注
原创 MySQL高级特性窗口函数详解
MySQL窗口函数极大地丰富了SQL语言的功能,使得在数据库层面上进行复杂的数据分析成为可能。通过本文的介绍,应该对MySQL中的窗口函数有了更深入的理解,并能够在实际工作中灵活运用这些技巧来提高数据处理的效率和准确性。
2024-09-12 16:54:47 1058 4
原创 支持多语言准确率99.9%的开源离线IP地址定位库Ip2region ,强大到离谱
经过引入和验证Ip2region 获取本地外网IP归属,发现准确率还是可以的,应该可以达到开发者所说的99.9%。最最主要该IP定位库完全开源,再也不用向收费API低头了。那么,如果你的项目上能够接受这极小的误差性还是可以的哦,赶紧GET起来吧!
2024-09-09 11:52:36 1091
原创 Redis缓存预热方案详解:提升应用性能与用户体验
Redis缓存预热是提升应用性能和用户体验的重要手段。通过合理选择预热数据、设计加载策略以及实现具体方案,可以显著提升应用的响应速度和稳定性。希望本文能帮助各位大大更好地理解和应用Redis缓存预热技术,从而提高应用的整体性能。
2024-09-04 16:28:11 1204 4
原创 【实战】Spring Boot 嵌套事务REQUIRES_NEW与NESTED在项目中的运用
通过使用REQUIRES_NEW或者NESTED,我们可以轻松地在现有事务中创建新的事务传播机制,其中REQUIRES_NEW不受外部事务影响,NESTED则是会受到外部事务影响。所以,在实际的开发中我们也需要注意嵌套事务的局限性和潜在的性能问题,以确保应用程序的高效运行。
2024-08-27 16:05:45 1851 1
原创 国产3A大作《黑神话:悟空》的开发商、故事情节和开发语言充满了独特的魅力和深度
《黑神话:悟空》的开发商、故事情节和开发语言都充满了独特的魅力和深度。该游戏不仅在游戏玩法和画面表现上有所创新,更在故事情节和文化内涵上进行了深入的挖掘和呈现。我们期待在未来能够了解到更多关于该游戏的详细信息,并亲自体验这款国产单机动作游戏的魅力所在。
2024-08-22 16:08:32 583 2
原创 探索Java Stream API:高效处理集合的利器
Java Stream API以其简洁的语法和强大的功能,为Java集合处理带来了全新的体验。通过Stream API,我们可以以声明式的方式处理数据集合,使代码更加简洁、易于理解和维护。同时,结合Lambda表达式和函数式接口,Stream API还能轻松实现复杂的数据转换和聚合逻辑。然而,在使用Stream API时,我们也需要注意其生命周期、并行与串行的选择以及与其他Java特性的结合使用,以充分发挥其优势。
2024-08-15 18:07:40 1097 1
原创 【实战】Spring Security Oauth2自定义授权模式接入手机验证
Oauth2自定义认证模式还是比较简单,直接自定义认证令牌、自定义授权模式、自定义实际认证者、然后将自定义的授权模式和认证者交给Oauth2。最后,我们在资源配置中可以配置受限资源和免登录资源,以及token储存方式、用户加载方式等等即可。
2024-08-09 16:42:34 1161 2
原创 【实战】Spring Cloud Stream3.0 整合RocketMq
使用Spring Cloud Stream来进行整合RocketMq。如果我们有在一个项目中需要引入多个MQ的需求,用Spring Cloud Stream简直不要太好。当然,我们是直接使用Spring Cloud Stream3.0,不再像之前低版本那样需要引入通道类进行指定,3.0版本可用直接字配置文件进行粘接绑定信道。
2024-07-23 16:07:17 1726 4
原创 飞书开放平台自建网页应用登录与免登录
最近接收到了一个系统接入飞书的需求,大概就是当前系统只有账户密码登录,需要接入飞书扫码登录,另外还可以在飞书里面点击应用直接实现系统用户免登录。解析一下这个需求就是在浏览器端使用飞书扫码授权完成登录验证,同时需要提供飞书内部应用直接免登功能。哈哈,我调研了一些时间后将飞书网页应用登录与免登录接入了我们系统。现在就主要的接入点分享备注,以备二次查阅。
2024-07-16 17:26:52 2070 3
原创 【实战】EasyExcel实现百万级数据导入导出
最近接到一个百万级excel数据导入导出的需求,大概就是我们在进行公众号API群发的时候,需要支持500w以上的openid进行群发,并且可以提供发送openid数据的导出功能。可能有的同学会说,这么大的数据量发送为啥不用标签发送呢。哈哈,标签发送需要提前打标签微信限制50个一批,我们开10个线程也是需要3个小时左右才能打完,这样肯定不能满足客户需求。如果用openid群发就不一样了,微信支持10000个每批,基本上我开5个线程同时发送差不多几分钟搞定。所以,问题就来到了百万级excel数据的导入与导出啦。
2024-07-02 15:25:22 3797 2
原创 2024年软考架构设计师终于PASS啦
比如2024年的CPU调度算法、储存管理、数据库、项目进度工期、设计模式、系统架构风格、架构权衡分析法、软件测试、架构分析、架构设计、UML视图、结构化视图、知识产权等等都是大纲需要掌握的。上面是官方对这个资格证书的描述,其实说直白点就是解决系统分析和系统设计之间的鸿沟的,我们有了系统架构后续的概要设计和详细设计才能有效的开展,有参照目标的开展,至少我们的大体方向和系统主要架构实在这个阶段产生的,所以说非常的重要。综合知识有一般的题目都是大纲里面的只是,当然另一半就是超纲的课外知识。
2024-06-25 19:09:01 3610 7
原创 【实战】Spring Cloud Stream 3.1+整合Kafka
之前我们已经整合过Spring Cloud Stream 3.0版本与Kafka、RabbitMQ中间件,简直不要太好,直接让我们不用再关心底层MQ如何集与消息收发。但是从Spring Cloud 2020版本开始,Spring Cloud Stream的版本升级至3.1.0以上版本,自此版本开始@StreamListener上面就增加@Deprecated注解,不赞成使用,有可能接下来的版本会删除掉。传说是有利于使用Project Reactor提供的事件流抽象(如Flux和Mono),命令函数在每个单独
2024-06-19 16:04:19 1508 1
原创 Java高级技术探索:深入理解JVM内存分区与GC机制
掌握JVM内存模型与垃圾回收机制,是每一位Java开发者进阶的必经之路。通过深入理解这些核心概念,并在实践中不断优化,我们能够编写出更加高效、稳定的Java应用程序。随着技术的发展,JVM也在不断进化,持续关注最新进展,灵活运用新特性和最佳实践,将使我们的开发工作更加得心应手。
2024-06-13 17:39:42 851 3
原创 【实战】kafka3.X kraft模式集群搭建
相信很多同学都用过Kafka2.0吧,其中需要zookepper集群来做元数据管理和集群选举,大大增加了运维成本,而且也很是影响Kafka性能。言归正传今天我们就分享一期Kafka3.x Kraft模式集群搭建,简直不要太爽。
2024-06-06 18:12:12 1353 1
原创 使用高性能NIO框架netty实现IM集群对聊方案
netty支持websocket通讯协议,那么我们就可以用它来实现websoket,实现后端服务主动向前端推送消息的功能。比如AB用户分别注册到websoket后台,A用户向B用户发送消息,后端接收到A用户消息后判断消息接收者是B用户,然后后端逻辑直接调用B用户websoket连接进行推送即可。
2024-05-27 17:00:07 1056 2
原创 【实战】SpringBoot整合Websocket、Redis实现Websocket集群负载均衡
因为有websocket的存在,使得前后的主动交互变得容易和低成本。其实在JAVA领域用SpringBoot框架集成Websoket还是很简单的,今天我们重点不是集成而是通过Redis的发布订阅实现Websocket集群通信,当然有条件的也可以用MQ代替。
2024-05-18 12:46:14 2264 4
原创 【实战】采用jenkins pipeline实现自动构建并部署至k8s
在前面的kubernetes系列博文中我们分享了从创建kubernetes集群到各种中间件的安装,以及从springboot项目的容器化部署到kubernetes外网映射,基本上包含了从0到1的K8S基础实战的整个过程。今天我们再分享一期采用jenkins pipeline实现自动构建并部署至k8s的实战演示,各位大大敬请鉴赏。本文中采用jenkins pipeline执行整个jenkins的构建过程,在pipeline中使用docker执行maven构建。构建后通过dockerfile将jar包构建为
2024-05-08 15:23:05 2042 9
原创 Spring Boot框架强大的事件驱动模型(ApplicationEvent)
SpringBoot框架提供了强大的事件驱动模型(ApplicationEvent),允许应用程序组件之间通过发布和监听事件来进行松耦合的通信。在实际的生产场景中,我们可以使用事件进行缓存、邮件、日志解耦,从而提高系统性能。
2024-04-25 17:29:56 1509 5
原创 Java编程JDK动态代理概述与实战演示
Java JDK动态代理实例,展示了如何利用JDK提供的动态代理机制为已有接口实现添加额外行为(如日志记录、权限检查、缓存等)。在这个例子中,LogInvocationHandler添加了方法调用的前后日志记录功能。当通过代理对象调用add()方法时,实际上会触发invoke()方法,在执行目标方法之前打印方法调用信息,执行之后记录方法执行耗时。
2024-04-19 16:12:24 755 2
原创 微信公众号第三方平台-公众号扫码授权接入代运营
根据公众号第三方平台开发流程可开发出一套可管理公众号/小程序的服务,服务可以直接部署在微信生态作为服务商。只要公众号/小程序理员用个人微信扫码进行授权,我们则可以拿到相关的业务接口权限,从而帮助商家实现代运营。
2024-04-11 18:17:34 2540 6
原创 Java编程使用CGLIB动态代理介绍与实战演示
以上就是一个完整的Java CGLIB动态代理实例。通过这个例子,可以看到我们成功地对ActionUserDataServiceImpl 类进行了代理,代理过程中插入了额外的前后置处理逻辑,而无需修改原有类的代码。在实际使用时,我们应根据项目需求和目标类特性选择合适的代理方案,不仅仅限制于CGLIB,如果有实现接口的类用JDK也可,这样才能达到事半功倍的效果。
2024-04-03 17:08:33 1331 3
原创 【实战】springboot整合swagger及knife4j
一个好的API文档不仅仅能够提供给测试人员编写测试用例,也能够直接给前端使用查阅,可以避免很多在系统集成过程中的问题。这不,最近在整合架构的时候留意到了swagger和knife4j。本身swagger提供的web界面可以很好的调试和查阅,现在加上knife4j的API文档自动生成功能,简直不要太好。那么,今天就分享一期springboot整合swagger及knife4j吧!各位大大敬请鉴赏。
2024-03-28 17:05:22 2043 6
原创 从0到1:Java构建高并发、高可用分布式系统的实战经验分享
在面对复杂的分布式系统构建时,不仅需要掌握扎实的技术栈,更要在实践中不断探索与优化,以满足日益增长的业务需求,同时保持对新技术的关注与学习,从而为团队带来更高效、稳定的系统解决方案。
2024-03-21 17:02:41 787 5
原创 【实战】VMware17虚拟机以及Centos7详细安装教程
很早之前就想分享一期关于虚拟机的博文,苦恼的是一直没有找到机会。这不最近我个人的阿里云服务器到期了,自己又不想续费,主要是太贵了。那么,现在就在本地电脑上安装个VMware17虚拟机吧,然后再安装一个Centos7系统,这不又可以愉快的玩耍了。打开VMware虚拟机,「文件 → 新建虚拟机 → 自定义 → 下一步」。自定义硬件 → 移除 「USB控制器、声卡」(这样可以让虚拟器启动的快一点)。至此,虚拟机中的硬件已经搭建完成。
2024-03-15 15:36:31 8167 1
原创 【实战】K8S集群部署nacos并接入Springcloud项目容器化运维
在k8s中部署nacos还是使用helm比较简单,直接下载安装包修改配置文件安装即可。我们在Springcloud、Springboot项目中集成nacos需要注意需要使用集群内部地址,当我们将项目部署在k8s集群中可以直接使用nacos配置和查询服务集群。
2024-03-07 15:53:12 2332 3
原创 设计并实现一个并发安全的LRU(Least Recently Used,最近最少使用)缓存结构
使用了LinkedHashMap作为基础数据结构,并通过重写removeEldestEntry方法实现了缓存满时自动淘汰最久未使用的元素。同时,为了保证在多线程环境下的线程安全性,我们在get和put方法上加了synchronized关键字或者使用了ReentrantLock来确保同一时间只有一个线程能执行修改缓存的操作
2024-02-26 14:47:25 637 5
原创 【JAVA高级面试题】运用锁机制实现一个自定义的阻塞队列
实现一个自定义的阻塞队列,它应该支持以下功能:添加元素到队列末尾(如果队列已满,则阻塞添加线程直到有空间)从队列头部移除元素(如果队列为空,则阻塞获取元素的线程直到有元素可消费)查询队列是否为空查询队列是否已满要求使用Java的ReentrantLock和Condition类来实现线程间的同步。
2024-02-21 17:19:12 475 4
原创 【实战】阿里智能编码助手通义灵码
阿里智能编码助手通义灵码提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力。在实际的开发过程中对我们代码质量和异常排查也有着良好的支持,可以大大节省编码时间。
2024-02-04 16:35:16 3965 4
原创 【实战】使用Helm在K8S集群安装MySQL主从
K8S对于云原生部署有着至关重要的作用,几乎所有的应用和中间件都可以部署在K8S,让其帮助我们进行管理。一般情况下我们推荐数据库不使用容器化部署,但是在某些场合为了方便管理也可以采用该种方式。今天我们就用在K8S集群部署MySQL,仅当作学习学习,在生产环境谨慎使用。Helm是K8S中包管理工具,包管理器类似于我们在 Ubuntu 中使用的apt、Centos中使用的yum一样,能快速查找、下载和安装软件包, 能够将一组K8S资源打包统一管理, 是查找、共享和使用为Kubernetes构建的软件的最佳方式。
2024-01-31 15:03:55 2641 2
原创 【实战】SpringBoot自定义 starter及使用
Starter是Spring Boot中的一个非常重要的概念,Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境( 条件)进行自动配置。使用者只需要依赖相应功能的Starter,无需做过多的配置和依赖,Spring Boot就能自动扫描并加载相应的模块。
2024-01-20 17:05:07 1794 2
原创 【实战】K8S部署Redis集群代理Predixy
K8S部署Redis集群代理Predixy还是比较简单,只需要编译Predixy源码并构建镜像然后部署在K8S集群即可。最后的效果也是比较nice,直接可以负载均衡到任意的redis节点,让redis集群管理和K8S外部环境任意访问都轻而易举。
2024-01-17 17:33:19 1303 6
原创 【福利】百度内容审核平台实战
百度内容审核平台主要针对图像、文本、音视频、直播等多媒体内容,提供全方位的审核能力,覆盖涉黄、违禁、广告、恶心不适等丰富的审核维度,为业务健康发展保驾护航。相比于阿里、腾讯的内容审核接口百度的接口可以免费试用365天,而且提供完整的SDK,调用简单快捷。
2024-01-11 17:07:45 1362 7
原创 基于人工智能的数据库工具Chat2DB使用
Chat2DB 是一款有开源免费的多数据库客户端工具,集成了AIGC 生成式人工智能。其主要功能包括自然语言转sql、优化sql、转化sql、解释sql等功能,是一个真正意义上减轻劳动和提高效率的一款大模型数据库客户端工具。
2024-01-03 11:59:25 2331 2
原创 Mysql主从同步原理
Mysql主从同步的原理就是基于binlog进行数据同步的,说直白点就是从库按照一定的规则重新执行主库的binlog。当然在实际的开发中只要我们按照官方命令搭建好了主从集群,基本上就没有太大的问题。
2023-12-28 11:35:25 946 3
原创 Redis数据一致解决方案
在高并发的业务场景下redis与mysql数据库非常容易产生数据不一致的情况,我们可以采用redis缓存延迟双删除策略达到数据的最终一致性,也可以采用一部缓存更新自定义监听mysql binblog和采用canal开源中间件实现缓存的实时一致性方案。总的来说,都是比较简单的,而且都能够达到良好的效果。
2023-12-23 12:06:26 1241 2
原创 【神器】wakatime代码时间追踪工具
wakatime就是一个IDE插件,一个代码时间追踪工具。可自动获取码编码时长和度量指标,以产生很多的coding图形报表。这些指标图形可以为开发者统计coding信息,比如项目coding时长,修改了哪些文件,使用了什么语言等等。
2023-12-19 09:34:11 2471 8
原创 软考架构案例之大数据架构
软考大纲的大数据架构分为Lambda、Kappa两种架构,Lambda架构采用Hadoop、Spark实现批量处理数据,而Kappa架构则是采用Flink流式处理实现实时数据处理。在我们实际的开发实战场景中一般还是偏实时数据处理较多,比如广告平台、证券交易等等。
2023-12-13 15:08:34 1648 8
原创 snakeyaml编辑yaml文件并覆盖注释
snakeyaml编辑yaml文件并覆盖注释还是比较简单,大致就是在操作yaml文件之前对注释进行缓存,操作文件时先将yaml转为map,然后配置数据写入并转换成yaml文件,最后再将注释覆盖在yaml上即可。
2023-12-08 17:43:13 1953 6
原创 解决dom4j新增xml节点自动加上xmlns=““的问题
dom4j操作xml还是比较简单,有很多的api可用,需要注意在进行pom.xml操作需要保证父子的xmlns一致。
2023-12-02 10:55:01 867 5
原创 【实战】K8S Helm部署Redis Cluster & Redisinsight
运用helm部署Redes集群较为简单,相比于普通的文件部署省去了编写文件的过程,可直接使用charts完成部署。
2023-11-25 13:02:42 2477 5
sentinel-dashboard1.8.0控制台
2023-07-11
FastDFSf服务器安装包,包含java客户端包,整合nginx包.rar
2020-07-30
linux 安装 teamviewer qt5-qtwebkit-5.9.1-1.el7.x86_64.rar
2020-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人