自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1106)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

原创 分布式微服务系统架构第120集:专业WebSocket鉴权

仓库地址:https://webvueblog.github.io/JavaPlusDoc/,可以自定义 WebSocket握手拦截器 → 返回HTTP状态码,比如401。不光从 URL,也能从 WebSocket 请求头拿 token。,统一管理所有在线Session(方便批量踢人/广播消息),比如客户端定时发送ping消息,服务端回复pong。可以在服务端定时心跳检测,把死掉的连接清理掉。比如token过期、恶意连接,可以主动断开。方法外包装一层 try-catch。灵活扩展,可以接认证中心、数据库。

2025-04-23 08:06:16 786

原创 分布式微服务系统架构第119集:WebSocket监控服务内部原理和执行流程

通常用来自定义 WebSocket 握手过程,比如:校验token、设置自定义属性、统一Session管理、拦截器(handshake拦截)等。如果你用的 Kafka Server 开了自动建Topic(auto.create.topics.enable=true),也可以不手动建。注解的类,自动注册成 WebSocket 端点。完就不管了,加一个Callback回调,拿到真正的发送成功 or 失败,做链路监控。:这里可以记录日志、发告警(钉钉/飞书/邮件),或者存到DB里,方便后续人工修复。

2025-04-23 08:06:16 790

原创 分布式微服务系统架构第121集:AppCtxHolder

本身是由 Web容器(Tomcat/Undertow/Jetty)托管的,不是 Spring 托管的!当前类不是被 Spring 托管的(比如普通 Java 类、第三方库、手动 new 出来的对象)是让你在任何地方都能访问 Spring 容器中 Bean 的万能工具。✅ 这样,WebSocket也能用上 Spring 的依赖了!(每连接一个客户端就 new 一个),而Spring容器默认是。里的 session 没移除干净,会慢慢堆积,最好在。根据 bean 名字,获取 Spring 容器里的对象。

2025-04-23 08:06:16 951

原创 分布式微服务系统架构第117集:Kafka发送工具,标准ASCII

Netty内部是责任链(Pipeline)模式,编码器和解码器在 pipeline 中按顺序处理。注意ByteBuf使用生命周期,避免内存泄漏(Netty内部有引用计数机制)完整表格(标准ASCII 0x00 ~ 0x7F片段,含0x7B重点标红):不是每一条都发,而是攒一批一起发(比如100条或者100ms发一次)每次发送时执行,通常是单线程串行(但需要注意共享资源)📈 1. 每分钟输出报警发送频率(TPS、QPS)📈 1. 每分钟输出报警发送频率(TPS、QPS)

2025-04-22 08:05:16 1056

原创 分布式微服务系统架构第118集:Future池管理容器-CompletableFuture

举个小例子,比如 Netty 收到一条业务请求,存个 CondFuture,异步发出去,下次 channelRead 回来,再通过 id 取出 Future,signal 一下返回响应,非常常见!客户端发指令(比如充值请求),服务器先缓存 Future,异步处理完后 signal 返回结果。A系统请求B系统处理数据,不阻塞主线程,通过 Future await 等待异步回包。下单后,发“支付成功消息”,等用户支付异步回调,signal Future并继续业务。

2025-04-22 08:05:16 737

原创 分布式微服务系统架构第114集:微信小程序订阅消息推送实践

在发送模板消息的接口中,也需此凭证,下面演示如何通过auth.getAccessToken来获取access_token。用户点击按钮,发起授权同意后,就会在微信的服务通知里收到如下消息,点击“进入小程序查看”,就会跳转到我们page属性的路径里。示例中创建了两个方法getJsCode()和getOpenId(),在sendMsg()方法中依次执行来获得openid。通过设置->基本设置来修改小程序类目。改造openAuth(),增加sendMsg()的调用,实现用户同意订阅消息模板后,发送模板消息。

2025-04-21 05:14:16 119

