![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
geshengbin
这个作者很懒,什么都没留下…
展开
-
Java对象序列化
Java对象序列化的意义在于,可以将Java对象转换成字节数据,保存在磁盘上,或者直接通过网络传播。同时通过反序列化可以把保存在磁盘,或者网络上的java字节数据恢复成原来的对象。所以序列化使Java对象可以脱离程序而独立存在。 Java类实现可序列化的要求是,实现下面的两个接口之一: Serializable Externalizable 一、使用对象流实现序列化 两个步骤实现序列化: 创建ObjectOutputStream处理流 //处理流必须建立在节点流FileOutputStrea原创 2020-07-01 16:25:28 · 181 阅读 · 0 评论 -
HashMap的容量为什么是2的幂次方
HashMap 的容量为什么是2的幂次方 为了能让 HashMap 存取高效,尽量较少碰撞,也就是要尽量把数据分配均匀。我们上面也讲到了过了,Hash 值的范围值-2147483648到2147483647,前后加起来大概40亿的映射空间,只要哈希函数映射得比较均匀松散,一般应用是很难出现碰撞的。但问题是一个40亿长度的数组,内存是放不下的。所以这个散列值是不能直接拿来用的。用之前还要先做对数组的长度取模运算,得到的余数才能用来要存放的位置也就是对应的数组下标。这个数组下标的计算方法是“ (n - 1) &原创 2020-07-01 16:23:00 · 625 阅读 · 0 评论 -
Java中的一些基本概念
进程 process 和 线程 thread 两个名词都是对CPU时间段的描述。 进程就是包括CPU上下文切换和程序执行时间的总和 = CPU加载上下文 + CPU执行 + CPU保存上下文 进程是资源分配的最小单位,由操作系统分配,任意时刻,CPU总是运行一个进程,其他的进程处于非运行状态。 线程由程序自己分配,线程共享了进程的上下文环境,是比进程更小的CPU时间段。一个进程可以包含多个线程,进程在执行 时,CPU会在进程的线程之间来回切换,所以线程是CPU调度的最小单位。 对于Java程序来说,多个.原创 2020-07-01 16:15:28 · 304 阅读 · 0 评论