- 博客(77)
- 资源 (1)
- 收藏
- 关注
原创 02_MQ常见问题
消息队列(MQ)是一种应用程序对应用程序的通信方法,允许独立的应用程序通过读写出入队列的消息来进行通信,而不需要彼此直接交互。它由生产者(Producer)、代理(Broker)、消费者(Consumer)三者组成,采用生产者-消费者模型。
2025-05-27 17:39:09
422
原创 04_redis之ZSet使用实例-积分榜
以前一段时间特别🔥的跳一跳这个小游戏进行说明,假设我们这个游戏用户遍布全球,因此我们要设计一个全球的榜单,每个玩家都会根据自己的战绩在排行榜中获取一个排名,我们需要支持全球榜单的查询,自己排位的查询这两种最基本的查询场景;从zset的特性来看,我们每个用户的积分,丢到zset中,就是一个带权重的元素,而且是已经排好序的了,只需要获取元素对应的index,就是我们预期的排名。上面的实现,主要利用了zset的两个方法,一个是添加元素,一个是查询排名,对应的redis操作方法如下,
2025-05-26 15:03:05
872
原创 03_Redis之ZSet数据结构使用
在开始之前,有必要指定一下key和value的序列化方式,当不指定时,采用默认的序列化(即jdk的对象序列化方式),直接导致的就是通过redis-cli获取存储数据时,会发现和你预期的不一样。ZSET,可以简单的理解为带权重的集合;与前面的set最大的区别,就是每个元素可以设置一个score,从而可以实现各种排行榜的功能。如果元素存在,会用新的score来替换原来的,返回0;这个需要注意的是,当value在集合中时,返回其score;zset中的元素塞入之后,可以修改其score的值,通过。
2025-05-26 14:56:46
242
原创 05_spring配置使用
配置文件位置一般来说,默认的配置文件或者文件放在目录properties格式properties配置文件属于比较常见的一种了,定义也比较简单,形如 ,一个实例如下yml格式yml格式的配置文件是以缩进来表示分层,kv之间用冒号来分割,形如对比properties和yml都是Spring Boot支持的两种配置文件,它们可以看作是Spring Boot在不同时期的两款“产品”。下面咱们就来详细说说它们的异同:定义和定位:语法:数据类型:语言支持:综上,properties和yml各有千秋。prop
2025-05-23 09:29:43
792
原创 02_redis分布式锁原理
在Java中实现分布式锁时,设置超时时间是非常重要的,因为它可以防止锁被永远持有(例如,由于客户端崩溃或网络问题导致的锁无法释放)。不同的分布式锁实现方式可能有不同的方法来设置超时时间。但是,这里需要注意一个细节:只有当锁的持有者(即设置锁的进程)才能释放锁。通常,这涉及到在数据库中创建一个锁表,并通过SQL语句来检查、设置和释放锁。超时时间可以通过在数据库中设置锁的过期时间来实现。在使用Zookeeper时,可以通过创建临时有序节点来实现锁的功能,并设置节点的超时时间(即会话超时)。
2025-05-21 13:16:08
1174
原创 04_spring容器管理单例多例
在Spring容器中,单例作用域意味着Spring容器在创建bean的时候只创建一个实例,无论我们是否通过容器获取多少次这个bean,获取到的都是同一个实例。
2025-05-21 09:23:50
445
原创 02_springboot常用注解
在Spring Boot中,注解是一种非常重要的特性,它们大大简化了配置和开发过程。及其派生注解(@GetMapping、@PostMapping、@PutMapping、@DeleteMapping)这些注解在Spring Boot项目中非常常见,掌握它们可以大大提高你的开发效率。希望这些信息对你有所帮助!
2025-05-20 10:23:35
317
原创 01_springboot中bean的生命周期
Bean的定义通常通过注解(如@Component@Service等)、XML配置或Java配置类()来实现。代码示例@Service// ...
2025-05-20 10:21:37
642
原创 02_JVM
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。版本:支持 JDK 6+(4.x 版本不再支持 JDK 6 和 JDK 7),支持 Linux/Mac/Windows,采用命令行交互模式,同时提供丰富的。其中,JVM虚拟机运行时数据区(内存模型)包含五部分:堆、栈(线程)、方法区(元空间)、本地方法栈、程序计数器。
2025-05-08 16:59:20
1039
原创 04-redis
redis使用jemalloc作为内存分配器,通过内存碎片整理和预分配策略优化内存使用。在事务执行期间,所有命令被队列处理,确保原子性,但不影响性能。集群通过分片将数据分不到多个节点,支持自动管理、故障转移和弹性扩展,需手动配置。通过监控CPU、内存、网络、命令执行时间和连接数等指标,及时发现瓶颈和异常情况。哨兵用于监控主从节点,自动故障转移,管理主从架构,并发布服务信息。redis是一个开源、高性能的键值存储系统,常被称为内存数据库。慢查询指那些执行时间过长的命令,平均响应时间超过阈值。
2025-05-08 13:53:56
989
原创 03_spring配置优先级
显式加载的配置文件,优先级低于默认配置。形式传递,直接覆盖其他配置(如。通过JVM参数设置(如。通过系统变量设置(如。
2025-04-30 16:50:54
517
原创 02_高并发系统问题及解决方案
Redis锁通过一种机制,使得在分布式环境下,多个客户端(或请求)在尝试获取锁时,只有一个客户端能够成功获取锁,从而实现对共享资源的互斥访问。这种机制通常是通过在Redis中设置一个键值对来实现的,其中键表示锁的名称,值可以是任何能够唯一标识获取锁的客户端的信息(如客户端ID、获取锁的时间戳等)。:缓存击穿指的是在高并发情况下,多个请求同时查询同一条数据,而这条数据在缓存中正好失效(或不存在),导致所有请求都直接落到数据库上,造成数据库短时间内承受大量请求而崩掉。这样可以提升系统的响应速度和用户体验。
2025-04-29 14:40:44
930
原创 01_微服务常见问题
微服务架构下的数据库设计是怎样的?如何进行分库分表、读写分离等优化策略?如何对微服务架构进行性能测试和调优?有哪些常用的性能测试工具和调优策略?在微服务架构中,如何保证数据的一致性?有哪些常用的数据一致性解决方案?如何实现微服务之间的服务注册与发现?有哪些常用的服务注册与发现框架?微服务架构中如何进行故障隔离和容错处理?有哪些常用的容错机制和策略?如何合理地拆分服务?拆分的粒度应该如何把握?微服务架构中如何进行服务治理?包括哪些治理策略和工具?微服务之间是如何通信的?有哪些常用的通信协议和工具?
2025-04-29 14:39:37
1159
原创 Java的spring boot项目编译成功启动报错
其中最坑的是第4个,cannot creat bean *****,这个问题在项目启动日志里显示的不是【Error】,而是【Warn】,需要细心观察。整理代码时删光了UserGroupService的所有实现类,就会导致上面的启动失败,且提示信息在日志里是【Warn】级别,容易忽略。
2025-04-08 17:13:42
261
原创 02_DeepSeek相关概念
提示语(Prompt)是用户输入给AI系统的指令或信息,用于引导AI生成特定的输出或执行特定的任务。简单来说,提示语就是我们与AI”对话“所使用的语言,它可以是一个简单的问题,一段详细的指令,也可以是一个复杂的任务概述。定义:AI幻觉(AI Hallucinations)是指生成式人工智能模型在生成文本或回答问题时,尽管表面上呈现出逻辑性和语法正确的形式,但其输出内容可能包含完全虚构、不准确或与事实不符的信息。
2025-04-07 14:47:44
789
原创 Linux上开放指定端口
Linux上开放指定端口# 打开8080端口firewall-cmd --zone=public --add-port=8080/tcp --permanent# 重启防火墙firewall-cmd --reload# 参数说明:--zone # 作用域--add-port=8080/tcp # 开放的端口,格式为:端口/通讯协议--permanent # 永久生效,不设置此参数,重启防火墙后会失效...
2021-11-30 13:56:55
726
原创 Linux安装jdk8
cd /opt/# 安装包官网下载后上传到服务器/opt/目录下# 解压安装包[root@localhost opt]# tar -zxvf jdk-8u311-linux-x64.tar.gz # 修改配置文件vi /etc/profile# 在profile末尾加上export JAVA_HOME=/opt/jdk1.8.0_311/export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME
2021-11-29 16:35:40
517
原创 [Camera模块]day_01 openCamera
openCamera1. Cameramanager1.1 概念1.2 内部类1.2.1 Cameramanager.AvailabilityCallback1.2.2 Cameramanager.TorchCallback1.3 常用方法1.3.1 CameraCharacteristics getCameraCharacteristics(String cameraId)1.3.2 String[] getCameraIdList()1.3.3 openCamera2. openCamera2.1 op
2020-11-11 17:31:45
1724
原创 note-05 广播
五、广播机制5.1 广播机制简介5.2 接收系统广播5.2.1 动态注册监听网络变化5.2.2 静态注册实现开机启动5.3 发送自定义广播5.3.1 发送标准广播5.3.2 发送有序广播5.4 使用本地广播5.1 广播机制简介 Android提供了一套完整的API,允许应用程序自由地发送和接收广播。发送广播的方法——Intent,接收广播的方法——广播接收器(Broadcast Receiver)。Andro
2020-06-17 16:10:36
248
原创 note-04 碎片
四、碎片4.1 碎片是什么4.2 碎片的使用方式4.2.1 碎片的简单用法4.2.2 动态添加碎片4.2.3 在碎片中模拟返回栈4.2.4 碎片和活动之间的通信4.3 碎片的生命周期4.3.1 碎片的状态和回调4.4 动态加载布局的技巧4.4.1 使用限定符4.1 碎片是什么碎片(Fragment)是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间,因而在平板上应用得非常广泛。4.2 碎片的使用方式首先创建平板模拟器。创建完成后启动平板模拟器。4.2.1 碎片的简单用法
2020-06-16 10:37:40
154
原创 note-03 UI开发
三、UI开发3 UI开发3.1 常用控件的使用3.1.1 TextView3.1.2 Button3.1.3 EditText3.1.4 ImageView3.1.5 ProgressBar3.1.6 AlertDialog3.1.7 ProgressDialog3.2 详解4种布局3.2.1 线性布局3.2.3 相对布局3.2.3 帧布局3.2.4 百分比布局3.3 创建自定义控件3.3.1 引入布局3.3.2 创建自定义控件3 UI开发3.1 常用控件的使用3.1.1 TextView用于显示文
2020-06-15 15:49:37
316
原创 note-02 活动
二、活动2 活动2.1 活动是什么?2.2 活动的基本用法2.3 使用Intent在活动之间穿梭2.3.1 显式Intent2.3.2 隐式Intent2.3.3 更多隐式Intent的用法2.3.4 向下一个活动传递数据2.3.5 返回数据给上一个活动2.4 活动的生命周期2.4.1 返回栈2.4.2 活动状态2.4.3 活动的生存期2.5 活动的启动模式2 活动2.1 活动是什么?Activity,一种可以包含用户界面的组件,主要用于和用户交互。2.2 活动的基本用法新建project——&g
2020-06-09 20:44:11
155
原创 note-01 Android基础知识
一、Android基础知识1.1 Android简介1.1.1 Android系统架构1.1.2 Android应用开发特色1.2 开发环境1.3 第一个Android项目项目中的资源讲解——resbuild.gradle文件1.4 日志工具的使用1.4.1 使用Android的日志工具Log1.1 Android简介1.1.1 Android系统架构 Android大致可以分为四层架构:Linux内核层、系统运行库层、
2020-06-08 19:49:26
196
java实现两个小项目.zip
2019-11-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人