原创 分布式微服务系统架构第116集:设备网关,处理字节的大数据,过亿缓存

在程序中缓存到本地的数据时,通常会使用本地持久化存储(如文件、数据库、内存缓存等)来存储数据。如果数据量较小且只需要在内存中缓存,可以选择将数据存储在内存中,在程序启动时加载缓存数据。使用一个简单的文件或数据库同步机制,将内存数据持久化到文件或数据库中。如果需要缓存并持久化,可以使用 Redis 提供的持久化选项(RDB 或 AOF)。将缓存数据保存到本地文件中(如 JSON、XML、或二进制文件),在程序启动时读取文件恢复缓存。在启动时读取文件、数据库或 Redis 中存储的数据并恢复到内存缓存中。

2025-04-21 05:14:16 899

原创 架构第113集:网关服务器、Cassandra数据库、Redis缓存、Kafka消息队列、Elasticsearch客户端

→ Replication Factor = 3,ISR列表控制好(min.insync.replicas=2)。→ 配置 DLQ(死信队列)+ 自定义拦截器(如 ProducerInterceptor 抓异常)。)实现的简易版 Future,用来在某个线程中等待结果,直到被另一个线程显式唤醒并传递结果。→ 调大 batch.size、buffer.memory,使用压缩。→ 合理调 max.poll.records、fetch参数。xx、xx、业务库分开,减少热数据干扰,提升查询性能。

2025-04-19 08:16:42 1261

原创 分布式微服务系统架构第111集:spring三大特性,跨境电商、SaaS 平台、B2B 管理后台实现多语言国际化

获取二维码 -> 用户扫码授权 -> 获取 code -> 换 access_token -> 获取 openid/userinfo。GitHub 授权页 -> 获取 code -> 换 access_token -> 拉用户信息。仓库地址:https://webvueblog.github.io/JavaPlusDoc/支持密码、验证码、第三方登录(如微信、支付宝、GitHub)验证通过后生成登录 token(JWT / Session)查找或注册用户,建立登录态(如生成 JWT/token)

2025-04-18 07:23:34 695

原创 分布式微服务系统架构第110集:业务流程-网站微信扫码登录,密码、验证码、第三方登录(微信、支付宝、GitHub)

获取二维码 -> 用户扫码授权 -> 获取 code -> 换 access_token -> 获取 openid/userinfo。GitHub 授权页 -> 获取 code -> 换 access_token -> 拉用户信息。仓库地址:https://webvueblog.github.io/JavaPlusDoc/支持密码、验证码、第三方登录(如微信、支付宝、GitHub)验证通过后生成登录 token(JWT / Session)查找或注册用户,建立登录态(如生成 JWT/token)

2025-04-17 07:39:54 978

原创 分布式微服务系统架构第109集:HTTP缓存优化,Nginx 代理配置,蓝绿部署, Jenkins一键切流脚本

只让部分用户使用新版本,根据规则(如 IP、cookie、header、比例等)灰度流量。强缓存(from disk cache / memory cache)缓存命中(304 vs 200 vs from disk cache)启用 CDN 缓存、压缩 Gzip/Brotli、减少 RTT。✅ 一、蓝绿部署(Blue-Green Deployment)静态资源加长缓存、动态资源配合校验、关闭 ETag(如必要)如果资源没变,返回 304,节省带宽;尽量数据解耦(静态 vs 动态),结构分离、更新原子性。

2025-04-16 08:02:19 779

原创 分布式微服务系统架构第108集:ConcurrentHashMap,LinkedHashMap底层原理详解

ConcurrentHashMap 利用 volatile + synchronized + CAS 等机制,实现了分段加锁、原子操作与可见性保障,从而在并发场景下保持线程安全。所有关键共享变量(如 Node.val、Node.next、table 本身)都为 volatile,确保线程间可见性。多线程并发迁移旧节点到新 table(通过 ForwardingNode 标记正在迁移)(遍历顺序不固定),它返回的数据顺序是可预测的,避免坑。细粒度桶锁、CAS 原子性、volatile 可见性。

