- 博客(67)
- 收藏
- 关注
原创 MySql数据库字符串拼接 GROUP_CONCAT() 和 CONCAT_WS() 的区别
主要区别在于是一种聚合函数,适用于需要对一组行进行操作并将这些行合并成单个字符串的情况;而则是一种简单的字符串连接函数,适合于在同一行内将多个字段值连接起来,并且可以指定分隔符。如果你需要基于某些条件(如GROUP BY)汇总数据并将其合并成一个字符串,应该使用。如果你的需求只是简单地将几个字段或者字符串连接在一起,并希望在它们之间添加特定的分隔符,则是更合适的选择。若需要查询多个字段作为一个字符串,值用逗号隔开采用。
2025-02-24 10:30:11
322
原创 踩坑记录(Long[]ids)
创建的集合虽然是不可变的,但这并不意味着集合内的对象本身是不可变的。如果集合中的对象是一个可变对象,那么即使集合本身不可变,这个对象的状态仍然可以通过其他引用被修改。IllegalArgumentException 和NullPointerException详解及应用场景在 Java 中,和是两种常见的异常类型,它们通常用于处理程序中的逻辑错误或状态错误。这两种异常都是运行时异常(),这意味着它们不需要在方法签名中声明。通常用于参数验证,确保传入的参数满足方法的要求。
2024-09-06 10:28:46
979
原创 踩坑记录(序列化与反序列化)
实体类中设定字段名称为 sValue和yValue 返回给前段后,变成了svalue,yvalue字段设置测试结果:与字段不符,匹配失败。
2024-09-03 13:11:13
301
原创 @Transactional注解详解与应用
是Spring框架用于的关键元素。它允许开发者通过简单的注解来控制事务的边界,而无需编写具体的事务管理代码。用于指定一个方法或类在执行时需要进行事务管理。类级别方法级别尽管。
2024-06-25 10:59:09
728
原创 Spring配置文件简述
Spring框架的配置文件主要用于定义。Spring支持多种格式的配置文件,主要包括传统的XML配置文件和基于注解的配置,以及现代Spring Boot项目中更常用的properties或YAML格式的配置文件。
2024-05-14 11:33:12
581
原创 SpringFramework简述
Spring Framework是一个开源的企业级Java应用程序框架,由Rod Johnson创建,首次发布于2003年。Spring的核心理念在于简化企业级Java开发并提高其可测试性,它通过提供一个全方位的基础架构支持,帮助开发者关注于业务逻辑而非基础设施的繁琐细节。以下是Spring Framework的一些核心特征和组件: Spring简化了与数据库的交互,提供了JDBC、ORM(如JPA、Hibernate)和其他数据访问技术的支持,以及事务管理的集成。 Spring
2024-05-14 11:13:47
1364
原创 MySQL和MongoDB区别
MySQL与MongoDB作为两种不同的数据库系统,它们在设计哲学、数据模型、查询方式、事务支持、性能特点等多个方面存在显著差异。综上所述,选择MySQL还是MongoDB,应根据具体的应用场景、数据结构、性能需求以及对事务一致性的要求来决定。
2024-05-13 11:44:47
817
1
原创 简述redis事务
Redis事务提供了一种将多个命令打包,然后一次性执行的机制,以简化某些需要连续执行多个命令的场景。尽管Redis事务在设计上有一些局限性,它们仍能满足许多应用场景的基本需求。
2024-05-12 11:58:00
362
原创 简述redis数据类型及应用场景
每种数据类型的选择应当基于具体的应用需求,比如是否需要排序、是否允许重复元素、是否需要执行集合运算等。Redis作为一种高性能的内存数据存储系统,提供了多种数据结构来满足不同场景下的需求。: 双向链表,可以做栈(LPOP/RPOP)、队列(LPUSH/RPOP)或实现发布/订阅模式。: 最基本的数据类型,可以存储字符串、整数或者浮点数等数据。支持原子性操作,如增、删、改、查。: 无序且不重复的字符串集合,支持集合运算如并集、交集、差集。: 用于存储键值对的集合,每个哈希可以存储多个字段-值对。
2024-05-10 10:22:36
421
原创 热点数据和冷数据(分层存储策略)
管理好热点和冷数据,对于优化系统性能、降低成本以及确保数据的有效利用至关重要。在设计存储架构时,通常会采用分层存储策略,将热点数据放置在高速存储层,而冷数据则放置在低成本的存储层。假如修改频率很高,但是又不得不考虑缓存的场景怎么处理?比如,这个读取接口对数据库的压力很大,但是又是热点数据。等是非常典型的热点数据,但是又不 断变化,此时就需要将数据同步保存到Redis。这个时候就需要考虑通过缓存手段,减少数据库的压力,比如我们的某助手产品的,缓存,减少数据库压力。
2024-05-10 09:36:01
1247
原创 Redis简述
Redis是一个开源的,基于键值对(key-value)的数据结构存储系统,它可以用作数据库、缓存和消息代理。Redis以其高性能、低延迟和丰富的数据结构特性而著称,广泛应用于各种场景,特别是那些需要快速读写操作和高可扩展性的应用中。:Redis不仅仅支持简单的字符串键值对,还提供了等多种数据结构,以及等高级数据类型。每个比特位代表集合中的一个元素,值为1表示该元素存在,值为0表示不存在。位图非常适合于统计、去重计数、简单的布尔操作等场景,如用户活跃度跟踪、布隆过滤器等。
2024-05-09 09:52:52
962
原创 通用SQL函数
通用SQL函数是指在多种SQL数据库系统中广泛支持的功能函数,它们可以帮助用户执行常见的数据处理和转换任务。这些函数大致可以分为几类,包括。
2024-05-06 11:30:41
247
原创 varchar 和char 的区别及应用场景
根据实际应用场景选择合适的数据类型是很重要的。如果字符串长度固定且较短,或者对存储空间不是特别敏感但对查询性能有较高要求,可以考虑使用 CHAR(例如:身份证号,手机号)。反之,如果字符串长度可变或者希望节省存储空间,VARCHAR 是更好的选择。是两种不同的数据类型,主要用于存储字符串。它们之间的主要区别在于存储方式、空间利用率、以及对数据处理的效率。VARCHAR: 变长字符串类型。定多少用多少,用不完拿空格填充。65,535 个字节。
2024-05-06 10:10:30
817
原创 数据库索引(Mysql)
索引并非是越多越好,创建索引也需要耗费资源,一是增加了数据库的存储空间,二是在插入和删除时要花费较多的时间维护索引尽量使用数据量少的索引。选择唯一性索引,唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。如果索引的值很长,那么查询的速度会受到影响。尽量选择区分度高的列作为索引区分度的公式是表示字段不重复的比例。为经常需要排序、分组和联合操作的字段建立索引。如果索引字段的值很长,最好使用值的前缀来索引。为常用作为查询条件的字段建立索引。尽量的扩展索引,不要新建索引。:带函数的查询不参与索引。
2024-04-29 17:24:18
657
原创 分割字符串问题记录(特殊符号识别问题)
除了上文提到的 "+" 符号之外,还有其他几个常见的符号在正则表达式中有特殊含义,当它们作为分隔符使用时,也需要进行转义。- 方括号用于定义字符类,直接在方括号外使用即可表示字面的方括号,但如果方括号内部需要表示范围或特殊字符,内部的转义规则适用。∗∗−表示字符串的结束位置,要匹配美元符号,使用‘)∗∗−表示字符串的结束位置,要匹配美元符号,使用。- 竖线代表“或”的概念,在正则表达式中用于分隔选项,要匹配竖线本身,使用。- 在正则表达式中,点(.)代表任意单个字符,要匹配字面上的点,需使用。
2024-04-29 08:33:27
234
原创 数据库锁介绍
最小化锁持有时间:尽可能快地完成事务,减少锁占用的时间。合理安排事务顺序:避免循环等待锁,减少死锁风险。使用适当的事务隔离级别:根据业务需求选择合适的事务隔离级别,平衡数据一致性和性能。行锁是数据库并发控制中的重要工具,理解其工作原理和应用方式对于设计高性能、高并发的数据库应用至关重要。表锁(Table-level Locks)简介:表锁锁定的是整个数据表,MyISAM存储引擎默认采用表锁,意味着只要有一个事务在某张表上持有了表锁,其他事务对这张表的所有操作(读写)都将被阻塞。评估并发需求。
2024-04-28 11:15:56
1274
原创 单一数据源转为多数据源快捷方法
适用于需要在同一个应用或服务中连接并操作多个数据库或数据源的场景。这种技术使得开发者可以在运行时根据不同的业务需求或执行环境灵活地选择使用哪个数据源,而不必在每次数据库操作时硬编码数据源信息。可以设置常用的数据库为默认值,在第三步添加注解时,不需要特别标注,到此即可顺利访问不同数据源下的目标数据库。开发过程中,需要访问不同的数据库,采用。只需要给用到从库的方法或类添加注解即可。
2024-04-28 09:13:52
224
原创 单表过大的优化方法
当数据量达到一定规模时,可以使用分布式数据库或数据库中间件进行水平拆分,将数据分散到多个数据库实例或多个表中。例如,用户表中既有用户的登录信息又有用户的基本信息,可以将用户表拆分成两个单独的表,甚至放到单独的库做分库。:定期将历史数据迁移到另外的表或者数据库,实现冷热数据分离,常用数据和历史数据分开处理,减少主表的数据量。:对于写入操作,可以将数据切分成多个小批次,然后逐批插入数据库,减少锁表时间,提高插入效率。:在满足业务需求的前提下,充分利用多核CPU的优势,通过多线程并行处理数据,加快处理速度。
2024-04-27 10:57:52
1075
1
原创 switch case 值 如何取一个范围
这种写法要求你的项目使用 Java 14 及以上版本,并且在编译器选项中启用了相应的语言特性。如果你的项目环境不满足这些条件,仍然需要使用传统的。标签后的值必须是一个具体的、固定的值,不能是一个范围。但是又需要多重判断,在不用if else的情况下,如何解决.从 Java 14 开始,引入了一个新的语言特性——语句来实现范围判断。
2024-04-26 14:00:24
1663
2
原创 SQL优化
6、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0。子查询的结果可能存在重复或错误的情况,而关联查询可以直接连接相关联的数据表,避免了数据的重复和错误。嵌套查询是子查询的一种形式,它们会增加查询的复杂性,并可能导致查询语句难以理解和维护。
2024-04-26 11:53:28
1274
1
原创 使用Mybatisforeach循环添加字段和值失败问题记录
由于数据表字段非常多,使用foreach循环,key为数据库字段,value为要添加的值.字段中含有小数点的无法正常添加数据。直接将新增的sq拼接好去执行,解决字段不能正确识别,获取值失败的问题。注(反引号非常重要)
2024-04-18 16:37:55
365
原创 数据库查询,字段被断开问题记录
1.针对业务需求对数据表字段进行修改后,查询数据列表,采用JSONObject接受,数据库字段命名可能不规范(字段名中含有小数点)导致字段接受断开问题:如图所示。解决方案:不能改动数据库字段格式的前提下,将查询到的数据,判断value是否为HashMap,对符合条件的key进行拼接。由于HashMap在迭代过程中不支持删除和修改(会报错。),采用新的集合和JSONObject进行存储和返回。错误展示:从小数点处断开,形成新的map。
2024-04-18 16:13:16
399
原创 Spring和SpringBoot的区别
Spring是一个全功能的应用程序框架,提供了丰富的功能和灵活性,适用于复杂的企业级应用程序开发;而Spring Boot则是一个快速开发框枧,旨在简化Spring应用程序的搭建和开发,适用于快速开发和微服务架构。通常情况下,可以使用Spring Boot来快速搭建应用程序原型,而在需要更多定制化和复杂功能时,可以结合Spring框架进行开发。
2024-03-27 13:49:07
778
转载 java面经转载
Client Random、Server Random 和 Pre-Master。用这三个作为原始材料,就可以生成用于加密会 话的主密钥,叫“而黑客因为拿不到“Pre-Master”,所以也就得不到主密钥。为了保证真正的“完全随机”“不可预测”,把三个不可靠的随机数混合起来,那么“随机”的程度就非常高了,足够让黑客难以猜测。这里的“PRF”就是伪随机数函数,它基于密码套件里的最后一个参数,比如这次的 SHA384,通过摘要算法来再一次强化“Master Secret”的随机性。
2024-03-27 13:23:29
43
转载 Docker 夺命连环 15 问
veth设备总是成对出现的,它们组成了一个数据的通道,数据从一个设备进入,就会从另一个设备出来。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口.此时容器不再拥有隔离的、独立的网络栈。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP,端口范围等。Docker将veth pair 设备的一端放在新创建的容器中,并命名为eth0(容器的网卡),另一端放在主机中, 以veth*这样类似的名字命名,并将这个网络设备加入到docker0网桥中。此模式拥有所有端口。
2024-03-27 13:07:20
113
原创 使用document.querySelector()搜索时,点‘.‘和井号‘#‘的用法
document.querySelector()搜索时--> .和#的用法
2023-10-24 09:25:47
1291
原创 单字段查询,用另一个字段进行排序,用distinct关键字去重和不去重的查询结果对比分析
distinct关键字和orderby联合使用的硬性要求,以及orderby相关知识,临时表相关知识
2022-12-22 11:26:32
1947
1
java研发军团面试手册
2024-03-27
Java集合.pptx
2024-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人