![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java刷题笔记
文章平均质量分 69
Java刷题笔记
摸魚散人
我是摸魚散人
展开
-
Java刷题错题笔记-day07-IO
总体而言,BIO适用于连接数较少且连接时间较长的情况,NIO适用于连接数较多但连接时间较短的情况,而AIO适用于连接数较多且每个连接的I/O操作耗时较长的情况。选择合适的I/O模型取决于具体应用的特点和需求。因此,虽然字节流理论上可以处理Unicode字符,但为了确保正确处理字符编码、避免乱码和数据错误解释,更推荐使用字符流进行Unicode字符的读写操作。)在设计上更适合处理字符数据,它们能够理解并正确处理字符编码,提供了更高层次的抽象,使得处理Unicode字符更为方便和安全。对于Unicode字符,原创 2024-01-07 23:59:32 · 406 阅读 · 1 评论 -
Java刷题错题笔记-day06-集合
关于集合迭代器的Fail-Fast和Fail-Safe机制、ConcurrentHashMap的null值、双括号"{{}}"初始化集合问题原创 2024-01-06 19:32:25 · 944 阅读 · 1 评论 -
Java刷题错题笔记-day05-集合(CopyOnWriterArrayList、HashMap)
红黑树的查询性能相对较好,因为红黑树是一种平衡二叉搜索树,保持了相对平衡的树结构。在红黑树中,查询操作的时间复杂度为 O(log N),而链表的查询操作的时间复杂度为 O(N)。所以,当链表转化为红黑树后,在具有大量哈希冲突的情况下,查询性能更好。占用的内存更多主要是由于其包含了额外的红黑树结构信息,如父节点、左子节点、右子节点等。不提供强一致性主要是因为它的修改操作是在一个新的拷贝上进行的,而不是直接在原始数据结构上。这种基于哈希表的实现提供了快速的插入和查询操作,并确保集合中的元素是唯一的。原创 2024-01-05 23:55:45 · 1314 阅读 · 2 评论 -
Java刷题错题笔记-day04-集合
这意味着对该字段的读取和写入操作都是原子的,并且会立即被其他线程可见。这有助于确保当一个线程修改了。若链表不为空,(存在Hash冲突场景)使用synchronized悲观锁来保证线程安全。ConcurrentHashMap在putVal方法中,添加元素时,的值时,只有一个线程会成功,其他线程需要重试。这确保了在并发情况下对。若链表为空,此时使用CAS乐观锁机制添加元素。中的值时,其他线程能够立即看到最新的值。当多个线程同时尝试更新同一个。值的更新是线程安全的。使用CAS操作来更新。原创 2024-01-05 00:00:22 · 376 阅读 · 1 评论 -
Java刷题错题笔记-day03-Java基础
tips:从上往下,从左往右组合就可以得到上面的式子。(父类非静态变量=成员变量,父类非静态构造器=父类构造器,类非静态构造器不存在)这将输出 “Dog 是 Animal 类或其子类”,因为。方法用于检查类或接口之间的继承关系。不能实例化(因为构造器私有吧)变量>初始块>构造器。原创 2024-01-03 23:18:27 · 341 阅读 · 1 评论 -
Java刷题错题笔记-day02-Java基础
不能重写,因为main方法是静态方法,而static方法在Java中不能被覆盖。JDK9及以后,使用byte存储字符串,而不是char数组。可以重载,但是JVM始终调用的是原始的main方法。因为UTF-16存储英文纯属浪费内存。JDK9以前用UTF-16。原创 2024-01-02 18:37:41 · 421 阅读 · 1 评论 -
Java刷题错题笔记-day01-Java基础
在MySQL联表查询中,通常会选择具有较小数据集的表作为驱动表。这是因为驱动表的每一行都会与其他表进行匹配,所以选择较小的表作为驱动表可以减少查询的执行时间。同时,还可以考虑选择具有索引的列作为驱动表的连接条件,以进一步提高查询性能。RSA算法通常用于加密和解密数据,而不是用于存储密码。存储密码的最佳实践是使用哈希函数和盐值来存储密码的散列值。这样做可以提高密码的安全性,因为即使数据库被攻击,攻击者也无法直接获取用户的明文密码。虽然RSA算法可以用于加密密码,但不推荐将其直接用于存储密码的散列值。原创 2024-01-01 13:40:06 · 395 阅读 · 0 评论