Noflowcloud-Fluid
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

原始数据类型不能为null

在 Java 中,原始数据类型(基本数据类型)不能为 null,这是由 Java 的语言设计和类型系统决定的。以下是详细解释: 1. 基本数据类型与引用类型的区别Java 的数据类型分为两类: 基本数据类型(Primitive Types):包括 int、double、boolean 等,它们是值类型,直接存储具体的数值(如 int 存储整数,boolean 存储 true 或 false)。
2025-07-05

为什么使用可重入锁

在 Java 并发编程中,可重入锁(Reentrant Lock) 是一种核心的同步机制,其设计目的是为了解决多线程环境下资源竞争、死锁等问题,同时提升代码的灵活性和可维护性。以下是 Java 并发编程需要实现可重入锁的详细原因和原理: 1. 为什么需要可重入锁?(1) 避免线程因重复请求锁导致的死锁 问题场景:如果一个线程在持有锁的情况下再次请求同一把锁,且锁不支持可重入性,线程会因为无法获取
2025-07-05
#并发编程

可重入锁的引入:不可重入锁中的死锁问题

重入锁(ReentrantLock),顾名思义,就是支持重复进入的锁,它表示该锁能够支持同一个线程对一个资源的重复加锁。也就是说,如果某个线程试图获得一个已经由它自己持有的可重入锁,那个这个请求就会成功。 相反,不可重入锁就是指该锁不支持同一个线程对一个资源的重复加锁,由于 Java 中并没有现成的可重入锁可供使用,下面简单实现一个: 123456789101112131415public cla
2025-07-05
#并发编程

leetcode:删除链表的倒数第N个节点

s双指针想象有一把长度固定的尺子,左端点在链表头部,右端点在正数第 n 个节点。向右移动尺子,当尺子右端点到达链表末尾时,左端点就在倒数第 n 个节点。 由于需要删除节点,我们需要找倒数第 n 个节点的前一个节点(倒数第 n+1 个节点),这样才能做删除操作。 修改:左端点在链表头部,右端点在正数第 n+1 个节点。向右移动尺子,当尺子右端点到达链表末尾时,左端点就在倒数第 n+1 个节点。 细节
2025-07-03
#leetcode

leetcode:k个一组链表倒转

给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。 示例 1: 12输入:head = [1,2,3,4,5], k = 2输出:[2,1,4,3,5] 示例 2: 12输入:head
2025-06-28
#leetcode

leetcode:链表倒转

92.反转链表2给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 示例 1: 12输入:head = [1,2,3,4,5], left = 2, right = 4输出:[1,4,3,2,5] 示例 2: 12输入:head = [5], left
2025-06-28
#leetcode

Git与GitLab的企业实战第1章 Git概述Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。 Git易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于Subversion(svn)、CVS、Perforce和ClearCase等版本控制工具。 1. 何为版本控制版本控制是一种记录文件内容变化,以便将来查
2025-06-27

leetcode:旋转图像

2025-06-27

编译原理之复习

唉,怎么编译原理怎么难啊,学了两天还是一头雾水,想学Java了,什么时候才能变成Java大佬啊,唉唉唉唉
2025-06-26
#日常生活

螺旋矩阵

哎呦我靠,怎么螺旋矩阵怎么难,感觉接雨水都没这么难,明天开启高三模式了,好累啊
2025-06-25
#leetcode
123

搜索

Hexo Fluid