- 博客(5)
- 收藏
- 关注
原创 Hashcode() 和 equal() 和 == 区别?
1. hashcode()方法和equal()方法在java中都是判断两个对象是否相等2.两个对象相同,则hashcode值一定要相同,即对象相同 -->成员变量相同(hashcode值一定相同)3.两个对象的hashcode值相同,对象不一定相等。 总结:equal对象相等,hashcode值一定相等。hashcode相等,equal对象不一定相等。4. ==比较是两个引用在内存中指向的是不是同一对象(即同一个内存空间)。...
2020-08-23 15:28:23
107
原创 什么是中间件?如何设计一个中间件?
中间件处于操作系统和应用程序之间的软件,使用时往往是一组中间件集成在一起,构成一个平台(开发平台+运行平台),在这组中间件之间必须要有一个通信中间件,即:中间件 =平台 +通信。该定义只用于分布式系统中才能被称为中间件。主要分类: 远程过程调用,面向消息的中间件,对象请求代理,事物处理监控。几方面考虑自己设计中间件:...
2020-08-21 17:17:34
731
原创 jdk1.7到jdk1.8 Map 发生了什么变化?
1.8之后hashmap的数据结构发生了变化,从之前单纯的数组+链表结构变成了数组+链表+红黑树。也就是说在JVM存储hashmap的K-V时,仅仅通过key来决定每一个entry的存储槽位(Node[]中的index)。并且Value以链表的形式挂在对应的槽位上(1.8以后如果value长度大于8则转化为红黑树)。但是hashmap1.7和1.8中都没有任何同步操作,容易出现并发问题,甚至出现死循环,导致系统不可用。解决方案是jdk的ConcurrentHashMap,位于java.util.
2020-08-20 17:03:40
777
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人