java
文章平均质量分 57
牛马程序员24
大家好!欢迎来到我的CSDN个人空间。
作为一名热爱技术的人,我在CSDN上分享着自己的学习和经验。我对计算机科学、编程和软件开发有着浓厚的兴趣,并不断追求着技术的创新和突破。
在我的CSDN博客中,我努力将复杂的技术概念转化为简洁易懂的语言,以帮助读者更好地理解和应用这些知识。我喜欢分享自己的学习心得、解决问题的方法和最佳实践,希望能够为其他技术爱好者提供有价值的资讯和指导。
展开
-
Mybaits入门
/ 获取SqlSessionFactory对象。-- 连接信息-->原创 2024-01-12 15:26:01 · 384 阅读 · 0 评论 -
java垃圾回收算法
SWT:将jvm中内存冻结的一种状态!停止所有内存使用,所有进程线程停止运行,GC除外!native方法可以执行,底层用c++等与jvm无关!垃圾回收时,将这一块的存活对象全部拷贝到另一半,然后可以清除当前这一半内存。最坏结果:会产生大量内存碎片,总容量足够但是都是碎片空间,无法容纳!具体:标记后不会立即删除,而是将存活对象整理到一端,之后清除其他对象!标记清除法的基础上将存留对象移动到一块,空余多余空间!1:分代算法:划分为新生代、老年代。2:清除阶段:直接将垃圾内存回收。1:标记阶段:标记垃圾内存。原创 2024-01-12 15:25:13 · 361 阅读 · 0 评论 -
Java面试基本考点
Arrylist基于数组实现,用下标访问 支持随机访问 连续存储扩容机制:数组长度固定,长度超出后再插入新的数据需要新建数组,将老数组数据拷贝到新的数组,不是尾插会涉及元素的移动,尾插法设置好初始化容量,性能可以极大提升,甚至超过LinkListLinkList:基于链表,存储在分散的内存中,适合数据的插入删除操作,不适合查询遍历必须用iterator不能用for循环因为每次放循环内用get(i)都会对list遍历性能消耗极大此外尽量不用indexof,当其结果为空时会遍历整个列表。原创 2023-09-17 22:21:46 · 56 阅读 · 0 评论 -
注解和反射
实例化对象------------->利用getClass()方法--------------->获取该对象完整的包类信息。object类定义了getclass 返回值为Class类,则为反射的源头 --------------->也就是。:1----------方法区---->可被所有线程共享,包含所有的class和static变量。引入对象类包------->通过new 实例化对象---------->获取实例化对象。初始化:JVM负责初始化--->类构造器-->构造类信息并不是构造类对象。原创 2023-09-17 22:20:49 · 65 阅读 · 0 评论 -
如何解决哈希冲突
哈希冲突是在哈希表中多个键映射到同一个桶的情况。为了解决哈希冲突,常见的方法包括链表、红黑树、开放寻址法和虚拟桶。链表通过在桶中存储具有相同哈希码的键值对,但在冲突较多时性能下降。红黑树在链表长度超过阈值时转换链表为树,提高性能。开放寻址法通过探测序列在其他可用桶中存储冲突的键值对。虚拟桶将多个桶组合成一个逻辑桶来处理冲突。除了这些方法,还有拉链法,其中每个桶都是一个独立的链表或其他数据结构。选择适当的解决冲突方法取决于负载因子、冲突率、性能需求和空间利用等因素。每种方法都具有优点和限制,需要根据具体情况进原创 2023-09-03 20:46:27 · 259 阅读 · 0 评论 -
哈希函数的原理是什么
HashMap使用哈希函数将键的哈希码映射到哈希表中的桶,以实现高效的数据存储和查找。哈希函数将键的哈希码转换为数组索引,并处理哈希冲突。哈希冲突可能发生在多个键映射到同一个桶的情况下,HashMap使用链表或红黑树来解决冲突。一个好的哈希函数能够均匀地分布键值对,减少冲突,提高HashMap的性能。自定义类作为键时,需要正确重写`hashCode()`和`equals()`方法以确保正确的哈希码生成和冲突处理。原创 2023-09-03 20:42:53 · 179 阅读 · 0 评论 -
java的HashMap
摘要: HashMap是Java中的一种数据结构,它实现了Map接口,并且基于哈希表(Hash table)来存储和管理键值对数据。它提供了快速的插入、删除和查找操作,并且具有良好的性能。HashMap内部通过一个数组来实现,数组中的每个元素称为桶(bucket),每个桶可以存储一个或多个键值对。通过哈希函数将键映射到相应的桶,实现高效的数据存储和查找。HashMap使用键的哈希码来确定键值对在哈希表中的位置,并使用链表或红黑树解决哈希冲突。插入、删除和查找操作的平均时间复杂度为常数。然而,哈希冲突较多时,原创 2023-09-03 20:40:45 · 163 阅读 · 0 评论 -
java反射
Java的反射(Reflection)是指在运行时动态地获取和操作类的信息,包括类的字段、方法、构造函数等。通过反射,可以在编译时未知的情况下,在运行时检查、获取和修改类的属性和方法,以及调用对象的方法。可以使用Method对象的invoke()方法来调用方法,可以传递参数并获取返回值,甚至可以调用私有方法。2. 获取类的信息:通过Class对象,可以获取类的各种信息,如类的名称、修饰符、字段、方法、构造函数等。1. 获取Class对象:通过反射,可以获取类的Class对象,用于表示和操作类的信息。原创 2023-09-03 20:35:32 · 37 阅读 · 0 评论