
java基础知识
余三二
这个作者很懒,什么都没留下…
展开
-
HashMap多个构造方法的理解
1、创建HashMap除了常用的空方法Map map = new HashMap();2、还有一个入参的,这个入参并不是指创建大小为3的HashMap,而是创建大于3的最小2的n次方大小的HashMap,比如3,实际创建的长度为2^2=4。以此类推,new HashMap(5)实际创建的大小为2^4=8。Map map = new HashMap(3);3、两个入参,第一个入参仍是第2点中的入参,而第二个入参则是环境因子。表示,当前创建的大小的HashMap实际可用的空间大小的比例。比如下例,原创 2020-11-21 15:31:36 · 884 阅读 · 2 评论 -
HashMap的几种循环方式性能比较
实验条件:分别用keySet,values, entrySet, Iterator 循环含有100000次的Map对象,将value存到一个变量里,比较用时大小为保证Map中的key并不是完全规律的,所以key的取值做以下处理1、利用keySet进行遍历2、利用values进行遍历3、利用entrySet进行遍历4、利用Iterator进行遍历结果:结论:由结果可以看出,第二种和第四种循环Map效率更高,虽然用迭代器看上去写的代码复杂些。...原创 2020-11-20 23:22:22 · 1087 阅读 · 0 评论 -
内存模型:堆内存、栈内存、静态内存
学习笔记:堆内存:用于存储类的实例、数组等引用数据类型,也即用new生成的对象栈内存:存储局部变量,如方法参数等静态内存区(持久区):该区不会被GC回收,存储常量,静态变量,类的元数据,比如方法,属性等延伸资料:1、堆内存、栈内存、静态内存区略微详细点的介绍https://blog.youkuaiyun.com/fxd873/article/details/490031492、对象引用和对象本身的区别,也即通过对象引用来指向创建的对象的地址达到间接访问对象的目的里面的比喻很形象值得一看https原创 2020-11-20 22:12:00 · 201 阅读 · 0 评论