自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Deepseek r1 本地部署

根据显存选择对应大小的模型,推荐能将整个模型放入显存的大小,放不下的话会将一部分放到内存中,生成速度会变慢,最佳效果是显存>模型大小*2;* Deepseek-r1 14b 模型加载时间在30-60s,每秒钟2-3个中文字符的生成速度,时间上基本是不可用状态;* Deepseek-r1 7b 模型加载时间在5s左右,每秒钟10-20个中文字符的生成速度,已经赶上了在线模型的速度;访问 http://localhost:8080/,选择对应模型,开始使用。安装 cuda 能加速字符的生成。

2025-03-17 22:02:21 1126

原创 解决数据库与缓存一致性的问题

如果是扣减库存的方案,比如说你将列车余票扣减为 16,但是同时又有一个请求将列车余票扣减为 15,这个时候,扣减为 15 的这个请求先到消息队列执行,将缓存更新为余票 15,但是随之而来的是第一个请求余票为 16,会将缓存余票为 15 给覆盖掉。同上所诉,参考对应的业务场景和多请求并发场景,不同的是前者先更新缓存,后者先更新的是数据库,相同的是都存在并发问题,导致结果与预期并不相符。如果说上图的读请求回写缓存在写请求第二次删除缓存之前,那这种技术方案是比较好的,而且也不用引入过多复杂的中间件。

2024-12-13 22:18:17 574 1

原创 如何抽象策略模式

最近项目中设计的一个功能用到了策略模式,分为两类角色,笔者负责定义抽象策略接口以及策略工厂,不同的策略算法需要各个业务方去实现,可以联想到上文中的优惠券功能。3策略设计模式适用于需要在运行时动态切换算法的场景,如果算法的实现不需要动态切换,或者算法的实现较为简单,策略设计模式可能会显得过于复杂。在策略设计模式中,环境持有一个策略对象,并通过调用策略的算法来完成具体的任务。这里使用的 SpringBoot 测试类,注入策略工厂 Bean,通过策略工厂选择出具体的策略算法类,继而通过算法获取到优惠后的价格。

2024-12-04 22:28:30 1313

原创 责任链模式在项目中的应用

责任链设计模式是一种行为型设计模式,其主要目的是解耦请求发送者和请求接收者,让多个对象都有机会处理请求,从而避免请求发送者和接收者之间的紧耦合。责任链模式的核心是一个链式结构,链中每个节点代表一个处理者对象,请求先经过第一个节点处理,如果该节点能够处理请求,则直接返回处理结果;否则,请求继续往下一个节点传递,直到找到能够处理该请求的节点为止。整个过程类似于流水线上的多个工作站,每个工作站负责一项工作,如果自己处理不了,就将工作交给下一个工作站,直到整个工作完成。

2024-12-01 20:42:28 882

原创 使用中间件Sharding-JDBC实现分库分表

​​分库分表是一种数据库分片技术,用于解决大规模应用中单一数据库容量不足以支持高并发和大数据量的问题。它将一个大型的数据库拆分成多个小型数据库,每个小型数据库称为一个分片。每个分片存储部分数据,从而降低了单个数据库的负担。简单来说,分库是将原本的单库拆分为多个库,分表是将原来的单表拆分为多个表。很多情况下,分库分表并不是从系统设计开始就存在的,而是系统运行过程中,出现数据量庞大或者查询性能慢等问题延伸而来。

2024-11-30 17:57:04 1072

原创 学习中间件RocketMQ

RocketMQ 是一款功能强大的分布式消息系统,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。

2024-11-29 22:38:17 851 1

原创 解决docker拉取镜像超时问题

下面介绍几种成功拉取镜像方法。

2024-08-04 17:35:26 1400

原创 如何通过mysql的data文件恢复数据和从中遇到的各种报错以及解决方案

我们mysql可能会不知道什么原因就挂了,无法启动,如果你尝试任何操作都无法重新启动的时候就可以从旧的数据库恢复数据。

2024-08-04 04:46:08 2643

原创 两种方法在服务器linux安装mysql8.0

