java数据结构
文章平均质量分 90
wx: fulltilt8
这个作者很懒,什么都没留下…
展开
-
Java中new和Class.forName的区别,Class.forName()和Class.forName().newInstance()之间有什么区别
首先:New = Class.forName("pacage.A").newInstance();new是关键字,直接创建对象。Class.forName()是一个方法,要求JVM查找并加载指定的类,类装载到虚拟机上之后,静态方法和静态块中的处理被执行。这时候还没有创建对象。newInstance()是创建对象。我们最常用的jdbc, 经常会用Class.forName来加载数据库驱动。jdbc接口中,会存在各种数据库的驱动,不在在接口中写死,一般都写在配置文件里,所以需要我们调用...原创 2021-05-25 01:20:51 · 236 阅读 · 0 评论 -
图示B树和B+树的原理和操作过程
1 B树在介绍B+树之前, 先简单的介绍一下B树,这两种数据结构既有相似之处,也有他们的区别,最后,我们也会对比一下这两种数据结构的区别。1.1 B树概念B树也称B-树,它是一颗多路平衡查找树。二叉树我想大家都不陌生,其实,B树和后面讲到的B+树也是从最简单的二叉树变换而来的,并没有什么神秘的地方,下面我们来看看B树的定义。 每个节点最多有m-1个关键字(可以存有的键值对)。 根节点最少可以只有1个关键字。 非根节点至少有m/2个关键字。 每个节点中的关...原创 2021-05-23 16:29:47 · 1902 阅读 · 0 评论 -
threadlocal内存泄露_内存泄露的原因找到了,罪魁祸首居然是Java TheadLocal
weixin_399553552020-11-21 09:28:0343收藏文章标签:threadlocal内存泄露组内来了一个实习生,看这小伙子春光满面、精神抖擞、头发微少,我心头一喜:绝对是个潜力股。于是我找经理申请亲自来带他,为了帮助小伙子快速成长,我给他分了一个需求,这不需求刚上线几天就出网上问题了 后台监控服务发现内存一直在缓慢上升,初步怀疑是内存泄露。把实习生的PR都找出来仔细review,果然发现问题了。由于公司内部代码是保密的,这里简单写一个demo还原场景(忽略...转载 2021-04-29 14:15:54 · 147 阅读 · 0 评论 -
Java设计模式中的状态模式的业务场景分析--电商系统订单状态
状态模式,听过的人可能不是很多,它不在我们熟知的 23 中设计模式之内。但它归属与行为型模式中的一种。今天我们一起来学习学习状态模式!在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。通常我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。状态模式最大的优点是:允许对象在内部状态发生改变时...原创 2020-04-10 19:48:12 · 2524 阅读 · 0 评论 -
Java设计模式之桥接模式的业务场景
如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。 2、对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统,桥接模式尤为适我们还是通过上面的关于支付的简单例子可以说明它的原理。显然,它具备和模版方法相类似的能力,但是不采用继承。public class Payment{...原创 2020-04-08 15:15:36 · 432 阅读 · 0 评论 -
数据结构--时间复杂度的算法
前前言what is O?:"O"是数学符号,它的严格定义是"若T(n)和f(n)是定义在正整数集合上的两个函数,则T(n)=O(f(n))表示存在正的常数C和n0 ,使得当n≥n0时都满足0≤T(n)≤C?f(n)。"用容易理解的话说就是这两个函数当整型自变量n趋向于无穷大时,两者的比值是一个不等于0的常数。前言算法很重要,但是一般情况下做移动开发并不经常用到,所以很...原创 2019-06-24 17:43:46 · 1486 阅读 · 0 评论 -
java的List Object 转换成List String
List<Object>不能直接转成List<String> ,只能这样转换:List<String> strs = (List<String>)(List)objList原创 2019-06-17 10:16:53 · 34786 阅读 · 5 评论 -
比较jdk7,jdk1.8下的ConcurrentHashMap源码分析
1、ConcurrentHashMap跟HashMap,HashTable的对比2、ConcurrentHashMap原理概览3、ConcurrentHashMap几个重要概念4、ConcurrentHashMap几个重要方法5、ConcurrentHashMap的初始化6、ConcurrentHashMap的put操作详解7、ConcurrentHashMap的扩容...原创 2019-03-19 17:22:13 · 510 阅读 · 2 评论 -
高级java面试题:两个无序单链合并成一个有序单链表
运用方式先将两个无序链表转成两个有序单链表,再将两个有序单链表合并成一个有序单链表实现例子:import java.util.*;//链表class Node { int val; Node next; public Node(int val) { this.val = val; }}//自定义比较器class Co...原创 2019-03-21 15:08:41 · 3881 阅读 · 0 评论