摘要:
先祭一张图,可以思考一下为什么? 一、介绍 equals() 的作用是用来判断两个对象是否相等。 hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返回一个int整数。这个哈希码的作用是确定该对象在哈希表中的索引位置。 二、关系 我们以“类的用途”来将“hashCode() 和 eq 阅读全文
posted @ 2022-03-04 14:44
Arbitrary233
阅读(102)
评论(0)
推荐(1)
摘要:
一、ThreadLocal简介 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性。 ThreadLocal是除了加锁这种同步方式之外的一种保证一种规避多线程访问出现线程不安 阅读全文
posted @ 2022-03-04 13:49
Arbitrary233
阅读(381)
评论(0)
推荐(0)
摘要:
答案: controller默认是单例的,不要使用非静态的成员变量,否则会发生数据逻辑混乱。正因为单例所以不是线程安全的。 简单的验证 @Controller public class ScopeTestController { private int num = 0; @RequestMappin 阅读全文
posted @ 2022-03-04 11:01
Arbitrary233
阅读(189)
评论(0)
推荐(0)
摘要:
一、前言 有时我们需要对类按照类中的某一个属性(或者多个属性)来对类的对象进行排序,有两种方法可以实现, 一种方法是类实现Comparable<T>接口,然后调用Collections.sort(List)方法进行排序, 另一种方法是类不实现Comparable<T>接口,而在排序时使用Collec 阅读全文
posted @ 2022-03-04 10:47
Arbitrary233
阅读(1743)
评论(0)
推荐(0)
摘要:
mybatis 底层是基于 JDK 动态代理来实现 mapper 动态代理的,所以我们先来看看 JDK 动态代理。 1、回顾JDK 动态代理 1.1、定义接口 & 实现类 public interface Subject { int add(int x, int y); } public class 阅读全文
posted @ 2022-03-04 10:21
Arbitrary233
阅读(177)
评论(0)
推荐(0)