重识HashMap(in jdk1.8)
2017-04-19 19:42:56 | 0 Comments |
阅读量
230
| JAVA JDK源码
# 一、前言
HashMap是我们经常使用一个映射容器,通过牺牲存储空间来换取检索时间,其内部基于hash表数据结构构建。在key未发生冲突的情况下,搜索时间复杂度为O(1),可以快速定位元素。因此在日常开发中也被程序员广泛使用,例如作为关系映射容器、简单缓存、提高检索速度等。
HashMap是Map家族中最普通的一员,是一个Key-Value存储容器,根据key的hashCode来存储数据(
JAVA NIO系列之NIO浅析
2017-03-26 15:29:32 | 0 Comments |
阅读量
253
| JAVA
# 一、前言
java是一门跨平台的语言,因此能够一次编译到处运行。为了使java字节码能够在不同操作系统上运行,java设计必须做出妥协,必须选择各种平台都能接受的处理方案。因此妥协直接带来了java的性能问题,最直接受影响的就是IO领域。为了适应不同的操作系统,java抽象出一套IO类,这些类主要面向字节流数据。但为了执行这些字节流数据,就要执行好几层的方法调用。
这种面向对象的处理方法
JAVA不可变类(immutable)机制与String的不可变性
2017-03-26 15:21:09 | 0 Comments |
阅读量
504
| JAVA
不可变类:所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值。如JDK内部自带的很多不可变类:Interger、Long和String等。
可变类:相对于不可变类,可变类创建实例后可以改变其成员变量值,开发中创建的大部分类都属于可变类。