java基础
文章平均质量分 95
BuffettCui
这个作者很懒,什么都没留下…
展开
-
HashMap源码解读
HashMap数据结构在jdk1.7中,HashMap采用数组+链表(拉链法)。因为数组是一组连续的内存空间,易查询,不易增删,而链表是不连续的内存空间,通过节点相互连接,易删除,不易查询。HashMap结合这两者的优秀之处来提高效率。而在jdk1.8时,为了解决当hash碰撞过于频繁,而链表的查询效率(时间复杂度为O(n))过低时,当链表的长度达到一定值(默认是8)时,将链表转换成红黑树...原创 2021-04-08 13:44:56 · 165 阅读 · 0 评论 -
JAVA中依赖冲突原因解析以及解决思路
1.依赖冲突原因详解依赖冲突的根源是Maven的依赖机制会导致Jar包的冲突。举个栗子,在我们目前的项目中使用了A和B两个Jar包,A包在依赖中依赖了C包,而B包在依赖中也同时依赖了C包,但是A包依赖的C的版本的1.0,B依赖C包的版本是2.0。此时,我们的项目中就出现了1.0.和2.0两个版本的C包,此时Maven会依赖路径最短优先原则,来决定使用哪个版本的Jar包,而另外一个无用的Jar包...原创 2019-12-16 15:49:00 · 3224 阅读 · 0 评论 -
事务传播机制REQUIRES_NEW,在嵌套事务中不起作用的解决方法
事务传播机制REQUIRES_NEW的官方文档中是这样解释的:Create a new transaction, and suspend the current transaction if one exists.翻译为创建一个新事务,如果当前存在事务,则挂起当前存在的事务。总结下REQUIRES_NEW有两层含义:1.REQUIRES_NEW会开启新事务,外层事务不会影响内层事务...原创 2019-12-04 15:53:51 · 2810 阅读 · 1 评论 -
java中接口是否可以继承多个接口?
接口是常量值和方法定义的集合。接口是一种特殊的抽象类。java类是单继承的。classB Extends classAjava接口可以多继承。Interface3 Extends Interface0, Interface1, interface……不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?但接口不存在这样的问题,接口全都是抽象...转载 2018-11-17 13:57:02 · 872 阅读 · 0 评论 -
设计模式之单例的N种实现
单例模式是一种常用的设计模式,单例模式的定义是单例的类只允许一个实例存在。单例的实现主要是通过以下两个步骤:1.将该类的构造方法定义为私有,这样其他类的代码就无法通过调用该类的构造方法来实例化该类的对象,只能通过该类提供的静态方法来获取该类的实例化对象。2.在类中定义一个静态方法,当调用该静态方法的时候判断该类持有的对象是否为空,如果不为空则返回其引用,如果类持有的引用为空则创建一...原创 2019-06-17 17:01:49 · 334 阅读 · 0 评论