连问 MySQL 索引,脸都问绿了。。。

什么是索引? 索引的实现方式 innodb的索引模型 什么是索引?当我们使用汉语字典查找某个字时,我们会先通过拼音目录查到那个字所在的页码,然后直接翻到字典的那一页,找到我们要查的字,通过拼音目录查找比我们拿起字典从头一页一页翻找要快的多,数据库索引也一样,索引就像书的目录,通过索引能极大提高数据查询的效率。索引的实现方式在数据库中,常见的索引实现方式有哈希表、有序数组、搜索树 哈希表哈希表是通过键值对(key-value)存储数据的索引实现方式,可以将哈希表想..
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

SpringBoot实战:整合Redis、mybatis,封装RedisUtils工具类等(附源码)

# 创建SpringBoot项目在线创建方式网址:https://start.spring.io/然后创建Controller、Mapper、Service包# SpringBoot整合Redis引入Redis依赖 <!--SpringBoot与Redis整合依赖--> <dependency> <groupId>org.sp...
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

优秀程序员需要具备的6个特质

坚持 坚持不懈的努力会增强你的技能水平。专业技能的成功是具有可复制性的,但前提是你需要在一个领域内坚持不懈且专心致志地努力下去。你不是要编写完美的代码,但当你写的代码越来越多,最终就会从中获得经验和知识。 懒惰 Perl 编程语言的作者 Larry Wall 在他的书中提到了优秀程序员的三个良好特质:懒惰、急躁和自负。如果你想找到实现目标的最佳方法,那就去问一个懒惰的人吧。有些时候,懒惰并不是一个贬义词。所谓懒惰,就是寻找最快、最有效的方法来完成任务,自动化某些过程并节...
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

IDEA如此牛逼,离不开它的插件生态平台!

# 插件的设置在 IntelliJ IDEA 的安装讲解中我们其实已经知道,IntelliJ IDEA 本身很多功能也都是通过插件的方式来实现的,只是 IntelliJ IDEA 本身就是它自己的插件平台最大的开发者而已,开发了很多优秀的插件。官网插件库:https://plugins.jetbrains.com/ 如上图标注 1 所示,IntelliJ IDEA 对插件进行了很好的分类: All plugins 显示所有插件。 Enabled 显示当前..
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

国产服务器和处理器架构

服务器是一种为客户机提供服务的高性能计算机。关于服务器最全分析材料请参考文章“终极版:服务器基础知识全解”。CPU作为服务器的运算和控制核心,其指令集架构有CISC和RISC两种。从性能角度来说,CISC与RISC并无绝对的孰优孰劣之分。目前看来,CISC与RISC已逐步走向融合,两方处理器互相借鉴互相优化。目前X86架构CPU占整体服务器市场约 96%,处于绝对领先的地位。以ARM为代表的国产架构服务器有望异军突起。ARM早期专注低功耗领域,在移动端处于领先位置,生态体系十分完善,但在..
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

29 年超 100 万次 commit,Linux 内核何以发展至今

1991 年,21 岁的芬兰大学生 Linus Torvalds 写下第一行 Linux 内核代码时,多半没有想到它会成长为今天这样的庞然大物。当年 8 月 25 日,Torvalds 在 Minix Usenet 新闻组里发了一封帖子,称自己正在做一个自由的操作系统,“就是个兴趣爱好,不会搞得像 GNU 那么大那么专业”。事情的发展显然远超他的预期,如今小到传感器,大到超级计算机,从智能手机、手表、汽车等日常用品到航天器等设备,Linux 内核的身影已无处不在。随着迄今为止最...
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

程序员断交指南!会用这些“骚操作”,保证你没朋友

前段时间有一件事情让我很无语。有一个两年经验的年轻程序员提离职,和我说一周之后就要去新公司入职,只有一周的交接时间。一周???按公司要求,提离职需要提前一个月。实话实说,大部分离职交接工作也用不了一个月那么久,但是一周交接也太短了吧,不加班的话只有五个工作日。考虑到小伙子来公司时间不长,目前负责的工作也不是很多,我还是同意了一周后离职的要求。这还没完,我同意了离职之后不久,小伙子微信上给我留言,想离职之前把剩余的 3 天年假休完。当时我在开会,没看到他发的微...
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

Redis 10亿数据量只需要100MB内存

本文主要和大家分享一下redis的高级特性:bit位操作。力求让大家彻底学会使用redis的bit位操作并掌握其底层实现原理!主要包含以下内容: redis位操作命令示例 底层数据结构分析 为什么他的算法时间复杂度是O(1)? 10亿数据量需要多大的存储空间? redis位操作适合哪些应用场景? 本文redis试验代码基于如下环境:操作系统:Mac OS 64位版本:Redis 5.0.7 64 bit运行模式:stand...
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

47 张图带你 MySQL 进阶!!!详解

MySQL 存储引擎存储引擎概述数据库最核心的一点就是用来存储数据,数据存储就避免不了和磁盘打交道。那么数据以哪种方式进行存储,如何存储是存储的关键所在。所以存储引擎就相当于是数据存储的发动机,来驱动数据在磁盘层面进行存储。MySQL 的架构可以按照三层模式来理解存储引擎也是 MySQL 的组建,它是一种软件,它所能做的和支持的功能主要有 并发 支持事务 完整性约束 物理存储 支持索引 性能帮助 MySQL 默认...
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

Cookie、Session、Token、JWT终于讲清楚了

1、什么是认证(Authentication) 通俗地讲就是验证当前用户的身份,证明“你是你自己”(比如:你每天上下班打卡,都需要通过指纹打卡,当你的指纹和系统里录入的指纹相匹配时,就打卡成功) 互联网中的认证: 用户名密码登录 邮箱发送登录链接 手机号接收验证码 只要你能收到邮箱/验证码,就默认你是账号的主人 2、什么是授权(Authorization) 用户授予第三方应用访问该用户某些资源的权限...
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

SQLDBX如何连接CACHE!!!

如何登录SQlDbx工具bai首先输入对应的数据du库连接类型,此处zhi最为常用的包含 MS SQLServer,Access数据库,MYSQL数据库,Oracel数据库等,这里我们讲解连dao接微软的数据库MS SQLServer(1)DBMS类型:MSSQLServer(2)Server 服务器地址:127.0.0.1(本机),如果是其他电脑请输入对应的计算机名称或者数据库实例,比如192.168.1.180等等(3)DataBase:这里可以填写也可以不填写,等登陆后再选择数据库(4)用户
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

Spring Boot 集成 Redis 实现数据缓存!代码详解

Spring Boot 集成 Redis 实现数据缓存,只要添加一些注解方法,就可以动态的去操作缓存了,减少代码的操作。在这个例子中我使用的是 Redis,其实缓存类型还有很多,例如Ecache、Mamercache、Caffeine等。Redis 简介Redis 是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的 Web 应用程序。Redis 相关的知识就不在这里赘述了,感兴趣的可以公众号回复Redis看下 Redis 系列文章。下面我们在 Spring...
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

JDK9可以像Unix脚本一样执行Java代码

现在你多少听说一些JDK9 JShell相关的内容,这篇文章中将介绍如何使用JShell像Unix脚本一样执行Java代码。让我们开始一个简单的例子,再进行详细的介绍: 创建一个 java_shell_code.txt 的文件; 在文件中写一些Java代码,并执行以下命令。你没必须声明一个Class,你可以直接写一句代码,或者创建一个方法。 javaex.jshell.extension.JShellScriptExecutor./java_shell_code.txt..
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

MySQL数据量大时,delete操作无法命中索引?!

