自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (2)
  • 收藏
  • 关注

转载 ConcurrentHashMap原理分析(1.7)

一、出现背景1、线程不安全的HashMap先说HashMap,HashMap是线程不安全的,在并发环境下,可能会形成环状链表(扩容时可能造成,具体原因自行百度google或查看源码分析,参考https://blog.csdn.net/diweikang/article/details/89198811),导致get操作时cpu空转,所以,在并发环境中使用HashMap是非常危险的...

2019-03-27 22:14:35 1256 1

转载 HashSet的实现原理

1、HashSet概述:HashSet实现Set接口,由哈希表(实际上是一个HashMap实例)支持。它不保证set的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用null元素。2、HashSet的实现:对于HashSet而言,它是基于HashMap实现的,HashSet底层使用HashMap来保存所有元素,因此HashSet的实现比较简单,相关HashSet的操作,基...

2019-03-22 15:05:22 323

原创 String中equals()、hashCode()方法的作用与源码

String类中的equals()方法的源码如下: public boolean equals(Object anObject) { if (this == anObject) { return true; } if (anObject instanceof String) { String...

2019-03-22 13:08:30 1287

转载 重写equal()时为什么也得重写hashCode()之深度解读

1.equals()的所属以及内部原理(即Object中equals方法的实现原理)说起equals方法,我们都知道是超类Object中的一个基本方法,用于检测一个对象是否与另外一个对象相等。而在Object类中这个方法实际上是判断两个对象是否具有相同的引用,如果是,它们就一定相等。其源码如下:public boolean equals(Object obj) { retu...

2019-03-21 22:24:14 637

转载 List集合去除重复对象

在java中,要将一个List中重复的对象除去,如果这个集合中的数据类型是基本数据类型,可以直接将List集合转换成Set,就会自动去除重复的元素,大家都知道Set集合的特点就是没有重复的,这个就相对比较简单,这里不在详细说,我们下面说的List集合中的数据类型是一个对象类型的情况。当List集合中存储的类型是对象类型的时候,我们就不能简单的只把List集合转换成Set集合就行了,这时我们需要...

2019-03-21 21:28:51 12585

原创 List的equals方法学习

之前没有了解过这个方法,初次在项目中看到它的时候还以为是在比较两个List的地址,后来看了源码才知道了这个方法的作用。首先看一个例子:public class Test{ public static void main(String[] args){ ArrayList<String> str1 = new ArrayList<String&gt...

2019-03-21 18:53:30 6488

转载 HashMap实现原理与源码分析

哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。一、什么是哈希表在讨论哈希表之前,我们先大概了解...

2019-03-12 22:21:47 138

原创 HashMap底层实现原理

数据结构中有数组和链表这两个结构来存储数据。数组存储区间是连续的,占用内存严重,故空间复杂度很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难;链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但查找的时间复杂度很大,达O(N)。链表的特点是:寻址困难,插入和删除容易。综合这两者的优点,摒弃缺点,哈希表就诞生了,既满足了数据查找方面的特点,占用的...

2019-03-11 23:24:47 254

原创 Java集合面试题

1、集合框架基础知识https://blog.csdn.net/weixin_39464761/article/details/751379022、说出ArrayList、Vector、LinkedList 的存储性能和特性?【基础】答:ArrayList 和Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但...

2019-03-10 22:59:47 821

转载 Java集合框架关系图

集合的特点:集合用来存储不同类型的对象(基本数据类型除外),存储长度可变。Java集合中实际存放的只是对象的引用,每个集合元素都是一个引用变量,实际内容都放在堆内存或者方法区里面,但是基本数据类型是在栈内存上分配空间的,栈上的数据随时就会被收回的。集合框架图:上述类图中,实线边框的是实现类,比如ArrayList,LinkedList,HashMap等,折线边框的是抽象类,...

2019-03-10 18:51:45 33223 8

原创 Spring注解@Component、@Repository、@Service、@Controller区别

Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring 版本中,这 3 个注释和 @Component 是等效的,但是从注释类的命名上,很容易看出这 3 个注释分别和持久层、业务层和控制层(Web 层)相对应。虽然目前这 3 个注释和 @Componen...

2019-03-08 18:38:58 163

转载 Linux下grep命令使用的几个例子

grep语法grep 'word' filenamegrep 'string1 string2' filenamecat otherfile | grep 'something'command | grep 'something'command option1 | grep 'data'grep --color 'data' fileName基本的用法在某个文件里搜索err...

2019-03-08 17:48:29 968

原创 Excel导入与导出

这两天看了看项目中Excel导入导出功能,在此整理了一下相关代码,方便以后使用,项目结构如下:该项目为web项目,主要有两个包,里面分别包含导入和导出的工具类和demo,可本地运行,也可在tomca上运行模拟真实的web请求。源码下载地址:https://download.csdn.net/download/diweikang/11006639导入public class Re...

2019-03-08 14:56:55 367

原创 mybatis if标签判断字符串相等

因为mybatis映射文件,是使用的ognl表达式,所以在判断字符串sex变量是否是字符串Y的时候,可以使用如下两种方式:&lt;if test="sex=='Y'.toString()"&gt;或&lt;if test = 'sex== "Y"'&gt;注意,不能使用下面这种方式&lt;if test="sex=='Y'"&gt;因为mybatis会把 'Y' 解析..

2019-03-03 17:33:14 1120

Excel导入导出demo

Excel导入导出demo,导入支持2003和2007,通过了不同的方法。导出可以按javabean属性导出,也可以根据指定字段导出

2019-03-08

kindeditor4.1.10

在原有基础上增加文件上传、图片上传等功能。满足用户的各种需求

2014-04-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除