- 博客(61)
- 收藏
- 关注
原创 使用CompletableFuture异步编排
异步编排可以很好的利用cpu的并行计算资源,缩短单线程任务的耗时,CompletableFuture优点可以总结如下:通过异步执行任务,可以充分利用多核CPU的优势,提高程序的吞吐量和响应速度。CompletableFuture提供了丰富的API,使得异步编程更加简单和直观,减少了回调地狱(Callback Hell)的问题。可以使用thenApply、thenCompose等方法对任务结果进行处理,还可以使用thenCombine等方法组合多个任务,编排十分灵活。
2024-10-24 12:37:34 231
原创 【学习笔记】MongoDB与java整合
MongoDB 是在2007年由DoubleClick公司的几位核心成员开发出的一款分布式文档数据库,由C++语言编写。目的是为了解决数据大量增长的时候系统的可扩展性和敏捷性。MongoDB要比传统的关系型数据库简单很多。在MongoDB中数据主要的组织结构就是数据库、集合和文档,文档存储在集合当中,集合存储在数据库中。MongoDB中每一条数据记录就是一个文档,。文档类似于 JSON 对象,它的数据结构被叫做BSON。
2024-10-15 15:57:52 909
原创 抢单超卖? 并发问题解决思路
Autowired/*** 使用Redison实现分布式锁* 开发步骤:* 1.使用RedissonClient客户端对象 创建锁对象* 2.调用获取锁方法* 3.执行业务逻辑* 4.将锁释放*///1 创建锁对象//2 尝试加锁 三种选其一//2.1 lock() 阻塞等待一直到获取锁,默认锁有效期30s//2.2 lock() 阻塞等待一直到获取锁,默认锁有效期10s//2.3 tryLock() 等待30s获取锁,超过时间自动放弃,且默认锁有效期10s。
2024-10-14 21:23:00 928
原创 【学习笔记】xxl-job任务调度
在Java中定时任务调度框架可以分为单机版本和分布式版本:Spring3.0 以后自带的 task,配置简单功能较多,如果系统使用单机的话可以优先考虑spring定时器。: 是大众点评员工徐雪里于2015年发布的分布式任务调度平台,是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展,其在唯品会内部已经发部署350+个节点,每天任务调度4000多万次。同时,管理和统计也是它的亮点。
2024-10-11 20:01:16 646
原创 【学习笔记】规则引擎Drools
规则引擎,全称为业务规则管理系统,英文名为BRMS(即Business Rule Management System)。规则引擎的主要思想是将应用程序中的业务决策部分分离出来,并使用预定义的语义模块编写业务决策(业务规则),由用户或开发者在需要时进行配置、管理。
2024-10-08 10:44:38 875
原创 开通并使用腾讯位置服务
在实际应用中我们想使用地理位置服务计算距离等,然后自己开发一个全新的耗时耗力,有没有现有的API可以简化我们开发的效率,可以即插即用呢?今天就来介绍腾讯的位置服务功能,具体的说明文档可以见官网 :通过微信扫码登录后就可以使用啦,初次登录需要创建一个开发者账户然后才可以执行相应的操作。
2024-10-04 15:54:55 260
原创 [已解决] com.qcloud.cos.exception.CosServiceException: Access Denied. (Status Code: 403) 腾讯云创建bucket时报
使用腾讯云的云存储服务,通过java代码的方式向腾讯云中存储文件时报错,访问拒绝以下是官方代码,我根据自己的项目做改动,使用特定的桶名字来创建。
2024-08-19 19:24:21 635
原创 注解+AOP实现全局登录认证效验(附代码)
说到AOP第一个想到的肯定是面向切面编程。在传统的面向对象编程(OOP)中,横切关注点如日志、事务管理、安全性等通常会散布在多个模块中,这会导致代码的重复和混乱。AOP的目的是通过将这样的关注点从业务逻辑中分离出来,使得它们可以在一个集中的地方被管理和维护。主要分为如下三部分切入点- 实际增强的方法增强- 需要实现的增强逻辑代码切面- 是一个操作,指把增强使用到切入点的过程注意增强方法上标注的是环绕,格式固定,根据自己的项目架构来修改。
2024-08-18 19:08:08 338
原创 centos虚拟机restart网络后隔一会断联
不知道各位有没有遇到过虚拟机网络设置的坑,往往前一段时间用的好好的,突然网络又不行了无法连接外部网络,而且使用一瞬间可以,但是过一会就断连了…
2024-08-04 22:49:09 504
原创 基于springsecurity的会话并发处理功能(附代码)
在项目中往往需要实现一个限制不同设备同时登录的功能,比如我只允许同一时间只有一个客户端能登录,而其他的已登陆的客户端会被挤出来而springsecurity中恰好就帮我们实现好了对应的接口功能,我们只需要自定义配置就好。
2024-07-26 14:46:45 298
原创 虚拟机配置RabbitMQ集群教程
RabbitMQ是常用的一款消息中间件,那么如何在我们虚拟机中创建其集群呢?跟着博主这篇文章让你一步到位本篇搭建的是三台机器为一个集群!假设大家虚拟机都为初始化状态,从0开始(注意集群搭建需要CentOS8以上环境!可以点击下载)
2024-07-25 19:33:24 1138
原创 docker中实现多机redis主从集群
redis主从集群是每个使用redis的小伙伴都必需知道的,那如何在docker中快速配置呢?这篇来教你快速上手,跟着复制完全就能用!!
2024-07-06 01:01:09 425
原创 【已解决】Error in the HTTP2 framing layer
打开gitbash,并输入:(-C 后面对应的是你自己的邮箱,最好跟github绑定的一致)会在 .ssh 目录生产两个文件:id_rsa(私有密钥)和id_rsa.pub(公开密钥)在使用git将代码上传github的时候在最后一部push的时候遇到这个fatal。http协议下行不通不妨试一试ssh协议下,就有如下解决方案。由于我原先设置的origin是http协议下的,如下。如果出现如下的提示,则说明ssh可以正常连接使用啦!
2024-06-01 19:56:26 3385
原创 vue中使用svg图像
SVG(可缩放矢量图形)是一种图像格式,它以XML文档的形式存在,用以描述图像中的形状、线条、文本和颜色等元素。大设网(原AI大作)是基于Stable Diffusion的免费ai绘画网站,为ai作画爱好者提供一键生成高清精绘大图、sdxl模型保姆级教程、AI提示词工具。在开发过程中,可以考虑先生成图片(png或者jpg等格式)然后再将其转换为svg,这里推荐个我最近使用的转换网站,对于新用户有免费的转换点可以转换至少10次,当然有更好的网站可以分享到评论区。大设- AI智能绘画平台|设计师创意绘画工具。
2024-06-01 18:42:13 3566
原创 vue实现页面渲染时候执行某需求
在之前的项目中,需要实现一个监控token是否过期从而动态刷新token的功能,然而在登录成功后创建的监控器会在浏览器刷新点击或者是通过导航栏输入网址时销毁...
2024-05-22 22:56:26 854 1
原创 基于 vuestic-ui 实战教程
Vuestic UI是一个基于开源Vue 3的UI框架。它是一个MIT许可的UI框架,提供了易于配置的现成前端组件,并加快了响应式和快速加载Web界面的开发。它最初于2021年5月由EpicMax发布,这就是今天的Vuestic UI。体验下来感觉还是不错的,基本上没有太大的问题,各位读者可以放心上手😁(图片放上来会违规,这里就不放了)不知各位大牛们是否用惯vue-element-admin,对于大差不大的界面UI有没有考虑过换一个开源框架?
2024-05-21 20:19:43 1089
原创 基于 vuestic-ui 实战教程 - 获取动态数据篇
原始的quick start版本并没有用到axios所以应该是没有安装,保险起见我们就先安装个。
2024-05-21 20:16:35 716
原创 一些token无感刷新的思考(附代码)
通过该定时器类,可以实现MyTimer.start 方法调用setInterval 间隔delay 时间步执行,判断当前的token过期时间是否小于我们设置的minCheck , 如果小于则使用refreshToken异步刷新token// delay为重复探查的间隔时间 , minCheck是判断token是否是快过期的// 如果存在token,判断是否过期// 假设有一个函数用于获取token的过期时间// 如果剩余时间小于等于5分钟,则异步发送刷新请求并更新token。
2024-05-21 20:12:35 1477
原创 基于 vuestic-ui 实战教程 - 登录篇
登录做为一个系统的门面,也是阻挡外界的一道防线,那在vuestic-ui中如何做登录功能呢。在这里就之间沿用初始版本的Login页面,作为一个演示模板,后续需要改进的读者可以在此篇文章的基础上修改。
2024-05-21 20:10:44 1446
原创 springboot3微服务下结合springsecurity的认证授权实现
往往是一些字符串类型的关键字,在这里统一定义外部就可以直接调用,方便微服务之间的管理集中式认证管理:通过统一的认证服务器进行登录认证和token的签发刷新,可以简化认证流程,提高安全性和效率。灵活性和可扩展性:各个微服务自行处理权限认证,可以根据各自的业务需求灵活设计权限控制逻辑,便于扩展和维护。适应多种鉴权场景:这种方式可以适应外部应用接入、用户-服务鉴权、服务-服务鉴权等多种鉴权场景。潜在的安全风险:如果各个微服务的权限认证实现不一致或存在缺陷,可能会引入安全风险。性能考虑。
2024-05-21 20:07:23 1542
原创 基于vuestic-ui实战教程 - 页面篇
原有的table组件不够美观,想要自己定义的时候就可以用该模板,对于模板的实例如上图我用红色框框框出来的就是几个加入的组件,下面就分别在代码中实现上面的代码中提到了特别多的类型比如UserData 、Pagination 、Sorting 等等,下面就给出这些类型的定义(如下代码定义在api/system/sysUser/types.ts 中)前面两个完全根据后端的实体类对应,而下面三个就是渲染所需要用到的一些类型定义/* sysUser参数类型 *//* sysUser参数类型*/
2024-05-21 20:04:34 1393
原创 springboot3+springsecurity+redis 整合登录认证以及权限校验
,以验证用户提供的凭据是否有效。当用户尝试通过用户名和密码进行身份验证时,系统会将认证请求传递给 UsernamePasswordAuthenticationFilter。该过滤器负责从请求中提取用户名和密码,
2024-05-09 22:40:29 863 1
原创 【已解决】Feign报错 feign.FeignException$InternalServerError: [500] during [PUT] to....
可以看到mybatis报了null🙃,那肯定是有什么东西在mybatis这没找到,那我们不妨就从账户微服务处的。往上查查,要不就是方法没有定义,要不就是xml里面的namespace找不到,或者是参数找不到等等。问题所在就在这里,由于这两个参数xml里面找不到所以会返回null(太久没写忘记要加。或者是我就是不想加这个注解,那么可以修改配置编译参数 -parameters,在。上面的错误是在做为TM的订单处捕获的,下面的错误是在订单处调用的账户微服务。注意:当一个方法的参数大于一个的时候,必须用。
2024-04-23 21:08:24 1153
原创 PyCharm中如何使用不同的虚拟环境
有些项目用老的运行环境,而有些项目用新的运行环境,那么我们在运行这些代码(比如跑对比实验的时候)如何进行切换呢,这时候就可以使用虚拟环境啦。
2024-03-16 16:49:24 789
原创 手把手教会你 - 如何在PyCharm上上传拉取代码
由于最近要经常拉去源码下来学习学习,所以在这里记录一下基本操作,不会的小伙伴一起学起来吧。
2024-03-11 17:15:41 1577
原创 手把手教会你 - StreamAPI基本用法
目前响应式编程的学习中很多时候都用到了Lambda表达式和StreamAPI,那么今天就在这里记录一下一些最基本的使用方法。StreamAPI中引入了流的概念,其将集合看作一种流,流在管道中传输(动态的),可以在管道的不同节点上进行处理,如筛选、排序、聚合等。parallel()
2024-03-08 00:43:49 431
原创 Java8新特性 - Lambda表达式快速上手
在了解什么是Lambda表达式之前,我们先来学习一下什么是函数式接口接口中(有一个默认实现也算),这个接口就叫函数式接口为了防止我们不知道自己创建的接口或者提供的接口是否是函数式接口,官方还提供了一个注解通过这个注解可以判断当前接口是不是函数式接口(如果大于一个未被实现的方法则会报错)
2024-03-05 01:49:08 244
原创 idea中引入新JDK环境
下载好后解压缩到自己想要放置的目录里,然后就可以在idea中导入了,如下图中Project Structure - Project - Add SDK - JDK 就可以选择我们刚刚下载好的JDK17了,这时候就成功导入啦,看图上可选版本多了一个17。在不同的项目中往往会需要不同的运行环境,那么如何下载一个新的环境并运用到idea中呢?下面给出的就是oracle官网,以JDK17为例教大家如何下载。点击链接后往下滑就可以看到17的下载链接,我们选择最新的17.0.10版本进行下载,注意下载好对应的版本!
2024-03-04 21:53:09 1627
原创 JDK17新特性+代码演示
随着时代的进步JDK的版本也在不断更新,目前像是SpringBoot等框架支持的了,早几年使用的JDK1.8现在也慢慢推出历史舞台,借此机会学习学习有哪些新特性,记录一下个人觉得可用性高的😁。
2024-03-04 00:20:47 1008
原创 图像的全局信息和局部信息对训练的好处
综上所述,全局身份信息不仅为深度学习模型提供了一个宏观的视角来理解和处理图像,而且能够与局部信息相互补充,共同提升图像处理任务的性能和准确性。综上所述,图像的局部信息在深度学习中扮演着关键角色,不仅能够提供丰富的细节信息,还能与其他信息源相结合,共同提升模型的性能和准确性。
2024-03-01 22:35:19 582
原创 【算法学习笔记】换根DP -- java代码实现
给定一个、连通的树。树中有 n 个标记为 0…n-1 的节点以及 n-1 条边。给定整数n和数组edgesaibi]表示树中的节点ai和bi之间有一条边。返回长度为n的数组answer,其中 answer[i] 是树中第 i 个节点与所有其他节点之间的距离之和。
2024-03-01 02:11:27 618
原创 埃氏筛 -- 范围内找质数经典算法java实现
埃氏筛是一种用来寻找一定范围内所有素数的经典算法。由古希腊学者埃拉托斯特尼提出,其基本思想是先标定一个范围内的所有数,然后从最小的数2开始,将2的倍数剔除,剩下的就是2和奇数;接着用下一个未被剔除的数3,剔除它的倍数;再对下一个未被剔除的数5,剔除它的倍数……依此类推
2024-02-28 00:58:16 309
原创 生成对抗网络GAN学习笔记
生成式对抗网络是14年Ian J. Goodfellow提出的,GDD(G(z)=0.5更细致的来说 G(Generator)和D(Discriminator),在开始的时候这两个模型都是没有经过训练的,这两个模型一起对抗训练,生成模型产生一张图片去欺骗判别模型,然后判别模型去判断这张图片是真是假,最终在这两个模型训练的过程中,两个模型的能力越来越强,最终达到稳定状态,是不是就是零和博弈的思想!!G是一个生成图片的网络,它接收一个随机的,通过这个噪声生成图片,记做G(z)。
2024-02-23 21:07:10 631
原创 IoU的及其变体
IoU(Intersection over Union)是一个衡量两个边界框(bounding box)重叠度的指标,常用于目标检测和实例分割任务中。IoU并集区域交集区域以下图小狗做例子,假设我们要预测狗狗叼着的玉米的位置,则我们就可以通过最小化IoU损失来使得预测的Bounding Box更接近GT通过计算IoU loss而不是计算l2l2。
2023-12-11 21:53:06 1639
原创 模型训练中哪些指标是关键性能?
同时,如果模型具备较强的可解释性,可以使用户获得良好的交互体验,满足好奇心,增加对模型的信任感。影响深度学习稳定性的因素有很多,例如数据集的质量和数量、模型的复杂度、优化算法的选择、学习率的大小等等。鲁棒性是指模型对于输入数据的健壮性,即模型在遇到各种不同的数据输入时,仍然能够保持高效的表现。准确率是最直观的评估指标,但需要注意它的适用条件,即数据集必须是平衡的。一个好的模型应该能够泛化到未见过的数据上,而不仅仅是学习训练数据中的特定样本。的比例,是对于正类预测的特性的评估(根据结果来看)
2023-10-27 13:22:22 697
原创 预测序列的好坏 - 使用BLEU
BLEU提出最开始是在用于评估机器翻译的结果,但是现在也可以广泛运用在测量输出序列质量上,其具体公式如下,注意BLEUoutputexpmin01−lenpredlenlabeln1∏kpn1/2n前面的指数部分做为一个控制着较短的预测序列,其中lenlabel代表标签序列中的词元数,而lenpred代表预测序列中的词元数。
2023-10-13 19:32:03 137
原创 【深度学习笔记】GRU
不同于LSTM的三个门控单元,GRU中只有两个(将输入门和输出门合并为一个更新门),简化了计算。但是对于大数据集的情况下,LSTM比GRU性能更好,而总体而言差不多在GRU中重置门有助于捕获序列中的短期依赖关系更新门有助于捕获序列中的长期依赖关系。
2023-10-12 18:45:01 1163
原创 【深度学习笔记】LSTM
LSTM对于处理更长的时序会更加好(对比RNN),并在一定程度上缓解了梯度消失,并且除了计算时间负责一点基本没有啥缺点。最后说下一个LSTM块中包含记忆细胞负责保存重要信息遗忘门决定要不要遗忘记忆细胞中的信息输入门决定要不要将当前输入信息写入记忆细胞候选记忆学习得到的当前时刻新记忆输出门决定要不要将记忆细胞的信息作为当前的隐变量输出当然对于更长的时序还是用transformer模型来做更好。
2023-10-11 14:17:54 392
原创 梯度裁剪 - 解决梯度爆炸的一种方式
在我们的模型中往往有多个权重矩阵相乘,如果不稍加控制这个权重会越乘越大,就拿RNN来说,对于长度为 N 的序列,我们在迭代中计算这 N 个时间步上的梯度, 在反向传播过程中产生这 N 个权重矩阵乘法链。当 N 较大时,其值往往就会不稳定。
2023-10-10 17:45:21 93
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人