复习笔记
未读
微机复习笔记(I):8253芯片
第八章:8253 前言 《微机原理与接口技术复习笔记》系列文章主要用于微机这门课的期末复习,适用于计算机相关专业的同学。本系列文章会总结相关知识点并给出例题。 注意⚠️:本文不适用于电子信息相关专业的同学,原因是计科专业对这门课要求比较低,而电子信息专业这门课的要求会比较高,会涉及更多内容。 定时和
技术
未读
部署Nacos也能踩坑?Nacos2.3.1部署踩坑记录
前言 笔者最近在写一个微服务的项目,在技术选型方面采用了Dubbo作为RPC框架,注册中心选用了Nacos,在部署Nacos的时候,本着怎么方便怎么来的缘故,我选用了Nacos Docker进行部署,却没想到在鉴权上也踩了一些坑,特写一篇文章记录一下。 Nacos Docker部署 Nacos部署
阿里也出手了!Spring Cloud Alibaba AI初体验
什么是Spring AI Spring AI是从著名的Python项目LangChain和LlamaIndex中汲取灵感,它不是这些项目的直接移植,它的成立信念是,下一波生成式人工智能应用程序将不仅适用于 Python 开发人员,而且将在许多编程语言中无处不在。 我们可以从Spring AI的官网描
技术
未读
实践札记:内网穿透Frp踩坑
前言 最近在做一个物联网相关的需求,大致要求是用户使用指纹识别开门后,除了将设备属性上报到华为云IoT平台外,还需要在华为云配置数据转发,将开门日志转发到后端服务并存到数据库,用于向用户端展示开门日志。 这其实是一个挺朴实无华的需求的,只需要在华为云上把数据转发配置为自己服务器的地址就行了。问题就在
后端开发
未读
系统设计:如何使用AOP设计一个防重提交功能
防重幂等的概念 防重幂等指的是我们的业务需要防止两条相同的数据重复提交导致脏数据或业务错乱。需要注意的是,重复提交属于小概率事件,这和并发压测不是同一个概念。 我们的目标是通过防重幂等的设计,让系统支持业务失败或异常快速释放限制。业务处理成功后,会在指定时间限定内限制同一条数据的提交。本文将介绍如何
后端开发
未读
开发札记:如何在业务中添加日志系统
提到日志,我们一般只会想到使用 @Slf4j打印的日志,实际上我们系统中的日志还可以细分为系统日志、登录日志和操作日志。本文将讲述如何在SpringBoot中使用和开发这三种日志系统。 关键词:Logback、Slf4j、p6spy、AspectJ、SpringEvent、线程池、Async 这里我
后端开发
未读
开发札记:Validator注解配合国际化
title: 开发札记:Validator注解配合国际化 subtitle: 开发札记:Validator注解配合国际化 description: 开发札记:Validator注解配合国际化 author: Zhan categories: 技术笔记 tags: 后端开发 keywords: 后端开
后端开发
未读
开发札记:基于Sa-Token构建权限系统实战
Sa-Token是一个Java权限认证框架,配置很简洁,使用方便。本文主要分享如何使用Sa-Token整合JWT实现登录鉴权和权限授权,数据持久层采用的是Redis缓存,同时本文会分析Sa-Token的相关源码。 Maven依赖和yml配置 首先引入Sa-Token的两个依赖。 <!-- Sa-To
技术
未读
JVM基础:内存结构与垃圾回收
JVM内存结构 Java运行时数据区: 线程不共享:程序计数器、JVM栈、本地方法栈 线程共享:方法区、堆区 不属于Java运行时内存:直接内存 PC: PC的作用是控制指令的执行。 多线程下,需要通过PC记录CPU切换前的执行位置。程序计数器只会保存固定长度的内存地址,不会发生内存溢出。 程序员无
技术
未读
JVM基础:字节码文件与类加载器
认识JVM JVM的作用: 解释和运行:将字节码指令解释为机器码。 内存管理:自动分配对象和方法内存;GC 即时编译JIT:对热点代码做优化(将热点代码的机器码保存到内存中,下次直接调用) JVM规范: 规定字节码文件的定义、类和接口的加载和初始化、指令集 JVM规范并不是针对Java语言设计的要求