java
文章平均质量分 77
_翚_
这个作者很懒,什么都没留下…
展开
-
深入浅出hashmap原理
属性相关的问题 默认容量为什么是16? HashMap作为一种数据结构,元素在put的过程中需要进行hash运算,目的是计算出该元素存放在hashMap中的具体位置。hash运算的过程其实就是对目标元素的Key进行hashcode,再对Map的容量进行取模,而JDK 的工程师为了提升取模的效率,使用位运算代替了取模运算,这就要求Map的容量一定得是2的幂。 作为默认容量,太大和太小都不合适,所以16就作为一个比较合适的经验值被采用了。 为什么默认负载因子为0.75? 负载因子表示一个数组可以达原创 2021-01-17 22:37:59 · 201 阅读 · 0 评论 -
rmi入门
定义 RMI, 全称是remote method invocation, 远程方法调用,一种用于远程过程调用的应用程序编程接口,是纯 java 的网络分布式应用系统的核心解决方案之一。 RMI目前使用Java远程消息交换协议 JRMP(Java Remote Messageing Protocol)进行通信,由于 JRMP 是专为 Java对象制定的,是分布式应用系统的百分之百纯 java 解决方案,用 Java RMI 开发的应用系统可以部署在任何支持 JRE的平台上 缺点是,由于 JRMP 是专门为原创 2020-06-26 23:21:56 · 152 阅读 · 0 评论 -
实现导入excel功能的注意事项
poi方式,可以借助easypoi实现,但是要考虑文件的大小,过大可能导致内存溢出,整个服务宕机。实测,excel只有几十kb的时候,耗费的内存已经达到几百M。 sax方式,可以借助easyexcel实现,easypoi实现有bug,还没找出原因。它是通过流的方式一行一行读取,因此耗费的内存很少。 ...原创 2019-06-20 22:18:10 · 396 阅读 · 0 评论 -
java锁的知识点
可重入锁(递归锁) 以synchronized为例: why? 如果synchronized是不可重入的, 那么会经常发生死锁. 为了避免死锁的发生, synchronized是可重入的. what? 一个类中存在两个synchronized修饰的方法,在 A方法中调用B方法,当B方法执行完返回A方法的时候,无需重新获取锁(this对象), 称为锁具有可重入性. 除了synchronized, ...原创 2019-08-17 13:28:35 · 149 阅读 · 0 评论