- 博客(2)
- 收藏
- 关注
原创 重写equals必须重写hashcode方法
equals方法是java的顶层父类Object的方法,所有的java类都继承自Object类,因此所有的java对象也就天然的继承到了equals方法。但是这里的equals方法仅仅标识两个对象的内存地址是否一样,而不会去看其中的内容是否一致,因此我们在需要的时候需要重写equals方法。
2024-05-29 16:05:22
218
原创 synchronized、ReenttrentLock与volatile的内存语义理解
对于java来说,什么是锁,简单来讲就是让对共享的变量的访问的互斥的,保证同步代码块中的操作的原子性,举个简单例子就是我们去卫生间上厕所的时候,从里面把门锁上(获取锁),保证当前只有你一个人占用这个坑位,外面的人需要等待你从里面出来(释放锁)后,才能去上厕所。但这样的例子仅说明了锁保证了各个线程对同一块代码的访问是互斥的,他并没有告诉我们加锁的本质是 对共享变量的 “操作”。为什么要加锁,本质上是因为共享变量会被多个线程访问、修改。如果线程不会去修改共享变量,还需要锁吗,那指定是不需要的。
2024-05-24 22:26:41
789
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人