- 博客(27)
- 收藏
- 关注
原创 阿里二面:建联合索引为什么等值查询要放到最左边?
通过合理设计索引顺序,可显著提升查询性能,特别是在处理大数据量时效果更为明显。在联合索引中将等值查询列放在前面、范围查询列放在后面,是。这是由B+树索引结构和查询条件的匹配规则决定的。无法有效利用索引,需要逐条过滤。此时需要结合业务场景,通过。联合索引的存储结构遵循。
2025-03-27 07:55:12
322
原创 百度一面:SQL的执行顺序是怎样的?
在MySQL中,SQL语句的执行顺序与书写顺序不同,理解这一点对编写高效查询和排查问题至关重要。通过理解执行顺序,可以更高效地编写查询,并避免因逻辑错误导致的性能问题或结果异常。找出2023年订单总金额超过1000的用户,按总金额降序取前10名。
2025-03-27 07:52:30
540
原创 MySQL中,聚集索引和非聚集索引到底有什么区别?
特性聚集索引非聚集索引数据存储数据按索引顺序物理存储数据独立存储,索引仅存储指针或主键数量每表一个每表多个查询效率范围查询高效,直接获取数据可能需回表,覆盖索引时高效典型应用主键、范围查询、排序高频条件查询、覆盖索引优化理解两者的区别有助于根据实际场景设计高效的索引策略。
2025-03-25 07:49:28
335
原创 count(*),count(1),count(列名)谁的效率更高?
表达式行为效率COUNT(*)统计所有行高(使用最小索引优化)COUNT(1)统计所有行与COUNT(*)相同COUNT(列名)统计列的非 NULL 值高(有索引时) / 低(无索引时)
2025-03-25 07:45:50
524
原创 MySQL中,性别列(男,女)为什么不适合建索引?
实验结果显示,在这种场景下全表扫描比使用索引快约33%。这说明对于低区分度列,索引反而可能降低查询性能。
2025-03-19 22:04:23
535
原创 在Java中,final关键字有什么作用?
final修饰引用数据类型时,引用本身不能再指向其他对象,但所指向对象的内容是可以改变的。比如在一个父类中有public final void show() {}方法,子类就不能再定义一个与父类show方法签名相同的方法来进行重写。在早期的 Java 版本中,JVM 可能会对final方法进行内联优化,即在调用final方法时,直接将方法的主体插入到调用处,省去方法调用的开销,从而提高性能。final类中的所有方法都默认是final的,因为类都不能被继承了,方法自然也不能被重写。
2025-02-27 21:16:34
412
原创 new String(“hello“)到底创建了几个对象?
可能创建 1 个或 2 个对象,取决于字符串常量池中是否已经存在 “hello” 这个字符串对象。
2025-02-27 20:45:37
232
原创 重载和重写有什么区别?
也叫覆盖,发生在子类和父类之间。子类重新定义父类中已有的方法,方法名、参数列表和返回类型都必须与父类中的被重写方法一致(在 Java 5 及以后,返回类型可以是父类方法返回类型的子类,这称为协变返回类型)。在运行时,根据实际对象的类型来决定调用哪个类的重写方法,而不是根据引用变量的类型。:主要用于实现子类对父类方法的个性化定制,使得子类可以根据自身的特点来实现与父类不同的行为,体现了继承和多态的优势。:主要用于提供多个相似功能的方法,方便用户根据不同的输入参数调用合适的方法,增强代码的可读性和易用性。
2025-02-26 21:41:11
686
原创 Java是值传递还是引用传递?
在 modifyNumber 方法内部,将 value 修改为 20,但这只影响到 value 这个副本,不会影响到原始的 num 变量。但这只是改变了 t 这个引用副本的指向,不会影响到原始的 teacher引用,所以原始对象的age 属性没有改变。是指在调用方法时将实际参数复制一份传递到方法中,这样在方法中如果对参数进行修改,将不会影响到实际参数。是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。
2025-02-26 21:16:13
321
原创 如何配置阿里云maven仓库,一分钟解决
File-》Settings,选择maven,分别配置Maven home path选中本地maven的安装目录,User settings file选中前面maven安装目录中Setting配置文件(即配置了阿里云镜像);Local repository maven对jar包的下载目录。找到maven安装目录,这里以apache-maven-3.9.9版本为例,解压之后找到conf文件夹,里面有点settings.xml文件,点击打开。
2025-02-25 21:18:45
650
原创 4大排序算法,你知道哪些?
冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。
2025-02-22 18:57:25
146
原创 Lambda表达式对List操作,常用的有10种方式,你会几种?
对象整体去重:结合stream()和distinct()方法可以实现去重。使用stream().map()方法可以将一种类型的 List 转换为另一种类型的 List。使用stream().sorted()方法配合Comparator.comparing()实现升序或降序排列。使用Collectors.groupingBy()方法可以根据对象的某个属性进行分组。使用stream().filter()方法可以筛选出满足条件的元素。降序:降序只需添加.reversed()按照年龄排序,年龄相同则按照身高排序。
2025-02-22 17:28:06
460
原创 BigDecimal到底怎么用?
BigDecimal 是 Java 中用于高精度计算的类,主要用于处理需要精确计算的场景,比如金融领域的货币计算。通过以上这些操作,你可以在 Java 中灵活使用 BigDecimal 进行高精度的数值计算和处理。BigDecimal 提供了一系列方法来进行基本的数学运算,如加法、减法、乘法和除法。compareTo 方法返回一个整数。
2025-02-20 21:35:15
393
原创 Set转换为List,有4种方法,你会几种?
如果你使用的是 Java 8 及以上版本,还可以借助 Stream API 来实现 Set 到 List 的转换。
2025-02-19 20:51:25
1112
转载 Chrome快捷键大全:Chrome窗口和标签页快捷键、功能快捷键、网页快捷键
一、Chrome窗口和标签页快捷键Ctrl+U 查看源代码Ctrl+T 打开新标签页Ctrl+Shift+N 在隐身模式下打开新窗口Ctrl+O,然后选择文件 在谷歌浏览器中打开计算机中的文件按住 Ctrl? 键,然后点击链接 在新标签页中打开链接Ctrl+Shift+T 重新打开上次关闭的标签页。 谷歌浏览器可记住您关闭的最后 10 个标签页。Ctrl+H 查看历史记录页Ctrl...
2019-10-25 17:45:22
4371
原创 谷歌浏览器常用的快捷键
1.chrome浏览页面常用快捷键Ctrl+N 打开新窗口。Ctrl+T 打开新标签页。Ctrl+W关闭当前标签Ctrl + F4 关闭chrome浏览器Ctrl+Tab 或 Ctrl+PgDown 切换到下一个标签页。Ctrl+Shift+Tab 或 Ctrl+PgUp 切换到上一个标签页。Ctrl+1 到 Ctrl+8 切换到标签栏中指定地位编号所对应的标签页。Ctrl+9 切...
2019-10-25 10:12:47
6354
原创 经典面试题
1、面向对象的特征有哪些方面? 【基础】答:面向对象的特征主要有以下几个方面:抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 ...
2019-04-03 14:21:03
756
原创 Linux常见英文报错中文翻译(菜鸟必知)
Linux常见英文报错中文翻译(菜鸟必知)1.command not found 命令没有找到2.No such file or directory 没有这个文件或目录3.Permission denied 权限不足4.No space left on device 磁盘没有剩余空间5.File exists 文件已经存在6.Is a directory ...
2019-04-03 13:47:44
425
原创 使用Spring MVC统一异常处理实战
1 描述 在J2EE项目的开发中,不管是对底层的数据库操作过程,还是业务层的处理过程,还是控制层的处理过程,都不可避免会遇到各种可预知的、不可预知的异常需要处理。每个过程都单独处理异常,系统的代码耦合度高,工作量大且不好统一,维护的工作量也很大。 那么,能不能将所有类型的异常处理从各处理过程解耦出来,这样既保证了相关处理过程的功能较单一,也实现了异常信息的统一处理和维护?答案是肯定的。下面将介绍...
2017-05-15 14:02:56
117
原创 JSTL forEach
基本格式: 循环要输出的东西属性解释: 标签具有以下一些属性:l var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。 l items:要进行迭代的集合。对于它所支持的类型将在下面进行讲解。 ...
2017-03-06 10:31:58
168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人