摘要: 我们知道 HashMap 是一种键值对形式的数据存储容器,但是它有一个缺点是,元素内部无序。由于它内部根据键的 hash 值取模表容量来得到元素的存储位置,所以整体上说 HashMap 是无序的一种容器。当然,jdk 中也为我们提供了基于红黑树的存储的 TreeMap 容器,它的内部元素是有序的,但阅读全文
posted @ 2017-12-22 10:31 Single_Yam 阅读(93) 评论(0) 编辑
摘要: HashMap 是我们日常最常见的一种容器,它以键值对的形式完成对数据的存储,但众所周知,它在高并发的情境下是不安全的。尤其是在 jdk 1.8 之前,rehash 的过程中采用头插法转移结点,高并发下,多个线程同时操作一条链表将直接导致闭链,死循环并占满 CPU。 当然,jdk 1.8 以来,对 阅读全文
posted @ 2017-12-13 09:20 Single_Yam 阅读(156) 评论(1) 编辑
摘要: 1、本博客的原创原创文章,都是本人平时学习所做的笔记,转载请注明出处,否则将追究其责任,谢谢合作。 2、本博客的文章,未注明原创原创的,转载自其它博客或网站,作为自己的参考资料,感谢这些文章的原创人员。 3、如有侵犯您的知识产权和版权问题,请通知本人,本人会即时做出处理删除文章。 4、如果本博客的文阅读全文
posted @ 2017-12-12 13:19 Single_Yam 阅读(26) 评论(0) 编辑
摘要: HashMap 作为一种容器类型,无论你是否了解过其内部的实现原理,它的大名已经频频出现在各种互联网面试中了。从基本的使用角度来说,它很简单,但从其内部的实现来看(尤其是 Java 8 的改进以来),它又并非想象中那么容易。如果你一定要问了解其内部实现与否对于写程序究竟有多大影响,我不能给出一个确切阅读全文
posted @ 2017-12-07 09:09 Single_Yam 阅读(193) 评论(0) 编辑
摘要: 对于一个对象来说,我们为了保证它的并发性,通常会选择使用声明式加锁方式交由我们的 Java 虚拟机来完成自动的加锁和释放锁的操作,例如我们的 synchronized。也会选择使用显式锁机制来主动的控制加锁和释放锁的操作,例如我们的 ReentrantLock。但是对于容器这种经常发生读写操作的类型阅读全文
posted @ 2017-12-02 11:29 Single_Yam 阅读(97) 评论(0) 编辑
摘要:      前面的一系列文章中,我们总结了三大框架:Struts2,Hibernate,Spring 的基本知识。本篇就姑且尝试着使用 Maven 这个项目构建工具来将这三个框架整合一起。说到这里,如果有对 Maven 还不熟悉的同学,此处推荐下面两个阅读全文
posted @ 2017-11-25 10:08 Single_Yam 阅读(255) 评论(7) 编辑
摘要:      上篇文章我们通过注解对映射了单个实体类,但是具体项目中往往实体类之间又是相互关联的,本篇文章就是从实体类之间存在的不同关联角度,具体学习下如何映射他们之间的关联,主要涉及内容如下: 单向的一对一关联关系映射 单向的多对一的关联关系映射 单向阅读全文
posted @ 2017-11-15 22:15 Single_Yam 阅读(226) 评论(0) 编辑
摘要:      前面的相关文章中,我们已经介绍了使用XML配置文件映射实体类及其各种类型的属性的相关知识。然而不论是时代的潮流还是臃肿繁杂的配置代码告诉我们,注解配置才是更人性化的设计,于是学习了基本的映射实体类的基本注解,此处做一点总结,后续文章将陆续更阅读全文
posted @ 2017-11-13 15:37 Single_Yam 阅读(326) 评论(4) 编辑
摘要:      上篇我们介绍了Spring中有关高级依赖关系配置的内容,也可以调用任意方法的返回值作为属性注入的值,它解决了Spring配置文件的动态性不足的缺点。而本篇,我们将介绍Spring的又一大核心思想,AOP,也就是面向切面编程。这是对面向对象编阅读全文
posted @ 2017-11-08 20:42 Single_Yam 阅读(460) 评论(0) 编辑
摘要:      紧接着上篇内容,本篇文章将主要介绍XML Schema的简化配置和使用SpEL表达式语言来优化我们的配置文件。 一、基于XML Schema的简化配置方式 从Spring2.0以来,Spring支持使用XML Schema来简化配置。在以前阅读全文
posted @ 2017-11-04 21:14 Single_Yam 阅读(76) 评论(0) 编辑