JAVA
茶杯熟了
人生苦短
展开
-
工厂模式与策略模式的结合
Spring中的设计模式运用是非常广泛的单例模式,工厂模式,观察者模式,策略模式等今天就给讲讲在开发中如何设计策略模式,减少代码中的if-else操作,让代码看起来更优化...1、基于XML实现2、基于InitializingBean...原创 2019-10-30 10:07:45 · 244 阅读 · 1 评论 -
使用SpringCloud2.0,基于Eureka搭建注册中心和配置中心
搭建很辛苦,整理下思路原创 2018-12-27 17:18:54 · 214 阅读 · 0 评论 -
jdk1.8 HashMap put与get方法分析
不言而喻,现在很多面试的时候,尤其是大厂,总是不经意的问一下java底层的东西,他们更关注的是你的基础。今天就读一下hashmap的源码,简单分析一下(面试被搞得头疼,回来会就先粗略地看了一番)。HashMap,顾名思义就是跟hash有关:下面是hashmap中的hash方法,首先传入map的key值,根据这个key的hashcode值算出一个hash值。这个hash值后面会用得到...原创 2019-01-05 13:26:34 · 1088 阅读 · 0 评论 -
JVM 类加载机制
Java虚拟机栈: 每个方法在被调用时就会创建一个栈帧,每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。Java堆: 是Java虚拟机所管理的内存中最大的一块。Java堆是被所有线程共享的一块内存区域,对象实例在这里分配内存。是垃圾收集器(GC)管理的主要区域。方法区: ...原创 2019-01-05 16:32:17 · 184 阅读 · 0 评论 -
再问HashMap
在JDK1.8版本中,对数据结构做的优化,引入了红黑树。而当链表长度太长(默认超过8)时,链表就转换为红黑树,利用红黑树快速增删改查的特点提高HashMap的性能。1.在HashMap中,哈希桶数组table的长度length大小必须为2的n次方(一定是合数),这是一种非常规的设计,常规的设计是把桶的大小设计为素数,这是为什么?2.以及为什么要进行两倍扩容(list就不是),这样的好处在哪里?...原创 2019-01-19 23:19:49 · 97 阅读 · 0 评论