- 博客(8)
- 收藏
- 关注
原创 IO模型的演变
线程的切换成本是很高的。如果线程数过高,可能执行线程切换的时间甚至会大于线程执行的时间,这时候带来的表现。收到一个连接请求,就可以建立通信套接字在这个通信套接字上进行读写操作,此时不能再接收其他客 户端连接请求,只能等待同当前连接的客户端的操作执行完成。求,一旦受到连接请求就建立通信套接字同时开启一个新的线程来处理这个套接字的数据读写请求,然。也就是说,这个时候,已经不是一个连接就要对应一个处理线程了,而是有效的请求,对应一个线程,的时候,系统是阻塞的,如果是单线程的话在阻塞的期间不能接受任何请。
2022-11-06 10:35:12
264
原创 Java的字节和字符流
即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更。流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。所提供的方法,就不难发现两个基类的功能基本一样的,只不过读取的数据。多出两个方法,主要是支持写入字符和字符串类型的数据。是所有的输出字符流的父类,它是一个抽象类。输出的基础,它可以方便地实现数据的输入。根据数据不同分为:字节流和输字符流。直观的进行数据操作。
2022-11-05 14:31:52
261
原创 Iterator 迭代器使用
Iterator 接口提供遍历任何 Collection 的接口。的特点是只能单向遍历,但是更加安全,因为它可以确保,在当前遍历。Java 一般不允许一个线程在遍历。,迭代器允许调用者在迭代过程中移除元素。的集合元素被更改的时候,就会抛出。中使用迭代器方法来获取迭。的唯一正确方式是使用。运行以上错误代码会报。语句时,会自动生成一个。时另一个线程修改它。
2022-11-04 22:46:41
222
原创 单列集合容器
在一个实现了某个集合框架中的接口的对象身上完成某种有用的计算的方 法,例如查找、排序 等。这些算法通常是多态的,因为相同的方法可以在同一个 接口被多个类实现时有不同的表现。的结构(是结构上面的修改,而不是简 单的修改集合元素的内容),那么这个时候程序 就会抛出ConcurrentModificationException。:一个有序(元素存入集合的顺序和取出的顺序一致)容器,元素可以重 复,可以插入多个。集合的一种错误检测机制,当多个线程对集合进行结构上的改变的操作 时,有可能会产生。
2022-11-03 22:55:04
96
原创 Java运行时反射理解
这种动态获取的信息以及动态调用对象的方法的功能称为。在我们平时的项目开发过程中,基本上很少会直接使用到反射机制,但这不能说明反射机制没有用,实。际上有很多设计、开发都与反射机制有关,例如模块化的开发,通过反射去调用对应的字节码;反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;或 properties里面的内容,得到对应实体类的字节码字符串以及相关的属性信息。优点: 运行期类型的判断,动态加载类,提高代码灵活度。使用反射机制,根据这 个字符串获得某个类的Class。
2022-11-01 23:35:47
224
原创 HashMap源码
JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈希冲突(两个对象调用的hashCode方法计算的哈希码值一致导致计算的数组索引值相同)而存在的(“拉链法”解决冲突).JDK1.8 以后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(或者红黑树的边界值,默认为 8)并且当前数组的长度大于64时,此时此索引位置上的所有数据改为使用红黑树存储。补充:将链表转换成红黑树前会判断,即使阈值大于8,但是数组长度小于64,此时并不会将链表变为红黑树。
2022-10-31 22:59:54
156
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