奋斗的青春

【求你将我放在你心上如印记,带在你臂上如戳记。因为爱情如死之坚强,嫉恨如阴间之残忍。】 —— 圣经.雅歌 8.6


  • 首页

  • 分类

  • 归档

  • 标签

  • 公益

为什么String的hashCode选择 31 作为乘子?

发表于 2019-09-29   |   分类于 面试篇

选择31的原因

在详细说明 String hashCode 方法选择数字31的作为乘子的原因之前,我们先来看看 String hashCode 方法是怎样实现的,如下:

1
2
3
4
5
6
7
8
9
10
11
12
public int hashCode() {
int h = hash;
if (h == 0 && value.length > 0) {
char val[] = value;

for (int i = 0; i < value.length; i++) {
h = 31 * h + val[i];
}
hash = h;
}
return h;
}

阅读全文 »

Dubbo学习

发表于 2019-09-21   |   分类于 技术篇

Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起。

1、单一应用框架(ORM)
当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本。
缺点:单一的系统架构,使得在开发过程中,占用的资源越来越多,而且随着流量的增加越来越难以维护。

阅读全文 »

哈夫曼树

发表于 2019-09-10   |   分类于 技术篇

定义

给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。哈夫曼树(霍夫曼树)又称为最优树。

阅读全文 »

Redis的优势和特点

发表于 2019-09-02   |   分类于 面试篇

Redis的特点:

1、内存数据库,速度快,也支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
2、Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
3、Redis支持数据的备份,即master-slave模式的数据备份。
4、支持事务。

阅读全文 »

数据库锁

发表于 2019-08-18   |   分类于 面试篇

悲观锁(Pessimistic Lock)

顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。

阅读全文 »
1…456…20
LuisStruggle

LuisStruggle

Learning and communication

99 日志
8 分类
219 标签
GitHub Weibo
友情链接
  • V2EX社区
  • Cnode社区
© 2012 - 2020 LuisStruggle