Why does javas hashcode in string use 31 as a multiplier

The value 31 was chosen because it is an odd prime. If it were even and the multiplication overflowed,
information would be lost, as multiplication by 2 is equivalent to shifting. The advantage of using a
prime is less clear, but it is traditional. A nice property of 31 is that the multiplication can be
replaced by a shift and a subtraction for better performance: 31 * i == (i << 5) - i. Modern VMs do
this sort of optimization automatically.

信息安全相关知识图

本文涉及信息安全三级题目中出现的技术词汇,用于记录与翻译成白话文。

开发者常用镜像仓库地址

一键设置更新中国地区仓库镜像,兼容centos raspbian debian ubuntu alpine。
自动更新镜像源为阿里开发者镜像仓库

2019科技行业大事件

2019年的余额已严重不足,今天来盘点下2019年科技界的10大事件。

Raspberry Pi 实践

老规矩,我在中国,于是更新镜像源 详见: https://www.adbyte.cn/archives/linux-in-China/

开发人员行为规范手册

本文记录所有在团队工作中遇到的问题及管理开发员工的行为规范

Git智能提交插件 (Git integration for jira)

智能提交就是在Git提交时,Jira系统会检索并识别关键字,对问题进行转换、更新、指派等。Git用户可以输入issue key和所需的操作,例如时间跟踪或解决问题。v2.6.3 + 默认情况下,智能提交处理处于活动状态,可以通过git配置页面 启用/禁用智能提交:

jira 8.5.1 版本 Docker 部署

jira是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪(bug管理)、客户服务、需求收集、流程审批、任务跟踪、项目跟踪和敏捷管理等工作领域。

从Docker到Kubernetes入门

Vagrant是一个基于Ruby的工具,用于创建和部署虚拟化开发环境。它使用Oracle的开源VirtualBox虚拟化系统,使用 Chef创建自动化虚拟环境。

JPA调优实践一:合理使用实体关系的5个Tips 避免 N+1 问题

写在最前面的话:
JAVA程序员少不了和SQL打交道,ORM框架带给我们非常大的便利,与此同时也带来了性能不可控的风险。
这里不评测Mybatis和JPA相关的优缺点,仅对近些年的工作实践提供选型建议: