面试官:order by 是怎样排序的?怎么优化?

2021-07-16
阅读 9 分钟
5.6k
刚换了新工作,用了两周时间准备,在 3 天之内拿了 5 个 offer,最后选择了广州某互联网行业独角兽 offer,昨天刚入职。这几天刚好整理下在面试中被问到有意思的问题,也借此机会跟大家分享下。
封面图

面试官:数据库自增 ID 用完了会咋样?

2021-07-13
阅读 3 分钟
1.2k
哈喽,好久没更新啦。因为最近在面试。用了两周时间准备,在 3 天之内拿了 5 个 offer,最后选择了广州某互联网行业独角兽 offer,昨天刚入职。这几天刚好整理下在面试中被问到有意思的问题,也借此机会跟大家分享下。

面试官:如何给字符串设计索引?

2021-06-08
阅读 4 分钟
6k
哈喽,好久没更新啦。因为最近在面试。用了两周时间准备,在 3 天之内拿了 5 个 offer,最后选择了广州某互联网行业独角兽 offer,昨天刚入职。这几天刚好整理下在面试中被问到有意思的问题,也借此机会跟大家分享下。
封面图

路上,小胖问我:Redis 主从复制原理是怎样的?

2021-05-13
阅读 4 分钟
1.2k
00 前言我负责我司的报表系统,小胖是我小弟。随着业务量的增加,单实例顶不住,我就搭建了多个 Redis 实例,实现主从模式。好学的小胖就问我啊,远哥,多实例之间的数据是怎么保持同步的呀?你教教我好不好嘛~我拿起手中 82 年的开水抿了一口,跟小胖说:你先看这篇文章,学会了操作,我再给你讲讲原理吧。[链接]老规矩...
封面图

工作三年,小胖连 HashMap 源码都没读过?真的菜!

2021-04-21
阅读 12 分钟
1.4k
在 JDK 1.7 中 HashMap 是以数组加链表的形式组成的,JDK 1.8 之后新增了红黑树的组成结构,当链表长度大于 8 并且 hash 桶的容量大于 64 时,链表结构会转换成红黑树结构。所以,它的组成结构如下图所示:
封面图

女朋友问我:什么是 MySQL 的全局锁、表锁、行锁?

2021-04-19
阅读 7 分钟
3k
事情是这样的,线上有个数据库几十万的数据,由于一开始没做好规划并没有给热点字段加索引。我就让小胖有空加个索引,没想到这货在用户使用高峰期加。。。
封面图

小胖问我:MySQL 事务与 MVCC 原理?

2021-04-12
阅读 9 分钟
8.3k
数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作,有点一不做二不休的意思。
封面图

《MySQL》系列 - select 查询语句到底是怎么执行的?

2021-03-29
阅读 4 分钟
2.8k
mysql 作为一个关系型数据库,在国内使用应该是最广泛的。也许你司使用 Oracle、Pg 等等,但是大多数互联网公司,比如我司使用得最多的还是 Mysql,重要性不言而喻。
封面图

来年,做个俗人!

2021-01-03
阅读 5 分钟
1.8k
过去的 2020 太难了,这一年对我们所有人来说,都是极其魔幻的一年。对于我们国家来说,魔幻的开局,却迎来了一个非常不错的结局。这一年,北斗导航全国组网完成,这一年,美股史无前例的熔断了三次,我人都傻了;这一年,我们用全国停摆的方式在最短时间内遏制住了新冠的传播;这一年,我们完成了 RECP、中欧贸易协定;...

Maven 基础(二) | 解决依赖冲突的正确姿势

2020-01-17
阅读 4 分钟
4.6k
假设,在 JavaMavenService2 模块中,log4j 的版本是 1.2.7,在 JavaMavenService1 模块中,它虽然继承于 JavaMavenService2 模块,但是它排除了在 JavaMavenService2 模块中继承 1.2.7 的版本,自己引入了1.2.9 的 log4j版本。

Maven 基础(一) | 使用 Maven 的正确姿势

2020-01-17
阅读 12 分钟
2.8k
Maven 是一个项目管理工具,它的本质是一个项目对象模型(POM),体现在配置中就是我们常见的 pom.xml 文件,而这个 pom 文件就是 Maven 的核心,它管理了整个项目的生命周期。它主要做两件事:

Java 基础(四)| IO 流之使用文件流的正确姿势

2020-01-17
阅读 7 分钟
6.6k
为跳槽面试做准备,今天开始进入 Java 基础的复习。希望基础不好的同学看完这篇文章,能掌握泛型,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆。

Java 基础(三)| IO流之使用 File 类的正确姿势

2020-01-17
阅读 8 分钟
1.6k
为跳槽面试做准备,今天开始进入 Java 基础的复习。希望基础不好的同学看完这篇文章,能掌握泛型,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆。

Java 基础(二)| 使用 lambad 表达式的正确姿势

2020-01-17
阅读 8 分钟
1.4k
为跳槽面试做准备,今天开始进入 Java 基础的复习。希望基础不好的同学看完这篇文章,能掌握 lambda 表达式,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆。

Java 基础(一)| 使用泛型的正确姿势

2020-01-17
阅读 7 分钟
3.7k
为跳槽面试做准备,今天开始进入 Java 基础的复习。希望基础不好的同学看完这篇文章,能掌握泛型,而基础好的同学权当复习,希望看完这篇文章能够起一点你的青涩记忆。

Java 项目热部署,节省构建时间的正确姿势

2019-12-26
阅读 3 分钟
1.5k
上周末,帮杨小邪(我的大学室友)远程调试项目。SpringBoot 构建,没有热部署,改一下就得重启相关模块。小小的 bug ,搞了我一个多小时,大部分时间都还在构建上(特么,下次得收钱才行)。我跟他说有个热部署插件叫 Jrebel,可以热部署,每次修改完代码需要测试的时候,只要 Build 一下就行?所有 Java 项目都能使用...

