- 博客(120)
- 资源 (1)
- 收藏
- 关注
原创 java8新特性 LocalDate
新增的日期类主要有三种:java.time.LocalDate ->只对年月日做出处理java.time.LocalTime ->只对时分秒纳秒做出处理java.time.LocalDateTime ->同时可以处理年月日和时分秒LocalDate:默认返回一个日期格式为yyyy-MM-dd格式的日期。
2025-06-13 17:54:10
713
转载 深入理解:全网最详细解释!什么情况下,才可以使用Java“强制类型转换”!
因为他们之间转换,都会首先转换为int类型,再转换为他们之间的其他类型数据。(1)那些能直接进行“字符串”与“基本数据类型”转换的情况,都是需要调用某些方法才能实现!(3)“基本数据类型”与“自定义类”之间的相互转换类型,也是不可以的。这比转String类型还离谱!(3)第三种情况:可以将父类引用的子类对象(多态),强制转换为子类类型。注意: 至于其他类型与String类型之间的转换,读者可以自己去试一试,应该是不会成功的!(本质是削弱子类型的功能,只具备与父类同属性的功能,其他的功能存在,但是不能调用。
2025-06-12 13:47:09
13
原创 idea中黄色感叹号打开
项目右上角数字1的地方悬浮会出现2弹框 然后点击三个竖点进入3弹框然后点击Configure Inspections进入Inspections弹框。java目录中选中带对勾的有的会有6框下的reset按钮。点击reset按钮会重置报警显示。
2025-06-10 18:13:58
334
原创 反射获取方法和属性
在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射获取和调用方法是Java动态性的体现,它为开发者提供了极大的灵活性。在Java中,可以使用反射机制来获取对象的属性值。通过上述代码,可以看到如何使用反射获取对象的公共和私有属性值。对象代表了类的元数据,包含了类的结构信息,如方法、构造器、成员变量等。: 获取类中所有属性(包括私有、保护、默认和公共),返回一个包含Field对象的数组。如果想要获取类中的所有方法,包括私有方法,可以使用。
2025-06-09 18:24:42
552
原创 Redis中的setIfAbsent方法和execute
此外,在使用时需要注意异常处理,例如,当键已经存在时,该方法不会抛出异常,而是返回。如果键已经存在,它将不执行任何操作。上述方法是 RedisTemplate 中 delete 方法的源码,它就是使用 execute() 来执行具体的删除操作(即调用 connection.del(rawKeys) 方法)。方法是一种原子操作,它的作用是只有在指定的键不存在时才会设置值。其实,在 RedisTemplate 中,其他很多方法均是通过调用 execute() 方法来实现,只是不同的方法实现不同的回调接口。
2025-06-04 14:56:29
966
转载 JAVA注解
*** 注解类*//*** 构造方法注解*//*** 我的方法注解*//*** 字段注解定义*//*** 可以同时应用到类上和方法上*/// 定义枚举// 设置默认值// 数组。
2025-06-04 10:30:43
13
转载 JAVA反射
反射之中包含了一个「反」字,所以想要解释反射就必须先从「正」开始解释。一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。上面这样子进行类对象的初始化,我们可以理解为「正」。而反射则是一开始并不知道我要初始化的类对象是什么,自然也无法使用 new 关键字来创建对象了。上面两段代码的执行结果,其实是完全一样的。
2025-05-30 17:45:55
26
转载 Java 中的泛型(两万字超全详解)
博主将用 优快云 记录 Java 后端开发学习之路上的经验,并将自己整理的编程经验和知识分享出来,希望能帮助到有需要的小伙伴。博主也希望和一直在坚持努力学习的小伙伴们共勉!唯有努力钻研,多思考勤动手,方能在编程道路上行至所向。由于博主技术知识有限,博文中难免会有出错的地方,还望各位大佬包涵并批评指正,博主会及时改正;如果本文对小伙伴你有帮助的话,求求给博主一个赞支持一下,可以一起交流,一起加油!!
2025-05-30 13:27:59
112
原创 docker 安装并访问 fastDFS
我这里最开始是8888但是百度搜索的都是80或者8080端口号所以导致一直访问不到,所以如果地址访问不到优先查看nginx端口号问题。1.开放80,22122,23000端口,云服务器防火墙策略也要开(注意:如果关闭防火墙,云服务器策略也要开)1去nginx安装conf目录下查看nginx.conf文件的访问端口号。进入nginx安装目录,查看nginx错误日志。192.168.1.113是我的宿主机。修改tracker_server参数。nginx服务进程正常启动。
2025-05-25 18:32:24
375
转载 git第一次配置ssh key,clone代码出错解决方法
但是明明配置了ssh key 不知道为啥会出现ED….ssh文件夹下缺少known_hosts文件,正常如下。git clone出现错误。如图,在问答这步,填yes。
2025-05-06 14:41:50
106
转载 解决Docker拉取镜像报错:Get https://registry-1.docker.io/v2/: 报错
解决Docker拉取镜像报错: Get “https://registry-1.docker.io/v2/”: net/http: request canceled while waiting for connection。Get "https://registry-1.docker.io/v2/"是docker官方的镜像源,下载很慢的,一般会自己指定国内映射的加速镜像源。1.修改daemon.json 文件,没有的话新建一个。3.配置源修改后,要重启docker。4.重新拉取,会拉取成功。
2025-04-30 22:35:20
829
转载 使用 Docker 安装 MySQL 的详细教程
v /home/service/mysql/data:/mysql_data:将宿主机的 /home/service/mysql/data 目录挂载到容器的 /mysql_data 目录,用于存储 MySQL 数据。-v /home/service/mysql/logs:/logs:将宿主机的 /home/service/mysql/logs 目录挂载到容器的 /logs 目录,用于存储 MySQL 日志。你会看到包括 MySQL 镜像在内的所有镜像信息,如镜像 ID、标签(tag)、创建时间、大小等。
2025-04-30 22:33:55
71
转载 网络基础之IP地址和子网掩码
随着互连网应用的不断扩大,原先的IPv4的弊端也逐渐暴露出来,即网络号占位太多,而主机号位太少,所以其能提供的主机地址也越来越稀缺,目前除了使用NAT在企业内部利用保留地址自行分配以外,通常都对一个高类别的IP地址进行再划分,以形成多个子网,提供给不同规模的用户群使用。IP地址的子网掩码设置不是任意的。在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。
2025-04-26 15:03:57
109
转载 CurrentHashMap的底层原理
Segment类是线程安全的(Segment类继承 ReentrantLock,具有加锁功能) ,通过继承ReentrantLock,使用ReentrantLock的lock方法来实现加锁。当线程需要删除或修改 Segment 中的数据时,ConcurrentHashMap首先需要获取该 Segment 的锁,即调用lock方法,这样可以确保同一时间只有一个线程能够修改 Segment 中的数据,对该 Segment 的数据操作是线程安全的,防止数据不一致的情况发生。remove方法源码。
2025-04-18 18:31:13
26
转载 SQL窗口函数之partition by的使用
partition by与group by都是对表中的某维度进行分组。不同的是partition by返回的是分组后的每一条记录,不改变表中数据行数,后续可以做排序、topN等操作;而 group by返回的是分组的聚合值,例如max、sum、avg等值。
2025-04-18 17:50:04
466
转载 Java并发基石ReentrantLock:深入解读其原理与实现
也被称为“可重入锁”,是一个同步工具类,在java.util.concurrent.locks包下。这种锁的一个重要特点是,它允许一个线程多次获取同一个锁而不会产生死锁。这与关键字提供的锁定机制非常相似,但提供了更高的扩展性。的实现依赖于内部的Sync类,这个类是(AQS)的一个实现。AQS是Java并发库中许多同步工具(包括Semaphore和等)的核心。AQS使用一个int类型的变量来表示同步状态,用它来表示锁的持有计数和持有线程的信息。当计数为0时,表示锁未被任何线程持有。
2025-04-11 23:21:50
75
转载 跳跃表原理
最近看了一种数据结构叫做skipList,redis和levelDB都是用了它。Skip List是在有序链表的基础上进行了扩展,解决了有序链表结构查找特定值困难的问题,查找特定值的时间复杂度为O(logn),他是一种可以代替平衡树的数据结构。目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的
2025-04-10 22:33:58
22
转载 Java内存管理的基本概念
在Java中,一个对象的成员变量(也称为实例变量)存储在堆内存(Heap Memory)区域。:这是Java虚拟机(JVM)中的一个主要区域,用于存储所有运行时创建的对象。不管这些对象是属于哪个类的实例,它们都存储在堆内存中。成员变量作为对象的一部分,随着对象一起存储在这里。:这个区域存储局部变量和方法调用。当你调用一个方法时,一个新的块被创建在栈上,用于存储局部变量和方法的参数。当方法结束时,这个块被移除。
2025-04-09 18:52:59
31
转载 JAVA强引用、弱引用、软引用、虚引用
phantomRef 是一个虚引用,指向这个对象,并且关联了一个引用队列 queue。PhanTomReference 引用的对象就是虚引用,拿不到虚引用指向的对象,一般监听GC 回收阶段,或者清理堆外的内存时使用。obj 就是强引用,指向了新创建的 Object 对象,用于 sofeReference 引用的对象就是软引用,在内存不足的时候,会回收软引用指向的对象。WeakReference 引用的对象就是弱引用,只要有 gc, 就会被回收,可以解决内存泄露。// 如果有对象被回收,返回对应的虚引用。
2025-04-08 19:07:28
53
转载 Seata面试题
Seata 是一个开源的分布式事务解决方案,主要用于微服务架构下跨多个数据库、服务或系统的全局事务管理。“Seata” 是 “Simple Extensible Autonomous Transaction Architecture”(简单扩展自主事务架构)的缩写,其前身是阿里巴巴开源的分布式事务中间件 Fescar。在传统的单体应用中,事务管理通常依赖于单个数据库的事务能力,并由关系型数据库的事务管理器实现。但在微服务架构中,系统被拆分为多个松耦合、独立部署的服务,每个服务可能使用独立的数据库。
2025-04-08 18:54:07
57
转载 Redis 持久化揭秘:选择 RDB、AOF 还是混合持久化?
AOF 文件实际上是 Redis 执行命令的一个日志,重启 Redis 时,Redis 会重新执行这些命令来恢复数据。,每种机制有各自的优缺点。bash save 900 1 # 900秒内如果至少发生1次写操作,则生成快照 save 300 10 # 300秒内如果至少发生10次写操作,则生成快照 save 60 10000 # 60秒内如果至少发生10000次写操作,则生成快照。Redis 的持久化机制经历了多个版本的改进与演化,随着需求的变化,Redis 提供了不同的持久化方案来满足各种应用场景。
2025-04-08 17:26:35
32
转载 【多线程】线程池核心数到底如何配置?
在实际开发中如何给线程池设置合适的线程数量呢?N+1,主要做一些计算工作,要在 CPU上运行2N+1,主要是等待 IO 操作,比如等待读写硬盘,读写网卡等,不怎么消耗 CPU 资源(其中 N 为 CPU 的核心数量)Q:为什么要加 1。
2025-04-03 11:39:15
223
转载 mysql超大分页优化
在 MySQL 中处理超大分页时,传统的 LIMIT OFFSET 方法并不适合大数据量场景,优化方式需根据实际需求选择。对于需要极深分页的场景,建议结合缓存或限制分页范围的方式进行合理设计,以平衡性能与用户体验。分页逻辑:通过上次查询的最后一条记录的主键值 lastId 作为下次查询的起始点,避免全表扫描。如果查询字段全部包含在索引中,则会直接从索引中返回结果,提升查询速度。通过查询仅索引列的数据,避免扫描实际行数据,减少 I/O 开销。对于多表联合查询,先查询主键集合,再根据主键查询完整数据。
2025-04-03 11:26:31
36
转载 Vue学习看这篇就够
作用:进行DOM操作使用场景:对纯 DOM 元素进行底层操作,比如:文本框获得焦点vue 自定义指令用法实例两种指令:1 全局指令 2 局部指令// 第一个参数:指令名称// 第二个参数:配置对象,指定指令的钩子函数// bind中只能对元素自身进行DOM操作,而无法对父级元素操作// 只调用一次 指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。// 参数详解// el:指令所绑定的元素,可以用来直接操作 DOM。
2025-04-01 17:09:57
62
转载 阿里面试官:多线程场景下如何使用 ArrayList
ArrayList 不是的,这点很多人都知道,但是线程不安全的原因及表现,怎么在多线程情况下使用ArrayList,可能不是很清楚,这里总结一下。
2025-03-31 17:09:07
48
转载 【无标题】
1、输入手机号,点击发送后随机生成6位数字码,2分钟有效。2、输入验证码,点击验证,返回成功或失败。3、每个手机号每天只能输入3次。• 查看服务器上的 key。完成一个手机验证码功能。• 第四次后就会出现。
2025-03-22 00:05:04
18
转载 什么是JavaBean、Bean? 什么是POJO、PO、DTO、VO、BO ? 什么是EJB、EntityBean?
在Java开发中经常遇到这些概念问题,有的可能理解混淆,有的可能理解不到位,特此花了很多时间理顺了这些概念。不过有些概念实际开发中并没有使用到,可能理解还不够准确,只能靠后续不断纠正了。POJO(Plain Old Java Object)这种叫法是Martin Fowler、Rebecca Parsons和Josh MacKenzie在2000年的一次演讲的时候提出来的。按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻译为“纯洁老式的Java对象”,但大家都
2025-03-21 14:46:24
134
转载 sip六大头域深度解析 - Call-ID头域
SIP协议中的Call-ID头域是一个非常重要的组成部分,SIP协议使用Call-ID来唯一地标识两个SIP实体(如用户代理客户端UAC和用户代理服务器UAS)之间建立的一个特定的SIP对话或会话【1】。因此,当您在调试SIP通信或查看SIP交易记录时,遇到以"Generated"开头的"Call-ID",您可以理解为这个值是在本地生成的,而不是事先约定或由远端系统指定的。不可重用性:Call-ID的值在SIP对话或会话的生命周期内是固定的,并且在会话结束后不应该被重用于另一个不同的会话。
2025-01-20 14:34:12
135
转载 GB28181国标视频平台播放失败或者信令不通时如何抓包分析
在做GB28181视频接入的时候经常遇到信令交互失败或者无法正常播放视频的问题,这里介绍下LiveGBS GB28181国标视频平台播放失败或者信令不通时如何抓包分析:1、第一步:抓包工具准备1.1、Linux使用 tcpdump 进行抓包,如果系统无此命令,自行安装下载安装 wireshark 进行抓包。
2024-12-13 13:49:01
351
转载 国标28181:实时视频播放
TS流:也叫传输流,是由固定长度为188字节的包组成,含有独⽴时基的⼀个或多个program, ⼀个program⼜可以包含多个视频、⾳频、和⽂字信息的ES流;ES 是直接从编码器出来的数据流,可以是编码过的视频数据流,⾳频数据流,或其他编码数据流的统称。GBT28181协议规定码流使用RTP包负载,推荐为PS流,也可以是ES流,对于媒体流的传输在原有UDP传输的基础中,增加了主动tcp和被动tcp的方式。设备发送了流,但是开启了SSRC校验,设备的流不够规范采用错误的SSRC,导致流媒体服务器选择丢弃。
2024-12-12 16:41:49
1116
1
转载 网络基础--TCP/IP网络基础
1、TCP/IP简介TCP/IP是传输控制协议和网络协议的简称,它定义设备如何连入因特网,以及数据如何在他们之间传输的标准。TCP/IP不是一个协议,而是一个协议族的统称,里面包括了IP协议、ICMP协议、TCP协议、以及http、ftp、pop3协议等,网络计算机都采用这套协议族进行互联。提到网络协议栈结构,最著名的当属 OSI 七层模型,但是 TCP/IP 协议族的结构则稍有不同,它们之间的层次结构有如图对应关系:从上图可见,根据TCP/IP四层模型,其中各层的任务如下:应用层:应用程序通过
2024-12-12 14:36:44
278
转载 使用stream流过滤对象中相同的属性值
代码如下(示例):[Student(id=1, stuNum=No1, name=小王), Student(id=2, stuNum=No2, name=小郭), Student(id=3, stuNum=No2, name=小高)][Student(id=1, stuNum=No1, name=小王), Student(id=2, stuNum=No2, name=小郭)]我们在开发项目中,有很多需求是需要集合根据某个属性筛选出重复的数据,这里我写一个实例。2.创建一个过滤工具类。
2024-12-12 10:36:13
395
转载 SIP / FS 状态码&错误码详解
在应答中,可以出现一个包含媒体兼容性描述的消息体,这个消息体的格式根据INVITE请求中的Accept头域指出的格式进行规格化(如果没有Accept头域,那么就是application/sdp),就像给OPTIONS亲求的200(OK)应答中的消息一样。当不能在Request-URI指定的地址找到用户的时候,请求的客户端应当使用Contact头域所指出的新的地址重新尝试。请求者应当用这个新的值来更新本地的目录,地址本,和用户地址cache,并且在后续请求中,发送到这个/这些列出的地址。
2024-12-11 15:31:22
466
转载 技术解码 | GB28181/SIP/SDP 协议
GB28181协议是视频监控领域的国家标准,本文将解析如何在FFmpeg中增加对GB28181协议的支持,使其可以与支持GB28181协议的设备进行通信与控制,实现设备的注册、保活以及流媒体的传输。GB28181协议指的是国家标准GB/T 28181—2016《公共安全视频监控联网系统信息传输、交换、控制技术要求》。该标准规定了公共安全视频监控联网系统的互联结构, 传输、交换、控制的基本要求和安全性要求, 以及控制、传输流程和协议接口等技术要求,是视频监控领域的国家标准。GB28181协议信令。
2024-12-11 14:04:15
793
editplus_3.41.exe
2019-04-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人