自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 HandlerInterceptor

HandlerInterceptor是SpringMVC框架中的关键拦截器接口,用于在请求处理的不同阶段插入自定义逻辑。它包含三个核心方法:preHandle(控制器方法执行前调用)、postHandle(控制器方法执行后,视图渲染前调用)和afterCompletion(请求完成后调用)。与Servlet的Filter相比,HandlerInterceptor在DispatcherServlet之后执行,能够访问Spring Bean和控制器信息,且支持多个有序执行。

2025-05-08 23:09:09 241

原创 java后端代码是如何使用sessionid得到对应session的

在JavaWeb应用中,服务器通过SessionID找到对应的Session对象的过程是自动完成的,但理解其底层机制非常重要。当客户端发起请求时,服务器会从请求中提取SessionID(通常来自Cookie或URL参数),然后在服务器端的Session管理器中查找对应的Session。如果找到则返回,找不到则根据参数决定是否创建新Session。Tomcat等Servlet容器通过doGetSession方法实现这一过程,包括从Cookie中获取JSESSIONID、从Session管理器查找Session

2025-05-08 22:53:08 319

原创 java中Collections.sort()用法

在这个例子中, Comparator.comparingInt(Person::age) 提供了一个比较器,它根据 Person 对象的 age 属性进行升序排序。通过这些示例,你应该能够理解如何在Java中使用 Collections.sort 方法对列表进行排序,并且可以根据需要提供自定义的比较器来控制排序顺序。示例:按对象的某个属性排序如果你有一个对象列表,并且想要根据对象的某个属性进行排序,你可以提供一个自定义的比较器。

2025-05-07 16:05:25 219

原创 数字图像处理与python实现课本资源

数字图像处理与python实现课本资源。

2025-03-04 11:03:41 252

原创 java程序初始化顺序

父类静态变量父类静态代码块子类静态变量子类静态块父类非静态变量父类非静态代码块父类构造方法子类非静态变量子类非静态代码块子类构造器。

2024-09-13 00:07:04 307

原创 Java基本数据类型存储在哪里

这些规则适用于基本数据类型的默认值,当声明这些变量时,如果没有显式地赋值,Java会给它们赋予一个默认值(例如`int`为0,`boolean`为`false`,`Object`引用为`null`)。3. **静态成员变量**(类级别的变量,通过类名直接访问):静态变量也存储在堆中,但是它们是在方法区(Method Area,有时也被称作永久代,在JDK 8之后,永久代被元空间(MetaSpace)所替代)的一部分,这部分内存用来存储类的信息以及静态变量。

2024-09-12 15:37:32 678

原创 redisson看门狗机制

Redisson的WatchDog机制是Redisson提供的监控锁的看门狗,它的作用是在Redisson实例被关闭前,不断的延长锁的有效期。当一个拿到锁的线程一直没有完成逻辑,那么看门狗会帮助线程不断的延长锁超时时间,锁不会因为超时而被释放。默认情况下,看门狗的续期时间是30s,也可以通过修改Config.lockWatchdogTimeout来另行指定。

2024-09-11 22:38:56 812

原创 java为什么泛型类型参数必须是引用类型,而不能是基本类型

Java的泛型在编译时进行类型擦除,这意味着在运行时,泛型类型参数会被替换为它们的边界类型(如果没有指定边界,则替换为Object)。:在类型擦除后,泛型类型参数会被替换为它们的边界类型。对于基本类型,边界类型是Object,而包装类型有明确的边界类型。在Java中,泛型类型参数必须是引用类型,而不能是基本类型。这是因为泛型在编译时进行类型擦除,而基本类型在类型擦除后无法恢复。总之,由于Java泛型的类型擦除机制,基本类型不能作为泛型类型参数,而必须使用包装类型。

2024-09-10 20:17:28 453

原创 java中Map接口的实现类底层如何存储数据(简述)

Map接口的实现类(如HashMapTreeMap等)底层使用哈希表结构来存储键值对,使用链表和红黑树来解决哈希冲突。java 8开始,HashMap哈希冲突的解决采用链表 + 红黑树的方案。当某个槽位的链表长度达到8,这个槽位的链表会转化为红黑树。

2024-09-09 22:38:37 306

原创 ThreadLocal为什么value不也设置成弱引用?

ThreadLocalMap`的`value`使用强引用是为了确保线程局部变量的值可以被访问到,同时避免内存泄漏。虽然线程结束时`ThreadLocalMap`中的`value`会被自动清除,但为了防止内存泄漏,建议在不再需要使用`ThreadLocal`时,手动调用`ThreadLocal`的`remove()`方法来清除`value`。

2024-09-08 22:35:31 698 1

原创 java如何重写hashCode()和equals()

在Java中,`hashCode()`和`equals()`方法是`Object`类中的两个方法,用于比较对象是否相等。为了正确地使用`Map`、`Set`等集合类,通常需要重写这两个方法。`hashCode()`方法用于返回对象的哈希码,它决定了对象在哈希表中的位置。重写`hashCode()`方法时,应该遵循以下原则:1.:在同一个程序执行期间,只要对象的`equals()`方法使用的属性没有改变,那么多次调用`hashCode()`方法应该返回同一个哈希码。2.

2024-09-08 21:39:25 313

数字图像处理与python实现

数字图像处理与python实现

2025-03-04

空空如也

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

TA关注的人

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