算法 | 遍历二分搜索树

2019-08-18
阅读 7 分钟
1.8k
又是来自我的好朋友 EvilSay 的投稿,以下是原文: 1、基本定义 二分搜索树的每个子节点最多有两个叶子节点 二分搜索树的每个节点最多有一个根节点 存储的元素必须具有可比较性 二分搜索树每个子节点的值 大于其左子节的所有节点的值 小于其右子节点的所有节点的值 二分搜索树不一定是满的 2、二分搜索树 Java 实现 {代...

Java 基础 | Object 源码解析

2019-08-10
阅读 5 分钟
1.2k
Java 是一门面向对象的语言,在 Java 里面一切都可以看作是一个对象,而 Java 里面所有的对象都默认继承于 Object 类,所以狗哥今天就复习了一遍这个类。

Java 基础 | Collection 集合概览

2019-08-10
阅读 2 分钟
1.1k
老读者都知道,我是自学转行到 java 的。那时迫于生存压力,学得比较快,很多知识点仅停留在会用的层面。最近,光会用不知道原理,没什么意思。每次使用时都是机械性的 "熟练使用"。加之一直有回归基础的想法,所以想在业余时间复盘 java 的基础知识。知其然知其所以然是技术人的追求。

递归,就是这么简单

2019-08-05
阅读 4 分钟
2.7k
什么是递归? 维基百科给出了如下定义: 程序调用自身的编程技巧称为递归.递归作为一种算法在程序设计语言中广泛应用。 上面的说法略显官方。简而言之,递归就是自己调用自己,但是这个调用它是有一定条件的,比如: 子问题须与原始问题为同样的事,且更为简单。 调用自身的次数不能太多,否则会造成程序堆栈溢出。 必须...

推荐两个关于 Java 面试的 Github 项目

2019-07-21
阅读 2 分钟
2.5k
哈喽,大家好。相信大家都知道金九银十,在人才市场上是指每年的 9 月和 10 月是企业的招聘高峰期。这个时候企业往往有大量招聘需求,求职者在这个时候就找工作无疑是最适合的。需求大,谈工资什么的就更容易达到你的心理预期。想拿高薪就意味着强实力,企业也不是善堂,也不是傻子,不会平白无故给你高薪的。当然这里面...

java | 什么是动态代理?

2019-05-12
阅读 8 分钟
3.9k
最近在复习 Java 相关,回顾了下代理模式。代理模式在 Java 领域很多地方都有应用,它分为静态代理和动态代理,其中 Spring AOP 就是动态代理的典型例子。动态代理又分为接口代理和 cglib (子类代理),结合我的理解写了几个 demo 分享给你们,这是昨晚修仙到 3 点写出来的文章,不点在看,我觉得说不过去了。

SpringBoot | 自动配置原理

2019-04-04
阅读 17 分钟
2.4k
这个月过去两天了,这篇文章才跟大家见面,最近比较累,大家见谅下。下班后闲着无聊看了下 SpringBoot 中的自动配置,把我的理解跟大家说下。

SpringBoot | @Value 和 @ConfigurationProperties 的区别

2019-03-17
阅读 8 分钟
8.4k
最近有跳槽的想法,所以故意复习了下 SpringBoot 的相关知识,复习得比较细。其中有些,我感觉是以前忽略掉的东西,比如 @Value 和 @ConfigurationProperties 的区别 。

SpringBoot 填坑 | Shiro 与 Redis 多级缓存问题

2019-03-16
阅读 2 分钟
3k
在一次项目实践中有实现多级缓存其中有已经包括了 Shiro 的 Cache ,本以为开启 redis 的缓存是一件很简单的事情只需要在启动类上加上 @EnableCaching 注解就会启动缓存管理了,但是问题出现了。

SpringBoot 实战 (十八) | 整合 MongoDB

2019-03-09
阅读 5 分钟
2.3k
MongoDB 是由 C++ 编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,它将数据存储为一个文档,数据结构由键值 (key=>value) 对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组,非常灵活。存储结构如下:

SpringBoot 实战 (十五) | 服务端参数校验之一

2019-03-03
阅读 4 分钟
2.9k
估计很多朋友都认为参数校验是客户端的职责,不关服务端的事。其实这是错误的,学过 Web 安全的都知道,客户端的验证只是第一道关卡。它的参数验证并不是安全的,一旦被有心人抓到可乘之机,他就可以有各种方法来摸拟系统的 Http 请求,访问数据库的关键数据。轻则导致服务器宕机,重则泄露数据。所以,这时就需要设置第...

SpringBoot 实战 (十四) | 统一处理异常

2019-03-03
阅读 6 分钟
2.8k
如题,今天介绍 SpringBoot 是如何统一处理全局异常的。SpringBoot 中的全局异常处理主要起作用的两个注解是 @ControllerAdvice 和 @ExceptionHandler ,其中 @ControllerAdvice 是组件注解,添加了这个注解的类能够拦截 Controller 的请求,而 ExceptionHandler 注解可以设置全局处理控制里的异常类型来拦截要处理的异...

SpringBoot 实战 (十三) | 整合 MyBatis (XML 版)

2019-03-01
阅读 14 分钟
3.3k
如题,今天介绍 SpringBoot 与 Mybatis 的整合以及 Mybatis 的使用,之前介绍过了 SpringBoot 整合MyBatis 注解版的使用,上一篇介绍过 MyBatis 的理论,今天这篇就不介绍 MyBatis 的理论了,有兴趣的跳转阅读:SpringBoot 实战 (十三) | 整合 MyBatis (注解版)