04 2019 档案
摘要:1 阻塞I/O(blocking IO) 应用程序调用一个IO函数,导致应用程序阻塞,如果数据已经准备好,从内核拷贝到用户空间,否则一直等待下去。一个典型的读操作流程大致如下图,当用户进程调用recvfrom这个系统调用时,kernel就开始了IO的第一个阶段:准备数据,就是数据被拷贝到内核缓冲区中
阅读全文
摘要:1、概述 ArrayList是我们最常用的集合类,它支持随机访问,查询速度非常快,插入,删除则耗时较多,ArrayList支持存储重复性的数据,空数据;ArrayList是变长集合,它基于定长数组实现,在集合中数据达到数组的最大限,他会重新创建一个更大容量的数组,把原先数组中的数据复制到新的数组,a
阅读全文
摘要:1散列的价值在于它的速度:散列使得查询变快,它将键key保存在某处,而我们知道存储一组数组最快的数据结构是数组,所以用它来表示键的信息(注意,数组保存的是键的信息,不是键本身),由于数组是固定的,当我们希望在Map中存放不确定数量的对象时,数组本身不保存键本身,而是通过键生成一个数字,将其作为数组下
阅读全文
摘要:Map:基本思想是映射表(维护键-值对),HashMap,TreeMap,LinkedHashMap,ConcurrentHashMap等都是基于Map接口实现的map容器,他们特性不同,表现在效率,键值对保存及呈现次序,对象保存周期,映射表如何在多线程程序中工作和判定“键”等价策略方面; Hash
阅读全文
摘要:Set:set不存重复元素,如果是使用set存储java预定义的Integer,String等类型会很简单,如果是存储自定义类型的数据类型,就必须要重新定义equals()方法以确保set中保存的对象得人唯一性,set接口是不保证元素的次序的,所以当你的set使用场景不同时,也要根据实际情况选着不同
阅读全文
摘要:1 数组标识符其实只是一个引用,指向在堆中创建的一个真实对象,这个数组用以保存指向其他对象的引用;对象数组和基本类型数组唯一区别就是:对象数组保存的是引用,基本类型数组保存的是基本类型的值 2数组与泛型:不能实例化具有参数类型的数组(样例如下图第三个红框),因为擦除会移除参数类型信息,而数组必须知道
阅读全文