进入bin目录使用./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql --initialize初始化data文件注意里面的参数要和自己的目录对应。感兴趣自己去了解一下。这时候就可以用命令启动mysql了,启动之后日志在/var/log/mysqld.log这个文件查看初始密码。可以看到自己的socker文件日志文件,pid文件存放的位置。

2024-08-04 01:21:22 950

原创 使用Xshell和xftp工具连接vm虚拟机

使用Xshell和xttp工具连接vm虚拟机

2024-08-03 15:45:18 1035

原创 使用HttpClient上传文件怎么设置请求头

这俩行代码可以不用,在源码中已经设置了请求头。在这段代码中我们ctrl跟进看看。当我们后端使用Httpclient往目标接口发文件的时候往往要设置请求头,不然会出现对方没有接受到文件的错误提示。可以发现在FormBodyPart的构建方法中已经添加了请求头。如果没有你想设置的请求头可以自己添加。

2024-07-08 22:28:53 728

原创 显卡在设备管理中找不到,在硬件检测软件上找得到怎么解决

在c盘找到C:\NVIDIA\DisplayDriver\391.24\Win10_64\International\Display.Driver这个位置,就是你安装驱动的位置。点击从磁盘安装,找到上面改的.inf文件然后按确定,点击下一步,电脑可能会黑屏一下,然后会亮起来,你看自己的显示适配器就有自己的显卡类型了。查找所有的这个内容,把这一行最后八位字符改为自己显卡硬件idSUBSYS_的后八位字符,我的是11FF1462,把所有查找到的行最后都改了。进入设备管理器的显示适配器,把原来的更新驱动程序。

2024-07-03 21:52:13 2808

原创 tomcat启动运行jsp文件

在项目描述符哪里选择刚创建的web-inf下的web.xml文件。注意你有多个web-xml文件不要引入错了。一定要加程序上下文,不然找不到路径。在这里添加自己的webapp路径。你要保证你有tomcat服务器。

2024-05-28 17:13:12 571

原创 如何解析apk信息

是 Java Development Kit (JDK) 中的一个命令行工具,用于管理密钥库(keystore)。密钥库是一个文件,它存储了私钥和公钥证书,这些密钥和证书可以用于认证、数字签名、以及加密和解密数据。还有一种就是命令行apktool解析,要把jar包和bat文件放在同一目录下。把这俩个文件夹目录设置为环境变量就可以在任意目录进行命令行展示。在pom文件引入依赖,在上面apk.parser图片中有。注:你要先在电脑上配置java环境。你想在java代码中调用看这篇文章。官网下载相应jar包。

2024-05-28 16:24:01 1015

原创 java调用cmd的命令行

有的命令行语句在cmd中可以运行但是在Java中却报Cannot run program "apktool": CreateProcess error=2, 系统找不到指定的文件。可以试一下上面的方法,就是cmd /c + 你的命令,可以运行,有的命令不用cmd /c +也可以运行。参数列表中的第一个元素是可执行文件的名称,后续元素是传递给该程序的参数。对象的属性来启动一个新的进程。: 返回一个布尔值,指示是否合并标准错误流和标准输出流。这些字符串参数被用来设置程序的命令行参数。对象的命令行参数列表。

2024-05-27 22:42:20 511 2

原创 不同账号之间华为云服务器迁移

当购买了新服务器之后想继续使用之前服务器的数据可以进行服务器迁移,本文就华为云服务器迁移为例。

2024-04-29 14:28:41 972 1

原创 Docker快速部署Springboot项目jar包