最近,在脉脉上看到一个楼主提出的问题:MySQL数据量大时,delete操作无法命中索引;并且还附上了相关案例截图。最终,楼主通过开启MySQL分析优化器追踪,定位到是优化器搞的鬼,它觉得花费时间太长。因为我这个是测试数据,究其原因是因为数据倾斜,导致计算出的数据占比较大、花费时间长。大家要记住一点,一条SQL语句走哪条索引是通过其中的优化器和代价分析两个部分来决定的。所以,随着数据的不断变化,最优解也要跟着变化。因此,就需要DBA来不断的优化SQL。对于查询情...
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

IDEA中导入Eclipse构建的Java Web项目

# Eclipse 项目结构如上图 Gif 演示,在 Eclipse 下,一般中小项目的项目结构基本都是这种模式的,所以我们这里也通过网上一个开源项目 JspRun 进行讲解。下载地址:http://pan.baidu.com/s/1i3zrSf7# Eclipse 项目配置如上图箭头所示,在 IntelliJ IDEA 下是支持直接打开 Eclipse 项目的,无需导入。如上图标注 1 所示,选择项目的 .project 文件打开即可。...
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

Spring Boot 无侵入式 实现 API 接口统一 JSON 格式返回!!! 代码详解

无侵入式 统一返回JSON格式 定义JSON格式 定义JavaBean字段 Result实体返回测试 统一返回JSON格式进阶-全局处理(@RestControllerAdvice) @ResponseBody继承类 ResponseBodyAdvice继承类 RestControllerAdvice返回测试 统一返回JSON格式进阶-异常处理(@ExceptionHandler)) ..
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

MySQL又死锁了,我不顶上,就得我背锅!

打算写一系列死锁分析的例子,将平时遇到的死锁例子记录下来,做好记录,也当做积累。# 死锁输出2017-10-10 17:07:21 7f45a5104700InnoDB: transactions deadlock detected, dumping detailed information.2017-10-10 17:07:21 7f45a5104700*** (1) TRANSACTION:TRANSACTION 47225424098, ACTIVE 0 sec starting in.
分类: 其他 发布时间: 09-11 11:33 阅读次数: 0

面试官写了个双冒号::问我这是什么语法?Java中有这玩意?代码详解!!

一:简洁 二:方法引用 三:Optional 可选值 一:简洁方法引用分为三种,方法引用通过一对双冒号:: 来表示,方法引用是一种函数式接口的另一种书写方式 静态方法引用,通过类名::静态方法名, 如 Integer::parseInt 实例方法引用,通过实例对象::实例方法,如 str::substring 构造方法引用,通过类名::new, 如 User::new 二:方法引用publicfinalclassInteger{...
分类: 其他 发布时间: 09-11 11:32 阅读次数: 0

为何不用 Null ,详解

Null貌似在哪里都是个头疼的问题,例如Java里有人头疼的NullPointerException,为了避免猝死及防空指针异常,千百年来程序猿们不得不在代码里小心翼翼的各种如果判断,麻烦而又臃肿,估计java8发出了可选来避免这一问题。下面咱们要聊的是MySQL里的null,在大量的MySQL优化文章和书籍里都提到了放置使用用NOT NULL,而不是NULL,除非特殊情况。而是都只给指定不说明原因,犹如鸡汤这里今天就详细的剖析下使用Null的原因,并给出一些不用Null的理由。1,NULL..
分类: 其他 发布时间: 09-11 11:32 阅读次数: 0

经验:在MySQL数据库中,这4种方式可以避免重复的插入数据!

最常见的方式就是为字段设置主键或唯一索引,当插入重复数据时,抛出错误,程序终止,但这会给后续处理带来麻烦,因此需要对插入语句做特殊处理,尽量避开或忽略异常,下面我简单介绍一下,感兴趣的朋友可以尝试一下:这里为了方便演示,我新建了一个user测试表,主要有id,username,sex,address这4个字段,其中主键为id(自增),同时对username字段设置了唯一索引:01 insert ignore into即插入数据时,如果数据存在,则忽略此次插入,前提条件是插入的数据字段设置了主键或
分类: 其他 发布时间: 09-11 11:32 阅读次数: 0