- 博客(417)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 SpringBoot整合Swagger2,代码文档一手抓
Swagger是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务以及 集成Swagger自动生成API文档。Swagger 的目标是对REST [API]定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。
2024-07-24 20:28:15 1157
原创 Windows通过nvm下载安装node和npm
如果下载node过慢或者安装失败,请更换国内镜像源, 在 nvm 的安装路径下,找到 settings.txt,设置node_mirro与npm_mirror为国内镜像地址。,是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具,为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。删除指定版本的nodejs,删除时需要明确指定对应的小版本。使用指定版本的nodejs指定使用node版本。安装指定的版本的nodejs。初次安装查看前需要先通过。
2024-07-04 19:54:13 4377 1
原创 如何快速上手数据科学和人工智能关键技术(文末有福利)
儿童节快乐(不好意思来晚了😅😅😅)!喜欢数据科学和人工智能的小伙伴,你们的福利来啦,本期博主给大家推荐一本适合数据科学和人工智能领域的热门书籍,快来看看吧~数据科学的关键技术包括数据存储计算、数据治理、结构化数据分析、语音分析、视觉分析、文本分析和知识图谱等方面。本书的重点是详细介绍文本分析和知识图谱方面的技术。文本分析技术主要包括文本预训练模型、多语种文本分析、文本情感分析、文本机器翻译、文本智能纠错、NL2SQL问答以及ChatGPT大语言模型等。知识图谱技术主要包括知识图谱构建和知识图谱问答等。
2024-06-03 12:31:57 2023 14
原创 文心智能体之情感领航员:你的智能情感导师
本文详细介绍了创建智能体“情感领航员”的原因和全过程,通过零代码创建方法,使得智能体的开发流程非常简单,非技术用户也能够参与到智能体的设计和开发中来,你也快来创建属于你的智能体吧~。
2024-05-27 14:56:09 2694 11
原创 SpringBoot整合Redis(文末送书)
Redis 是目前业界使用最广泛的内存数据存储。相比 Mmcached,Redis 支持更丰富的数据结构,例如:字符串类型 string,哈希类型 hash,列表类型 list,集合类型 set,有序集合类型 sortedset等,同时支持数据持久化。除此之外,Redis 还提供一些类数据库的特性,比如事务,HA,主从库。
2024-05-08 10:03:48 4255 20
原创 下一代云原生应用引擎OpenNJet快实践起来吧
OpenNJet 是基于 NGINX 的一款应用引擎,旨在为互联网和云原生应用提供高性能和多样化的运行时组态服务程序,作为底层引擎,OpenNJet 实现了NGINX 云原生功能增强、安全加固和代码重构,OpenNJet 通过动态加载机制可以实现不同的产品形态,如Web服务器流媒体服务器负载均衡代理(Proxy)应用中间件API网关消息队列等产品形态等等。
2024-04-28 15:25:38 4328 9
原创 Spring MVC请求处理流程和九大组件
⽤于重定向时的参数传递,⽐如在处理⽤户订单时候,为了避免重复提交,可以处理完post请求之后重定向到⼀个get请求,这个get请求可以⽤来显示订单详情之类的信息。组件是⽤来解析主题的。主题是样式、图⽚及它们所形成的显示效果的集合。如果上传多个⽂件,还可以调⽤ getFileMap()⽅法得到Map这样的结构,MultipartResolver 的作⽤就是封装普通的请求,使其拥有⽂件上传的功能。是⽤来查找 Handler 的,也就是处理器,具体的表现形式可以是类,也可以是⽅法。
2023-09-14 12:56:10 9607 83
原创 MyBatis源码剖析之Configuration、SqlSession、Executor、StatementHandler细节
MyBatis是一个流行的持久化框架,用于在Java应用程序中简化与关系数据库的交互。了解MyBatis的核心组件对于深入理解它的工作原理非常重要。Configuration(配置对象)对象是MyBatis的配置类,负责管理MyBatis的全部配置信息。它包含了数据源(DataSource)、类型处理器(TypeHandler)、Mapper映射文件(Mapper XML)、全局设置(settings)、插件(plugins)等。
2023-08-04 14:19:57 3529 41
原创 Spring中的FactoryBean 和 BeanFactory、BeanPostProcessor 和BeanFactoryPostProcessor解析
如果要对具体的某个bean处理,可以通过⽅法参数判断,两个类型参数分别为Object和String,第⼀个参数是每个bean的实例,第⼆个参数是每个bean的name或者id属性的值。接⼝是容器的顶级接⼝,定义了容器的⼀些基础⾏为,负责⽣产和管理Bean的⼀个⼯⼚,具体使⽤它下⾯的⼦接⼝类型,⽐如ApplicationContext;该接⼝提供了两个⽅法,分别在Bean的初始化⽅法前和初始化⽅法后执⾏,具体这个初始化⽅法指的是什么⽅法,类似我们在定义bean时,定义了。
2023-02-27 10:01:53 6557 27
原创 SpringCloud Alibaba 之Nacos集群部署-高可用保证
当第一个节点(ip1)启动后,节点角色会变为 Candidate(参选者),ip1 节点在每一个任期开始时便会尝试向其他节点发出投票请求,征求自己能否成为 Leader(领导者)节点。在当前案例,因为 ip1 发起选举投票,但 ip2/ip3 两个节点不在线,尽管 ip1 会投自己一票,但在总 3 票中未过半数,因此无法成为 Leader。因为第一次选举没有产生 Leader,过段时间在下一个任期开始时,ip1 任期自增加 1,同时会再次向其他节点发起投票请求争取其他节点同意,直到同意票过半。
2023-02-22 10:02:51 15895 30
原创 Redis 中的 BitMaps(位图)命令详解
比如说,每当用户在某一天上线的时候,我们就使用 SETBIT ,以用户名作为 key ,将那天所代表的网站的上线日作为 offset 参数,并将这个 offset 上的为设置为 1。假设现在我们希望记录自己网站上的用户的上线频率,比如说,计算用户 A 上线了多少天,用户 B 上线了多少天,诸如此类,以此作为数据,从而决定让哪些用户参加 beta 测试等活动——这个模式可以使用SETBIT和BITCOUNT来实现。Bitmaps本身不是一种数据类型, 实际上它就是字符串,但是它可以对字符串的位进行操作。
2022-12-24 21:54:14 4839 48
原创 CSDN是怎么实现用户签到,统计签到次数,连续签到天数等功能微服务的
它是由一组bit位组成的,每个bit位对应0和1两个状态,虽然内部还是采用String类型存储,但Redis提供了一些指令用于直接操作位图,可以把它看作是一个bit数组,数组的下标就是偏移量。位图的每一位代表一天的签到,1表示已签,0表示未签。如果这样存数据的话,对于用户量比较大的应用,数据库可能就扛不住,比如1000W用户,一天一条,那么一个月就是3亿数据,这是非常庞大的,因此使用。可以看到当前登陆用户在2,4,6,8,17,19,20,21,22号9天都进行了签到,当月总签到天数为9天,连续签到4天。
2022-12-22 11:16:03 14011 42
原创 Redis解决秒杀微服务抢购代金券超卖和同一个用户多次抢购
上图就是redission官方网站首页。首页可以看出来,Redisson可以实现很多东西,在Redis的基础上,Redisson做了超多的封装,我们看一下,例如说Spring Cache,TomcatSession,Spring Session,可排序的Set,还有呢Sortedsort,下面还有各种队列,包括这种双端。
2022-12-01 07:30:00 6443 87
原创 秒杀微服务实现抢购代金券功能
现在日常购物或者餐饮消费,商家经常会有推出代金券功能,有些时候代金券的数量不多是需要抢购的,那么怎么设计可以保证代金券的消耗量和秒杀到的用户保持一致呢?怎么设计可以保证一个用户只能秒杀到一张代金券呢?秒杀场景有以下几个特点:秒杀场景的应对,一般要从以下几个方面进行处理,如下:本文以抢购代金券为例,来进行数据库表的设计。抢购活动表订单表创建秒杀服务pom依赖引入相关依赖如下:配置文件关系型数据库实现代金券秒杀相关实体引入抢购代金券活动信息全局异常处理添加代金券秒杀活动代金券活
2022-11-27 11:31:51 8841 107
原创 猿创征文|低代码开发15个高效开源项目推荐
低代码开发平台(LCDP)是无需编码(0代码)或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法,使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。本文主要推荐15个优质的低代码开源项目。
2022-11-03 20:41:58 16957 109
原创 云原生中间件RocketMQ-核心原理之高可用机制
Zookeeper为分布式应用程序提供协调服务,Zookeeper的功能很强大,包括自动Master选举,RocketMQ的设计决定了它不需要进行Master选举,用不到这些复杂的功能,只需要一个轻量级的元数据服务器就足够了。中间件对稳定性要求很高,RocketMQ的NameServer只有很少的代码,容易维护,所以不需要再依赖另一个中间件,从而减少整体维护成本。本文内容到此结束了,如有错误❌疑问💬欢迎各位指出。主页共饮一杯无的博客汇总👨💻保持热爱,奔赴下一场山海。🏃🏃🏃。
2022-09-04 21:52:29 8376 70
原创 云原生中间件RocketMQ-核心原理之同步_异步刷盘,同步_异步复制解析
发送时,Producer将不同topic的所有消息都会顺序写入Commit Log中,Broker端的后台服务线程—ReputMessageService不停地分发请求并异步构建ConsumeQueue(逻辑消费队列)和IndexFile(索引文件)数据,不停的轮询,将当前的consumeQueue中的offSet和commitLog中的offSet进行对比,将多出来的offSet进行解析,然后put到consumeQueue中的MapedFile中。的触发写磁盘动作,会明显降低性能。...
2022-08-31 10:07:39 7961 32
原创 职场人一起进阶吧(内附技术人进阶路径、Java开源项目完整推荐等)
尽可能的选择朝阳产业,因为个人感觉大多数人的选择是大于努力的,选对了行业能让你事半功倍,就像雷军说的,在风口上猪都能飞上天呢😅。他山之石,可以攻玉。选好大树(公司、团队、leader、big old),毕竟大树底下好乘凉,虚心请教互相学习,多沟通多交流。沟通产生价值,技术人永远不要羞于表达自己的观点,你也需要具备独立思考的能力。做一个可靠的人。提高自己的能力,勇于挑战自己,在职场中,很多时候都是双向选择题,同样的东西你比别人做出来更可靠,更稳定,自然大家对你的信任度会提高。珍惜时间,养成持续学习的习.
2022-06-27 10:10:39 25511 63
原创 Java 诊断工具 Arthas 常见命令使用和实战(排查函数调用异常、热更新、调用方法函数、查看堆栈调用等)
Java 诊断工具 Arthas 常见命令使用和实战(排查函数调用异常、热更新、调用方法函数、查看堆栈调用等)
2022-06-17 13:17:04 25211 8
原创 23种设计模式汇总概述
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应的原理来与之对应,每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的核心解决方案,这也是它能被广泛应用的原因。
2022-05-14 14:22:17 30561 9
原创 Redis相关知识汇总(下载安装、Redis常见数据类型、持久化、命令和客户端操作)
一文入门Redis(下载安装、Redis常见数据类型、持久化、命令和客户端操作)
2022-05-10 06:30:00 31663 1
原创 最新Java知识汇总(持续更新)
不积跬步无以至千里,本人从事Java开发多年,通过记录分享的形式,记录自己从事编程的一些心路历程和技术总结,希望能结交更多志同道合的朋友,个人见识有限,难免会有疏忽和错误之处,还望各位大佬能够指点迷津,感激不尽。本文整理的Java知识汇总主要包括Java基础、Java进阶、数据库、JVM、消息队列、缓存、微服务与分布式、Java面试系列、高并发、数据结构与算法、计算机网络、开发工具、搜索引擎、大数据、团队管理、运维等。包含一个Java开发工程师所需的绝大多数知识。相信只要勤奋学习,每天进步一点点,各位大佬
2022-04-10 22:57:28 18595 14
原创 一文学会日常操作Git(环境配置、初始化、本地仓库和远程仓库操作和分支操作)
环境配置当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息设置用户信息git config --global user.name “helloMrZhan”git config --global user.email "1187625098@qq.com "查看配置信息git config --listgit config user.name通过上面的命令设置的信息会保存在~/.gitconfig文件中
2022-03-22 11:31:22 20634 2
原创 Linux常用指令(命令)超级无敌全合集加图文说明
指令与选项什么是Linux的指令?指在Linux终端(命令行)中输入的内容就称之为指令。一个完整的指令的标准格式:Linux通用的格式#指令主体(空格) [选项](空格) [操作对象]一个指令可以包含多个选项操作对象也可以是多个例如:需要让张三同学帮忙去楼下小卖铺买一瓶农夫山泉水和清风餐巾纸,在这个指令中“买东西”是指令的主体,买的水和餐巾纸是操作的对象,农夫山泉、清风是操作的选项。基础指令(重点)1、ls指令含义:ls (list)用法1:#ls含义:列出当前工作目录下的所有文
2022-01-05 13:20:11 49742 2
原创 org.apache.rocketmq.client.exception.MQBrokerException: CODE: 1 DESC: the producer group[] not exis
如果生产者发送完调用了producer.shutdown();,mq会移除生产者组,在控制台查看Producer列表,看到的提示找不到生产者组的报错。还有一种情况就是第一次进来没有输入生产者组的名称也会报这个错,输入生产者组名则可以正常查询;就可以在控制台正常看到如下生产者组,生产环境不能注释(需要释放资源);
2024-09-19 16:05:26 556
原创 Java给定一些元素随机从中选择一个
这种方法会将列表中的元素顺序打乱,然后返回第一个元素,由于shuffle操作是随机的,所以第一个元素实际上就是随机选择的。需要注意的是,Collections.shuffle方法会改变原列表的顺序,如果不想修改原始列表,可以在shuffle之前创建一个新列表的副本。这个实现看起来优雅展示了如何使用Stream API,但是应该注意,对于简单的随机选择操作,直接使用Random类生成索引并访问列表可能更为直接和高效。
2024-07-24 09:09:34 1412
原创 dbeaver连接postgresql报错��������: �û� “root“ Password ��֤ʧ��
新安装完成的postgresql通过dbeaver连接访问报错��������: �û� “root” Password ��֤ʧ��。通过postgresql自带的pgAdmin 4管理工具连接时发现提示是用户是postgres并不是我们安装时候设置的用户;查看数据库的编码格式是utf8,没问题,所以上面连接的乱码问题忽略,猜测应该是Windows系统的编码格式不符导致。emmm回头看了下我安装时候的步骤,并没有让我输入用户名,是让我输入的一遍密码然后再确认一下密码,尴尬了😅😅😅。
2024-07-09 17:05:15 1232
原创 定时任务Cron表达式详解
CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。(4)“L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写,但是它在两个子表达式里的含义是不同的。例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”,“在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样。
2024-07-09 12:37:51 2379 3
原创 There has been an error.An error occured executing the Microsoft VC++ runtime installer
postgresql安装报错
2024-07-09 10:37:02 469
原创 Window下载安装Gradle和在Idea中使用
它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于Groovy,build脚本使用Groovy编写。当前其支持的语言C++、Java、Groovy、Kotlin、Scala和Swift,计划未来将支持更多的语言。
2024-07-04 09:21:46 1000
原创 CMeet系列技术生态沙龙---《探索未来:生成式AI赋能千行百业·杭州》期待您的到来
当前数字化浪潮下,生成式AI技术正成为推动产业升级、提升竞争力的关键力量。为深入探索未来AI技术的赋能作用,促进技术生态的繁荣与发展,CSDN-CMeet系列沙龙活动旨在搭建一个交流与探索的平台,通过分享前沿研究成果和应用案例,激发广大程序员们的创新思维,为所在行业注入新的活力。共同助力企业在智能化时代抓住机遇,实现可持续发展。
2024-03-19 17:54:35 5205 16
原创 基于x86架构的OpenHarmony应用生态挑战赛等你来战!
为了更快速推进OpenHarmony在PC领域的进一步落地,加快x86架构下基于OpenHarmony的应用生态的繁荣,为北向应用开发者提供一个更加便捷的开发环境,推动OpenHarmony北向应用开发者的增加,助力OpenHarmony在PC领域实现新的突破,由开放原子开源基金会、央视网、江苏省工业和信息化厅、无锡市人民政府、江苏软件产业人才发展基金会、苏州工业园区、无锡高新区等共同承办,鸿湖万联参与共建的“基于x86架构的OpenHarmony应用生态挑战赛” 已于2月1日火热开启,正在踊跃报名中!
2024-02-29 15:56:23 15596 8
原创 多线程原理和常用方法以及Thread和Runnable的区别
多线程好处:多线程执行时,在栈内存中,其实每一个执行线程都有一片自己所属的栈内存空间,多个线程互不影响 进行方法的压栈和弹栈。也可以说两个线程,一个main线程 一个run线程 一起请求CPU的执行权(执行时间)谁抢到了就执行对应的代码。CPU有了两条执行的路径,CPU就有了选择 ,一会执行main方法 一会执行run方法。一个类只能继承一个类(一个人只能有一个亲爹),类继承了Thread类就不能继承其他的类。实现了Runnable接口,还可以继承其他的类,实现其他的接口。本文内容到此结束了,
2023-12-01 22:53:18 4904 14
Java怎么把二维数组转成父子树
2023-04-24
怎么通过日志快速定位问题,老代码优化
2022-07-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人