
框架篇
文章平均质量分 75
智_永无止境
来和大家一起学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
爽呀,JDK17里面可以使用的神仙语法(三)
继续分享JDK17里面的好玩语法,第三弹原创 2025-05-15 11:12:47 · 323 阅读 · 0 评论 -
爽呀,JDK17里面可以使用的神仙语法(二)
DK17里面可以使用的神仙语法,第二弹原创 2025-05-14 10:38:55 · 267 阅读 · 0 评论 -
爽呀,JDK17里面可以使用的神仙语法(一)
从JDK8升级到JDK17,里面新增了有很多神仙级的语法,用起来非常丝滑,看起来也更加清爽。下来我们详细了解一下原创 2025-05-13 14:00:56 · 373 阅读 · 0 评论 -
Redis 8.0携新功能,重新开源
Redis 8.0 弃用了以前的 Redis 和 Redis Stack 版本,不再需要独立的 RediSearch、RedisJSON、RedisTimeSeries 和 RedisBloom,因为它们现在是 Redis 的一部分。Redis Query Engine 除了键查找外,还能实现快速数据访问,可创建哈希和 JSON 数据结构的二级索引,支持向量搜索、精确匹配和语义搜索等,并具备词干提取、同义词扩展和模糊匹配等功能。原创 2025-05-09 16:45:26 · 1173 阅读 · 0 评论 -
浅谈直播间实时评论功能的背后技术
随着短视频的火爆,人人直播的时代已经到来,更是降低了直播的门槛。硬是从老牌的直播平台斗鱼、虎牙等分走了大部分流量。直播间少不了博主和粉丝的互动,实时共享粉丝的留言也成了必不可少的功能。B站的弹幕也是类似的功能。那么直播间的评论功能是怎么实现的呢原创 2025-04-23 09:49:30 · 811 阅读 · 0 评论 -
面试官不会说的涨薪秘籍:00后实习生靠这个工具拿下20K offer
kkFileView是为文件文档在线预览而生,支持广泛的文件格式,如office、压缩包、图片、视频、音频等。采用的流程的SpringBoot框架,更容易上手和部署。独立于业务系统外,提供restful http接口,跨平台(java,php,python,go,php,…)调用,在微服务场景下直接提供在线预览服务。支持多种预览模式灵活切换,如PDF、拦截在分页图、轮播图等预览模式动态配置。原创 2025-04-01 13:38:55 · 565 阅读 · 0 评论 -
Kafka 4.0.0震撼来袭,彻底摒弃Zookeeper
Apache Kafka 4.0.0 版本发布,带来了众多新功能和改进。该版本是第一个完全不依赖 Apache ZooKeeper 运行的主要版本,默认以 KRaft 模式运行,简化了部署和管理。此外,还引入了新的消费者组协议、提供对 Queues for Kafka 的早期访问、更新了 Java 版本要求、移除了一些旧的 API 和功能等。原创 2025-04-01 11:33:44 · 748 阅读 · 0 评论 -
JDK 24 新特性解析:更安全、更高效、更易用
JDK 24虽非长期支持(LTS)版本,但其新特性展现了Java在高性能、安全性、开发者体验上的持续进化。无论是抵御量子威胁的加密算法,还是降低学习门槛的语法简化,都体现了Java拥抱未来的决心。原创 2025-03-31 09:52:47 · 1737 阅读 · 0 评论 -
XXL-JOB:揭秘定时机制
一个好的框架底层都是枯燥无味的底层代码,经过架构师的设计、编排以及包装后,最后呈现给使用者的就是比较好用的功能模块,无需在关心底层的具体实现,直接使用即可。原创 2025-03-25 13:40:09 · 277 阅读 · 0 评论 -
XXL-JOB:揭秘任务注册、自动发现
小小的一个注册发现,里面的设计思想却不简单。里面基本都采用了异步线程的方式,不影响其他业务模块。通过开关控制死循环,增加了模块的健壮性。对于线程的死循环的时候,有很多工具都用到了,必须、锁机制的重试等等。死循环用不好,可能会导致CPU的浪费、甚至内存溢出等问题,所以使用的时候就要小心。死循环的开关设计尤为重要,尤其在多线程的的情况下保证共享变量的可见性,volatile关键字有其特别的功能。–END–原创 2025-03-24 09:30:06 · 497 阅读 · 0 评论 -
XXL-JOB:揭秘跨服务调用
普通的请求映射,是一次完整的Http协议的请求,每一次请求都需要三次握手四次挥手来完成一次请求。调度中心有大量的调度任务,采用Http协议的话,就会频繁的占用服XXL-JOB作为一款广泛应用的分布式任务调度框架,通过其精巧的架构设计和高效的通信机制,为跨服务调用提供了标准化的解决方案。中的模块,是集成在业务项目中的。大胆猜想,既然调度中心发起了Http请求,执行器中应该有对应的请求路径,才能完成闭环。原创 2025-03-24 09:26:50 · 1021 阅读 · 0 评论 -
XXL-JOB:剖析三大灵魂组件
XXLJOB的每个组件都经过千万级任务量的考验,无论你的系统是初创企业的小船,还是互联网巨轮的航母战斗群,它都能为你构建可靠的任务调度防线。的指挥大脑,是任务调度的决策中枢,统一管理任务调度平台上调度任务,负责触发调度执行,并且提供任务管理平台。原创 2025-03-20 15:28:58 · 1241 阅读 · 0 评论 -
XXL-JOB:分布式任务调度的破局者
XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用原创 2025-03-20 15:24:22 · 770 阅读 · 0 评论 -
像调用接口一样调用第三方API
声明式与编程式双修,让天下没有难以发送的 HTTP请求。原创 2025-03-04 10:45:04 · 938 阅读 · 0 评论 -
myabtis流式查询
流式处理在大数据方面应用比较广泛。随着数据的爆发式增长,流式处理的方式也被应用到日常的工具中,如JDK的对于集合处理的Stream流、Redis5.0新增的数据结构Stream专门来处理消息等。流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。今天要分享的是Mybaits的流式查询。Mybatis流式查询通过使用游标一次处理一条数据的方式,减少了内存的占用,从而提高了大数据量查询的效率。原创 2023-11-02 13:33:20 · 423 阅读 · 0 评论 -
分布式链路追踪Skywalking
Skywalking是一个国产的开源框架,2015年有吴晟个人开源,2017年加入Apache孵化器,国人开源的产品,主要开发人员来自于华为,2019年4月17日Apache董事会批准SkyWalking成为顶级项目,支持Java、.Net、NodeJs等探针,数据存储支持,H2、Mysql、Elasticsearch、TiDB等,跟Pinpoint一样采用字节码注入的方式实现代码的无侵入,探针采集数据粒度粗,但性能表现优秀,且对云原生支持,目前增长势头强劲,社区活跃。原创 2023-03-09 09:50:42 · 873 阅读 · 0 评论 -
微服务项目结构最佳实践
微服务项目中,我们会把项目细化,按照功能模块拆分成不相同的微服务,每一个微服务都是一个独立的moudle。该moudle的既是服务也是应用,也就是我们原始的单体项目架构。每一个moudle不复杂的时候,这样的拆分就可以了。但是,当moudle里面的配置较多的时候,其实还可以针对moudle继续细分。下面就按照继续细分的思路展开说明。2、拆分思路按照应用层、服务层、持久层以及公用层拆分成四大模块。原创 2023-02-07 16:22:34 · 930 阅读 · 0 评论 -
基于Canal+kafka监听数据库变化的最佳实践
工作中,我们很多时候需要根据某些状态的变化更新另一个业务的逻辑,比如订单的生成,成交等,需要更新或者通知其他的业务。我们通常的操作通过业务埋点、接口的调用或者中间件完成。但是状态变化的入口比较多的时候,就很容易漏掉某些地方。代码维护起来也比较麻烦。今天介绍阿里出品的【canal】中间件完成数据库字段的监听。原创 2022-12-22 15:55:06 · 3305 阅读 · 0 评论 -
基于Feign接口的全链路拦截器
单体应用时,我们经常会把一些共享数据,比如登录信息等放在session里面,当然也可以放在ThreadLocal里面。随着业务复杂度的提高,分布式应用越来越主流。单机的存储的思想已经不适用了,共享session应运而生,比如nosql、session复制等技术方案。分布式架构中SpringCloud使用尤为广泛。如果想通过Feign接口的调用隐式的传递一些参数,比如用户ID、名称,接口的验签等,我们应该怎么实现呢。今天通过传递用户名到feign服务端,来使用来实现, 同时对比一下web的拦截器的区别。原创 2022-11-16 19:17:42 · 4981 阅读 · 1 评论 -
SpringCloud Feign传递Date参数时差问题的解决方案
使用SpringCloud的朋友,再试传递Date参数的时候,有没有遇到时间差的问题呢原创 2022-10-09 18:04:11 · 4326 阅读 · 2 评论 -
优雅的处理参数校验以及异常
return new JsonResult(false, "参数memberSid为空");}return new JsonResult(false, "参数test为空");}相同的参数在不同的地方运用就是出现类型的冗余的代码。如果我们要快速开发要么把参数校验复制一份出来,要么抽成公用的方法。重复的代码本来就是代码重构和优化的一个表象,所以这种方式本身不可取。抽成公用方法确实是一个不错的方法,但是未能从本质像解决。由此,看能不能使用框架的技术去解决这样问题。原创 2022-10-08 15:03:15 · 1148 阅读 · 0 评论 -
重试框架spring-retry的探索与揭秘
1、前言 在项目中,我们经常会遇到网络波动,或者调用第三方接口偶尔异常的情况。为了保证数据的可用性、程序的及健壮xing原创 2021-06-11 19:08:32 · 768 阅读 · 0 评论 -
Springboot源码分析(二)
梳理springboot的启动流程图:原创 2020-06-03 21:54:45 · 231 阅读 · 0 评论 -
solr7在tomcat上的部署
1、前言 solr是基于lucence的企业级搜索服务器。之前使用的都是4.x版本,但是在5.x之后solr的目录结构已经发生了变化,不在提供war包。所以在tomcat部署的时候,稍有区别。尤其现在的最新版本已经是7.x了,部署的时候有一些变化。2、solr7.1.0的示例启动由于solr本身集成了jetty服务器,所以可以直接启动。在solr的bin文件加下执行:solr start在文件原创 2017-10-31 11:40:36 · 6443 阅读 · 3 评论 -
springmvc框架环境的简单搭建
1、前言springmvc框架是一个独立的web框架,是spring容器的一个子容器。2、springmvc依赖的jar包创建maven工程,导入web框架所需要的依赖坐标:<!-- 这是springmvc的依赖,包含了spring所需要的核心依赖--><dependency> <groupId>org.springframework</groupId> <artifact原创 2017-03-14 11:03:16 · 434 阅读 · 0 评论 -
springboot 学习之项目搭建
1、前言spring团队出品的框架,基本都是一些特别优秀的框架。从官网上,可以看到springboot是新出的一个框架。用过springboot的都知道,该框架简化springmvc繁琐的文件配置,用起来比较方便,被业界称为【JAVA EE 开发的颠覆者】。今天,特地学习了一下。2、学习准备IntelliJ IDEA对springboot的支持比较好,有专门的springboot项目。eclips...原创 2018-03-23 14:52:46 · 371 阅读 · 0 评论 -
springboot 学习之集成JPA
1、前言springboot自己集成JDBC和JPA,使用的时候只需要配置相关的文件就好了。JDBC模板使用起来比较麻烦不是很常用,JPA用起来相对容易一点。2、开发准备我们两种方式开发,一种就是使用原来的maven直接引入依赖去开发,以另一种就是使用STS插件建立springboot项目,勾选JPA和mysql,项目建立的时候就会自动导入依赖。<!-- 数据库驱动 --><d...原创 2018-03-30 16:02:30 · 3460 阅读 · 2 评论 -
springboot 学习之集成mybatis
1、前言spring data jpa针对单独的表使用注解开发比较简单,笔者一直以为mybatis才是持久层正确的打开方式。下面整理一下springboot集成mybatis。2、开发准备引入依赖:(也可以使用插件直接选择)<!-- mybtais 集成依赖 --><dependency> <groupId>org.mybatis.spring.boot&l...原创 2018-04-09 13:14:19 · 465 阅读 · 0 评论 -
基于webmagic爬虫的简单编写
1、前言前一段时间修改了一个项目的功能,项目基于webmagic编写的爬虫。于是开始一些学习。现在整理整理(该项目基本笔者的csdn博客的爬取为例),算是从小白到入门吧。之前使用httpclient和jsoup玩过一点点,但是感觉好麻烦。而webmagic无需配置,直接就可以二次开发,比较简单,容易上手。2、webmagic的编写思路主要流程分三步走:设置抓取数据的链接,以及解析数据。这个主要使用...原创 2018-04-20 12:13:24 · 1722 阅读 · 0 评论 -
springboot集成mybatis注解开发,thymeleaf的简单使用
1、前言之前玩过使用xml配置文件集成mybatis,这次为了集成thymeleaf模板,选用简单的注解完成数据库的查询。集成工具无非是引入依赖,添加配置完成此相关功能。玩过之后,记录一下学习的过程,以备后续使用。2、依赖引入使用springboot开发,建议装上springboot相关的插件,这样能省去很多操作。 <dependency>...原创 2018-10-29 10:39:47 · 1046 阅读 · 0 评论 -
优雅的使用SpringCloud
1、前言 SpringCloud 是现在比较流行的微服务架构,随着微服务的流行,更多企业也从传统的架构向微服务架构转型。转型的过程中,为了兼容之前的服务架构,部分企业选择了双注册中心(指Dubbo和Cloud)。所以开发者在改造的时候,非常掣肘,只能在原来的基础上做一些调整。最后代码看起来有点似驴非马的感觉,当然这是对于一个有代码洁癖的人的感觉,哈哈哈。。。功能当然是完全OK的。...原创 2019-08-02 14:23:55 · 312 阅读 · 0 评论 -
Springboot集成Kafka的简单使用
1、简介 Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据。在消息队列中,Kafka具有强大的吞吐量。2、初体验 Kafka2.3.0 包结构: 在bin下有WIN平台和Linux的启动脚本,在此以WIN...原创 2019-09-06 15:24:05 · 1252 阅读 · 0 评论 -
SSM框架环境的简单搭建
1、前言SSM框架是企业中常用的框架,是SpringMVC+Spring+Mybatis框架的整合。框架的的核心思想就是将各个独立的框架都交给spring容器进行管理。2、SSM框架需要的依赖(pom.xml)<!-- 主要包含六部分内容: springmvc子容器的依赖(包含了spring容器的依赖),以及数据处理的依赖; mybatis以及和spring原创 2017-03-28 14:51:14 · 740 阅读 · 0 评论