
java基础
专业跳大神儿
吾生也有涯,学也无涯。
展开
-
Java多线程之Lock接口
Java多线程之Lock接口 java中的同步方式一种是基于JVM层面的比如sychronized,volatile等,这些都是由JVM实现的,对程序员透明的,而Lock指的是Lock接口,这是JDK层面的,它能让程序员更加灵活的去控制获取和释放锁的时机: 与sychronized相比,使用实现了Lock接口的锁有以下的特性: 1. 更灵活的为对象加锁或者释放锁,不在局限于同一个代码块内...原创 2018-03-07 22:16:23 · 240 阅读 · 0 评论 -
覆盖equals方法的技巧和要求(effective java总结)
Effective Java 这里只对一些面试的高频题进行总结:覆盖equals方法:在覆盖equals方法的时候有五点需要注意的: 1:自反性 2对称性 3传递性 4非空性(不能与null) 5:一致性:如果两个对象相等,那么它们要始终相等,除非其中的对象改变了,所以不要使equals方法依赖不可靠资源覆盖equals方法的技巧: 1 使用==判断是否为对象自身的引用 2 ...原创 2018-03-04 22:17:52 · 415 阅读 · 0 评论 -
关于ThreadLocal
ThreadLocal(线程本地副本) ThreadLocal是存储线程本地变量的一个类似Map的容器,它为变量在每个线程中都存储了一个本地的副本,这些副本是线程隔离的,因此也就不存在多线程的同步问题,虽然占用了内存,但是确实解决一些不需要在多个线程之间进行共享 的变量的存储问题。应用场景: 它常常用来解决数据库连接,session管理等问题。 在我的项目中主要是用它来做session管...原创 2018-03-06 14:32:46 · 127 阅读 · 0 评论 -
ConcurrentHashMap
JDK1.5之后出现,因为HashTable虽然是线程安全的但是它是在方法前面加上的Sycronized锁 导致执行效率低下 许多线程同时访问的时候会出现阻塞或者轮询状态。而HashMap则是线程不安全的,下面就来讨论一下ConcurrenHashMap是如何实现线程安全的。ConcurrentHashMap之所以较HashTable提高了性能最根本的原因就是,它不是对Hash表的整体进行加锁...原创 2018-03-06 14:35:52 · 245 阅读 · 0 评论