2025-04-15 08:21:05 886

原创 分布式微服务系统架构第107集:Netty开发,模拟报文生成器代码

检测 TCP 长连接在一定时间内是否“空闲”,如果空闲(没有读/写),就主动断开连接,释放资源并打印日志。这是 Netty 长连接服务端中非常常见的一种“心跳丢失检测”机制,防止死连接占用资源。:上下文对象,包含了 pipeline、channel 等信息,可以用来写回数据(避免无意义创建对象、String 拼接过多,log 中不提前 encode 等。对于超时连接,记录 IP、终端ID、最后活跃时间、流量等信息便于排查。在服务端断开前,可以发一个“连接即将断开”消息给客户端。

2025-04-14 08:08:41 1030

原创 分布式微服务系统架构第106集:jt808,补充类加载器

如果一个类加载器收到了类加载的请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载器中,只有当父加载器反馈自己无法完成这个加载请求(找不到所需的类)时,子加载器才会尝试自己去加载。因此,比较两个类是否“相等”,只有在这两个类是由同一个类加载器加载的前提下才有意义,否则,即使这两个类来源于同一个 Class 文件,被同一个虚拟机加载,只要加载它们的类加载器不同,那么这两个类就必定不相等。

2025-04-13 11:26:00 870

原创 分布式微服务系统架构第104集:类加载的过程,高性能、高可靠性下单服务系统的核心特性

方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块(static {} 块)中的语句合并产生的,编译器收集的顺序是由语句在源文件中出现的顺序所决定的。非数组类加载阶段可以使用系统提供的引导类加载器,也可以由用户自定义的类加载器完成,开发人员可以通过定义自己的类加载器控制字节流的获取方式(如重写一个类加载器的。加载阶段与连接阶段的部分内容交叉进行,加载阶段尚未完成,连接阶段可能已经开始了。静态语句块中只能访问定义在静态语句块之前的变量,定义在它之后的变量,在前面的静态语句块中可以赋值,但不能访问。

2025-04-12 07:47:41 689

原创 分布式微服务系统架构第105集:协议,高性能下单系统示例项目

仓库地址:https://webvueblog.github.io/JavaPlusDoc/,不像 UDP 一包一发,它不关心消息边界,只负责“字节流”的可靠传输。这是最容易被忽略的 Bug:线程实际被中断了,但程序表现上“什么都没发生”。)是 TCP 网络编程中的常见问题,特别是你在做像 JT808 协议这种。帧解码器:以 0x7e 为分隔符拆包,避免 TCP 粘包/拆包问题。在 Java 中,线程的中断(interrupt)是一种“Netty 的“责任链管道”,可理解为消息处理的流水线。

2025-04-12 07:47:41 636

原创 分布式微服务系统架构第103集:高性能落地实践,Kafka,分布式锁,缓存双写架构

避免无限死循环,增加线程可控性(便于后期 shutdown hook)的复合主键,有利于 Cassandra 的查询性能(分区+排序)📊 表结构固定,便于数据仓库处理、日志追踪、消息还原等场景。避免每次访问创建,提高访问效率,便于 JVM 编译器优化。🔧 灵活生成、可扩展性强,可未来支持版本号、标签等字段。避免日志IO影响性能,可由 AOP 全局处理日志。无论是否异常,都提交 offset,避免消费重复。使用参数化日志格式,避免无谓字符串拼接(更高效)避免静态共享导致线程安全问题,减少锁竞争。

2025-04-11 07:18:13 915

原创 分布式微服务系统架构第102集:JVM调优支撑高并发、低延迟、高稳定性场景

加载、验证、准备、初始化和卸载这 5 个阶段的顺序是确定的,类的加载过程必须按照这种顺序按部就班地开始(注意是“开始”,而不是“进行”或“完成”),而解析阶段则不一定:它在某些情况下可以在初始化后再开始,这是为了支持 Java 语言的运行时绑定。为了优化 JVM 性能,我们可以从几个关键方面入手,逐步进行优化,包括内存管理、GC优化、线程管理和网络性能等。对于静态字段,只有直接定义这个字段的类才会被初始化,因此通过其子类来引用父类中定义的静态字段,只会触发父类的初始化而不会触发子类的初始化。

2025-04-10 08:17:51 936

原创 分布式微服务系统架构第101集:JVM 底层原理调优

在 32 位 JDK 上,1.6G 分配给堆,还有一部分分配给 JVM 的其他内存,直接内存最大也只能在剩余的 0.4G 空间中分出一部分, 如果使用了 NIO,JVM 会在 JVM 内存之外分配内存空间,那么就要小心“直接内存”不足时发生内存溢出异常了。类索引和父类索引用两个 u2 类型的索引值表示,它们各自指向一个类型为 CONSTANT_Class_info 的类描述符常量,通过该常量总的索引值可以找到定义在 CONSTANT_Utf8_info 类型的常量中的全限定名字符串。

2025-04-09 07:32:15 968

原创 分布式微服务系统架构第100集:JVM 底层原理,Java 中常见的JVM问题

JVM 规范中运行时数据区域中的方法区,在 HotSpot 虚拟机中也称为永久代(Permanet Generation),存放一些类信息、常量、静态变量等数据,当系统要加载的类、反射的类和调用的方法较多时,永久代可能会被占满,会触发 Full GC。那么根据引用存放的地址类型的不同,对象有不同的访问方式。值是否设置为允许担保失败, 如果是,那么会继续检查老年代最大可用的连续空间是否大于历次晋升到老年代对象的平均大小, 如果大于,将尝试进行一次 Minor GC,尽管这次 Minor GC 是有风险的;

2025-04-08 07:14:54 884

原创 分布式微服务系统架构第98集:优化jvm的代码

仓库地址:https://webvueblog.github.io/JavaPlusDoc/避免频繁的 System.currentTimeMillis() 调用(热点调用)JVM 崩溃、core dump、hs_err_pid.log 文件生成。排查大对象、检查缓存、内存泄露、增加堆大小(-Xmx)持有对象引用、内存泄露、Soft/Weak 引用被滥用。本地方法调用异常、native 内存溢出、JNI 错误。使用懒加载 + 单例模式(减少类加载和对象创建)手动触发 Full GC 做性能基准测试前清场。

2025-04-06 22:19:44 689

原创 分布式微服务系统架构第96集:大型跨境电商JVM调优,MongoDB、Elasticsearch (ES)、Cassandra

因此,只有当我们充足的理由(比如测试)并且对应用程序产生的对象的生命周期有深刻的认知时,才应该使用该标志。默认CMS是在tenured generation(年老代)占满68%的时候开始进行CMS收集,如果你的年老代增长不是那么快,并且希望降低CMS次数的话,可以适当调高此值;ssr 渲染时机 服务器端生成完整HTML,浏览器直接渲染,首屏速度,较快,用户可快速看到内容,Seo 友好性,高,搜索引擎可直接抓取完整内容。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4。

2025-04-06 22:19:44 917

原创 分布式微服务系统架构第99集:缓存系统的实战级优化案例

在缓存系统中,频繁的对象创建和销毁会加大 GC 压力。仓库地址:https://webvueblog.github.io/JavaPlusDoc/JVM 在某些版本中对 Lambda 实现仍是匿名内部类,可能造成类加载压力。频繁创建短生命周期对象(如 JSON 对象、临时列表等)避免频繁创建临时对象,降低 Eden GC 压力。频繁使用 Lambda/匿名类 导致 GC 压力。:减少常用对象的频繁创建,避免 GC 频繁发生。在 G1 中,可以控制大对象是否直接进入老年代。

2025-04-06 22:19:44 588

原创 分布式微服务系统架构第97集:JVM底层原理

虚方法表:面向对象的编程中,会很频繁的使用动态分配,如果每次动态分配的过程都要重新在类的方法元数据中搜索合适的目标的话,就可能影响到执行效率,因此为了提高性能,JVM 采用在类的方法区建立一个虚方法表,使用索引表来代替查找。元空间的本质和永久代类似,都是对 JVM 规范中方法区的实现。s 是一个方法内部变量,上边的代码中直接将 s 返回,这个 StringBuffer 的对象有可能被其他方法所改变,导致它的作用域就不只是在方法内部,即使它是一个局部变量,但还是逃逸到了方法外部,称为方法逃逸。

2025-04-06 22:19:44 630

原创 分布式微服务系统架构第94集:Kafka 消费监听处理类,redisson延时队列

支持多个不同延迟任务(如:订单取消、支付过期、短信发送等)统一注册和调度,提高可扩展性。✅ 延迟场景 2:用户未读通知提醒(24小时后仍未读则再次提醒)RabbitMQ 本身不支持真正的延迟队列,但可使用插件或。✅ 延迟场景 1:优惠券即将过期提醒(提前1小时提醒)若多次消费同一订单,确保不会重复写入(订单状态比对)✅ 增强可配置性和灵活性(比如线程数量、阻塞时间);上报处理成功数、失败数、处理耗时等,用于高可用监控。添加Metrics指标(处理速率、耗时分布等)测试故障恢复能力(如ES宕机时的重试机制)

2025-04-05 22:07:10 523

原创 分布式微服务系统架构第95集:基于 Redisson 延迟队列,springboot,springcloud启动过程,策略模式

假设某个订单逾期了,并且该逾期事件被放入 Redis 的延时队列中,当延时到达时,这个类会从队列中取出订单 ID,然后生成一个事件并通过 Kafka 发送到相关系统,进行进一步的处理。Spring Cloud 的启动过程依赖于 Spring Boot 启动过程,但它有自己的一些额外步骤,主要用于处理服务注册与发现、配置管理、服务通信等。Spring Cloud 的启动过程依赖于 Spring Boot 启动过程,但它有自己的一些额外步骤,主要用于处理服务注册与发现、配置管理、服务通信等。

2025-04-05 22:07:10 805

原创 分布式微服务系统架构第93集:JT808协议Java编解码实现

通过以上步骤,可完成JT808协议消息的Java编解码。实际应用中需结合协议文档处理具体字段。:包含消息ID、消息体属性(长度、加密等)、终端手机号、消息流水号等。:根据不同的消息ID动态解析数据(如0x0200为位置信息)。:根据消息ID定义的具体业务数据(如位置、心跳等)。:协议规定使用大端序(Big-Endian)。2. 编码过程(Java对象 → 字节流)3. 解码过程(字节流 → Java对象):避免遗漏0x7D和0x7E的转义。:必须验证校验码以确保数据完整性。:从消息头到消息体的异或校验。

2025-03-17 08:28:12 314

原创 分布式微服务系统架构第92集:智能健康监测设备Java开发方案

加群联系作者vx:xiaoda0423仓库地址:https://webvueblog.github.io/JavaPlusDoc/https://1024bat.cn嗯,用户需要为血压、血糖、尿酸和血酮测试仪编写产品描述,同时涉及Java开发。首先,我得确定他们的需求是什么。可能他们是在开发一个健康监测系统,需要将这些设备的数据整合到一个应用中。产品描述需要专业但易懂,适合医疗或消费者市场。Jav...

2025-03-01 21:32:13 799

原创 LM Studio部署DeepSeekR1

安装必要软件和部署准备????由于一些神秘的力量,导致技术和我们相隔一面悲痛的壁障。请您自行修得道法破除壁障。下载并且安装必要依赖环境下载安装包您只需要下载 LM Studio 这一个软件包即可完成DeepseekR1的部署。????下载传送门:https://lmstudio.ai/download下载完成以后,您就可以获得一个如下图的安装包:安装LM Studio鼠标右键管理员身份运行:运行后,点击为所有...

2025-02-18 22:43:10 404

原创 分布式微服务系统架构第91集:系统性能指标总结

加群联系作者vx:xiaoda0423仓库地址:https://webvueblog.github.io/JavaPlusDoc/系统性能指标总结系统性能指标包括哪些?业务指标、资源指标、中间件指标、数据库指标、前端指标、稳定性指标、批量处理指标、可扩展性指标、可靠性指标。1)业务指标:主要包括并发用户数、响应时间、处理能力。响应时间 Response Time: RT对于在线实时交易:互联网企业...

2025-02-03 14:01:14 1093

原创 分布式微服务系统架构第90集:现代化金融核心系统

#1.1 深化数字化转型,核心面临新挑战1、架构侧:无法敏捷协同数字金融经营模式转型。2、需求侧:业务需求传导低效始终困扰金融机构。3、开发侧:创新产品上市速度低于期望。4、运维侧:传统面向资源型监控体系难以支撑现代化核心。5、监管侧:对业务连续性导向趋严趋细。6、成本侧:单客核心的运营成本逐渐走高。#1.2 重塑现代化核心,科技引领新趋势1、新理念:重构行业差异化竞争力的服务体系。2、新架构:构...

2025-01-31 15:04:52 1487

原创 分布式微服务系统架构第89集:kafka消费者

那么消费者是如何提交偏移量的呢?消费者往一个叫作 _consumer_offset 的特殊主题发送 消息,消息里包含每个分区的偏移量。如果消费者一直处于运行状态,那么偏移量就没有 什么用处。不过,如果消费者发生崩溃或者有新的消费者加入群组,就会触发再均衡,完 成再均衡之后,每个消费者可能分配到新的分区,而不是之前处理的那个。为了能够继续 之前的工作,消费者需要读取每个分区最后一次提交的偏移量,然后...

2025-01-30 14:11:56 1092

原创 分布式微服务系统架构第88集:kafka集群

使用集 群最大的好处是可以跨服务器进行负载均衡,再则就是可以使用复制功能来避免因单点故 障造成的数据丢失。在维护 Kafka 或底层系统时,使用集群可以确保为客户端提供高可用 性。需要多少个broker一个 Kafka 集群需要多少个 broker 取决于以下几个因素。首先,需要多少磁盘空间来保 留数据,以及单个 broker 有多少空间可用。如果整个集群需要保留 10TB 的数据,每个 brok...

2025-01-26 09:46:44 1505

原创 分布式微服务系统架构第87集:kafka

Kafka 就是为了解决上述问题而设计的一款基于发布与订阅的消息系统。它一般被称为 “分布式提交日志”或者“分布式流平台”。文件系统或数据库提交日志用来提供所有事务 的持久记录,通过重放这些日志可以重建系统的状态。同样地,Kafka 的数据是按照一定 顺序持久化保存的,可以按需读取。此外,Kafka 的数据分布在整个系统里,具备数据故 障保护和性能伸缩能力。消息和批次消息和批次 Kafka 的数据...

2025-01-22 20:37:14 2119

原创 springboot第84集:Java进阶之路, Netty

#kafka-map文件夹cd/usr/local/kafka-map#根据需求自行修改配置viapplication.yml#启动java-jarkafka-map.jarbyte minByte = -128;byte maxByte = 127;用于表示一个 8 位(1 字节)有符号整数。它的值范围是 -128(-2^7)到 127(2^7 - 1)。由于 byte...

2024-12-08 21:24:58 1066

原创 springboot第83集:理解SaaS多租户应用的架构和设计,设备介入,网关设备,安全,实时实现,序列化...

springboot第83集:理解SaaS多租户应用的架构和设计,设备介入,网关设备,安全,实时实现,序列化,数据交换,存储与查询,流处理,消息队列[什么是多租户]聊到PaaS,SaaS,就不得不谈到多租户。多租户指一套系统能够支撑多个租户。一个租户通常是具有相似访问模式和权限的一组用户,典型的租户是同一个组织或者公司的若干用户。要实现多租户,首先需要考虑的是数据层面的多租户。数据层的多租户模型对...

2024-11-18 00:00:20 1481

原创 springboot第82集:消息队列kafka,kafka-map

官网下载链接:https://kafka.[apache].org/downloads我下载的是[Scala]2.12 - kafka_2.12-3.1.0.tgzkafka只需要解压下载的压缩包就行了,我这里解压的路径是D:\kafka_2.12-3.1.0,kafka的运行需要依赖zookeeper,当前版本已经内置了zookeeper,所以不需要再安装zookeeper。kafka配置kaf...

2024-11-17 09:58:56 1078

原创 微服务mysql,redis,elasticsearch, kibana,cassandra,mongodb, kafka

在 Windows 上安装 MySQL下载 MySQL 安装包:访问 MySQL 官方网站。选择适合 Windows 的安装程序,下载并保存。运行安装程序:双击下载的安装文件,开始安装。在安装向导中选择“开发者默认”或“完整安装”。配置 MySQL:在配置过程中,选择配置类型(如开发机、服务器等)。设置 MySQL 的根用户密码,并选择是否创建其他用户。设置服务:选择 MySQL 是否作为 Win...

2024-11-06 23:57:24 1236

原创 springboot第80集:Seata,优化 Java 代码,物联网IOT

Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。AT模式是阿里首推的模式,阿里云上有商用版本的GTS(GlobalTransactionService全局事务服务)Seata的三大角色在Seata的架构中,一共有三个角色:TC(Transact...

2024-10-31 21:28:14 852

原创 springboot第79集:各种锁,线程池企业级高并发亿级数据处理

个人简介:我是哪吒全栈架构师Java|微服务集群方向一个人可能走得更快,但一群人一定会走得更远对于 MySQL 单表数据超过亿条记录的优化,以下是一些建议:1. 索引优化创建合适的索引:确保对常用查询条件、排序字段和连接字段建立索引。使用复合索引:对于多个条件的查询,考虑使用复合索引,以减少索引的数量和提升查询效率。2. 分区表数据分区:根据某个字段(如时间、ID范围等)进行分区,能有效地减少...

2024-10-21 22:54:03 654

wxParse.rar

微信小程序富文本解析组件,VM2670:1 Setting data field "xiugai" to undefined is invalid.

2018-12-25

book微信小程序

book111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

2018-06-22

CountTime-AndroidStudio项目制作倒计时模块

AndroidStudio项目制作倒计时模块AndroidStudio项目制作倒计时模块AndroidStudio项目制作倒计时模块

2018-04-03

Java基础笔记

Java代码笔记,用于学习,比较清晰,用代码来讲解内容。

2018-02-13

BS资产管理系统需求说明书

BS资产管理系统需求说明书BS资产管理系统需求说明书BS资产管理系统需求说明书

2017-12-27

云查杀的实现

云查杀的实现,1.程序加上自动升级功能,下载并安装App2,才能查到病毒。

2017-11-29

Android---UI篇---Menu(菜单)

Android---UI篇---Menu(菜单), Android系统里面有3种类型的菜单:options menu,context menu,sub menu。

2017-11-27

【Java】求1-100范围内的素数递归方法

【Java】求1-100范围内的素数递归方法代码例子。分享,感谢。

2017-11-11

Boom(字符型的扫雷游戏)

Boom(字符型的扫雷游戏),代码资源,eclipse软件打代码。

2017-11-01

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

TA关注的人

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