这通常用于在没有Entropy Gathering Daemon (EGD) 的环境中为Java虚拟机提供足够的随机种子。:这个指令告诉Docker使用OpenJDK 8版本作为镜像的基础镜像。:创建一个可以从本地主机或其他容器挂载的volume,这里指定为。:定义了容器启动时执行的命令。这里指定了使用Java虚拟机来运行。:创建并运行一个bash shell命令,用来“触摸”镜像内的。文件,这通常用于更新文件的访问和修改时间戳。文件添加到镜像中的同一位置(即镜像内的。可以访问swagger了。

2024-04-29 10:16:19 392

原创 简单介绍Dubbo

Dubbo是一种高性能的开源RPC(远程过程调用)框架,最初由阿里巴巴内部开发并开源。它提供了服务治理、负载均衡、容错机制、服务降级、动态代理等功能,旨在简化分布式服务之间的通讯和协作。服务治理:Dubbo提供了丰富的服务治理功能,包括服务注册与发现、路由、降级、负载均衡等,帮助开发者更好地管理和控制服务之间的调用关系。高性能:Dubbo在设计上注重性能,采用了多种优化手段,比如基于Netty的高性能网络通信,使得它在大规模分布式系统中表现出色。扩展性。

2023-11-11 22:07:26 126 1

原创 RabbitMQ消息队列简单实现

接收和分发消息的应用,RabbitMQ Server就是。

2023-11-11 21:30:56 262 1

原创 java中的HttpClient

HttpClient是一个开源的Java库,用于发送HTTP请求和接收HTTP响应。它提供了一组易于使用的API,可以用于创建和执行HTTP请求,并处理响应。

2023-10-29 17:10:07 288 1

原创 java中的socket

Socket 是对 TCP/IP 协议的封装,它是一个端到端的双向通信流,通过 Socket 可以使不同的进程在网络中通信,进程间可以通过 Socket 实现数据传输和通信。包来实现 Socket 编程,通过 Socket 类和 ServerSocket 类实现 TCP/IP 协议通信,通过 DatagramSocket 和 DatagramPacket 类实现 UDP 协议通信,它们提供了 Java 程序员操作 Socket 的接口。连接建立后,通过输入流读取客户端发送的请求信息。

2023-10-22 14:36:56 223 1

原创 Redis入门与使用

Redis 是基于内存的存储系统,数据存放在内存中,因此具有非常高的读写性能。它采用了高效的数据结构和算法,并支持异步操作、集群部署等方式来提高性能。缓存系统:将频繁访问的数据保存在 Redis 中,提高访问速度。分布式锁:解决多服务器环境下的并发问题,确保资源的唯一访问权限。消息队列:使用 Redis 的发布/订阅或列表数据结构实现消息的生产与消费。计数器、排行榜等应用:利用 Redis 的自增操作和有序集合等数据结构实现计数器、排行榜系统等功能。

2023-10-15 13:48:22 73 1

原创 AOP的入门与使用

AOP(Aspect-Oriented Programming),即面向切面编程,是一种软件设计思想和编程范式。它提供了一种将横切关注点(cross-cutting concerns)与主要业务逻辑分离的方式。在传统的面向对象编程中,我们将代码按照功能模块进行组织,但往往会遇到一些横切关注点,例如日志记录、事务管理、安全检查等,这些关注点跨越多个模块、方法和对象。如果将这些关注点直接嵌入到业务逻辑中,会导致代码重复、可维护性差,而且难以复用和扩展。

2023-10-09 19:31:57 134 1

原创 本机mysql突然启动不了,MySQL服务无法启动,服务名无效,服务没有报告任何错误。

本机mysql突然启动不了,MySQL服务无法启动,服务名无效,服务没有报告任何错误。

2023-09-07 08:52:56 1775

原创 java实现简易缓存

if (cacheDt <= 0||cacheDt>nowDt) { //过期时间小于等于零时,或者过期时间大于当前时间时,则为FALSE。//系统当前的毫秒数。//缓存内的过期毫秒数。if (cacheExpired(cache)) { //调用判断是否终止方法。if (null == cache) { //传入的缓存不存在。} else { //大于过期时间 即过期。//Description: 管理缓存。//判断是否存在一个缓存。//重写载入缓存信息方法。//判断缓存是否终止。

2023-08-06 18:24:25 234

原创 基于spring boot实现前后端文件传输

中间的basepath是在xml中配置的存放地址。文件下载代码,通过字节输入输出流存放在浏览器端。

2023-07-23 19:20:01 328 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除