分库分表的表设计和单表的表设计有什么区别?


首先要明确,分库分表主要是为了适应不同的业务场景和应对数据量的增长,所以在一些细节上会出现差别主键设计在单表设计中,主键通常采用自增长或者UUID等方式生成,但在分库分表中,这种方式会造成主键冲突的问题。因此,分库分表通常采用更复杂的方式生成主键,例如利用分布式算法保证主键唯一。数据结构设计在单表设

IE下获取MultipartFile的正确文件名


问题背景在测试IE下文件上传的时候,发现使用IE浏览器上传文件,在代码中通过getOriginalFilename获取文件名的时候,获取的是全部的文件路径,我不是单纯的文件名问题原因当在lE浏览器中上传文件时,MlultipartFile中的getOriginalFilename()方法可能会返回包

使用本地虚拟机构建Linux环境,并使用docker安装MySQL


工欲善其事,必先利其器;使用环境和下载网址虚拟机:VMware各版本下载地址及激活码Linux版本:华为CentOS7镜像(使用CentOS-7-x86_64-Minimal-2207-02.iso即可,没有可视化界面)连接工具:XShell和XFtp的免费版本虚拟机安装CentOS虚拟机的使用方式

Java中几个循环的区别


有哪些循环的方式Iterator迭代器foreach语法list.foreach()方法for(a,b,c)函数循环方式的区别Iterator迭代器迭代器(iterator)是一种对象,它能够用来遍历集合中的元素,通常是实现了iterable接口的对象才能创建迭代器。下面是一个简单的例子,使用迭代器

基础数据结构


本文分析包括数组(字符串)、链表、队列(双端队列)、栈和树的简要分析和解题思路数组数据结构分析数组是一个非常常见且基础的数据结构,且在不同的编程语言中都有着很相似的性质,而围绕着他们的算法面试题也是最多的;很多时候,在分析数组(字符串)相关面试题的时候,我们往往要针对数组(字符串)中的每一个元素(字

Java构建双向链表


具体思想请参考Java构建单向链表一文public class DoubleLinked<T> { public class Node{ private Node prev; private T t; private Node next;

Java构建单向链表


Java构建单向链表

LeetCode-74-搜索二维矩阵


题目讲解由于整个二维数组是有序的,根据题干可以得知,每一行是有序的,每一列是有序的,所以我们可以通过两次二分查找得到结果;还是不变的y总二分模板第一次二分用来查找是第几行,第二次用来查找是第几列;题解下边的题解展示了两种二分写法,注意第一次二分一定得是找小于等于target的值,不然会出现[[1,2

LeetCode-34-在排序数组中查找元素的第一个和最后一个位置


题干讲解排序数组找一个值,自然而然就能想到二分查找;当然如果是直接循环也没问题,只不过时间复杂度是O(n),不符合题干要求;题干中我们可以看到他要求O(log n)的时间复杂度,所以用的方法就是二分查找;这里分享一下y总的整数二分查找的模板注意第二种方法是 (l+r+1)/2题解public sta

LeetCode-33-搜索旋转排序数组


题目讲解题干和提示中一共给出了两个很重要的信息,一个是未旋转之前,数组是有序数组;第二个是nums中的每个值都独一无二;并且最后说明了时间复杂度为O(log n),看到log,先想到二分还是万年不变的y总二分模板我们从这两条信息可以想到,如果用二分法去分割这个数组,则肯定是一个区间为有序,另一个区间