你可能不清楚的Java细节(3)--JDK1.8中HashMap在出现hash碰撞时链表长度超过8就一定会变成红黑树?

如题,答案是:否. 至少迄今为止零零散散看过的关于JDK1.8 HashMap的源码分析文章不下10个了.但印象中都是众口一词,说超过8就会转换成红黑树.但是很可惜,实际上不是的. 原因 核心代码如下(大体上调用关系就是 put->putVal->treeifyBin)...

2019-05-10 12:52:01

阅读数 173

评论数 1

前后端分离的项目集成CAS

前后端分离的项目集成CAS 关于前后端分离的项目如何集成CAS,网上很少有资料博客,即便是有的也只是单纯的说下怎么做,并没有解释为什么,甚至大部分在前后端分离的项目中"成功"的集成了cas的,也是懵...

2019-02-18 17:26:54

阅读数 833

评论数 10

自定义及私服下使用maven archetype

1.前言 本文假设用的是自己本机的maven repository. 用的是windows,其它操作系统本文中需要调整的地方请自行脑补… 2.正文2.1创建并安装archetype首先,我们得有一个比较完善的可以用来构建archetype的maven工程.我这里就随手找一个已有的项目来作为示例.在...

2016-08-19 17:29:57

阅读数 7947

评论数 2

mybatis-generator自定义注释生成

mybatis-generator 生成自定义注释

2016-02-24 15:45:23

阅读数 36270

评论数 25

JDK源码-关于JDK1.8的`HashMap`的探究

关于JDK1.8的HashMap的探究 HashMap的几个疑问 大家都知道,HashMap是个散列表,笼统的说是就是数组(hash table)+链表/红黑树的形式.通过key的hashcode来确定在hash table中的位置,如果计算出来的位置相同,那么会将对应位置转换为链表,JDK1.8...

2019-05-10 11:39:49

阅读数 44

评论数 0

【IDEA报错】Fatal error initializing 'com.intellij.xdebugger.XDebuggerManager

某次工程正在执行时,电脑蓝屏关机,重启后启动IDEA打开工程时,报错: Fatal error initializing 'com.intellij.xdebugger.XDebuggerManager 解决方案: 删除 C:\Users\用户名\.IntelliJIdea2017...

2018-01-11 18:22:32

阅读数 3694

评论数 6

JAVA集合框架详解(1)--整体概述

本文主要是将java的集合框架从多个角度进行了分类,然后分别进行概述. 本文只是概述,方便对集合框架有个整体的了解. 只有JDK中明确说明是属于集合框架的类或接口,才在本文探讨范围内. 基于JDK1.8_102.1.

2016-11-04 17:41:46

阅读数 332

评论数 0

SpringMVC路径匹配规则AntPathMatcher

前言本文是基于Spring Framework 4.3.3分析.正文SpringMVC的路径匹配规则是依照Ant的来的.实际上不只是SpringMVC,整个Spring框架的路径解析都是按照Ant的风格来的.在Spring中的具体实现,详情参见 org.springframework.util.A...

2016-11-04 14:30:01

阅读数 13981

评论数 0

try--catch--finall优先级总结

前言先放上main方法,下文中的测试代码只修改test()的实现.public static void main(String[] args) { String s = test(); System.out.println(s); } 1.出现异常后不会阻断try-catch之外语...

2016-11-02 11:56:46

阅读数 526

评论数 0

StringTokenizer、split、substring对比

对String进行分割,JDK提供了三种方法:分别是 java.lang.String的 split方法和substring方法,以及java.util.StringTokenizer类.最常用的就String自带的两种方法,StringTokenizer极为少见.下面就来对比下这三种的用法,分析...

2016-11-02 09:28:16

阅读数 1086

评论数 0

OGC filter详细示例

OGC标准的filter的示例

2016-10-20 11:51:00

阅读数 1087

评论数 2

Mybatis Generator 获取不到字段注释

Mybatis Generator 获取不到字段注释解决方案

2016-10-18 15:04:30

阅读数 6166

评论数 0

你可能不清楚的Java细节(2)--for及for-each各自循环适用的场景

本文参考资料基于JDK1.8,理论上也适用于之前的版本.严格的说,for-each是对for的增强,本质上也属于for循环.for和for-each一般无非也就是如下三种用法,其中第三种也就是我们平时所说的for-each://其中list为java.util.List类型//第一种写法 for ...

2016-10-11 00:09:18

阅读数 736

评论数 0

一张图看明白CAS单点登录原理

一张图看明白CAS单点登录原理

2016-09-28 23:19:19

阅读数 537

评论数 0

你可能不清楚的Java细节(1)--为什么Boolean的hashCode()方法返回值是1231或1237

为什么Boolean的hashCode()方法返回值是1231或1237? hashCode散列算法中为什么常用31作为乘数?

2016-08-09 17:11:40

阅读数 2737

评论数 2

MySQL数据库迁移到Oracle

MySQL数据库迁移到Oracle

2016-08-04 14:57:06

阅读数 640

评论数 0

Dojo 1.10 教程(2)-基础入门篇dojoConfig配置

序言 dojoConfig对象(以前是djConfig)允许你为dojo设置一些默认的选项。在这篇教程里将会为大家说明如何在你的代码里面使用dojoConfig。 介绍 使用dojoConfig对象(1.6版本之前是叫djConfig对象)是在页面中或者应用中主要的配置Dojo的方法。就像D...

2014-09-25 14:19:45

阅读数 1147

评论数 0

Dojo 1.10 教程(1)-基础入门篇Hello Dojo

欢迎来到Dojo!在本篇教程中,你将会学到如何加载Dojo以及如何使用它的部分核心功能。你也会学到Dojo的AMD模块架构,学会如何加载额外的模块来为你的网站或应用增加新的功能,以及学会如何解决问题。 难度等级:初学者 Dojo版本:1.10 开始 开始使用Dojo很简单,只需要像使用其他...

2014-09-25 11:30:07

阅读数 1378

评论数 0

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