摘要: $.extend($.fn.validatebox.defaults.rules, { //手机品牌验证 NameRex:{ validator:function(value){ var rex=/^[a-zA-Z0-9\u4e00-\u9fa5\s]+$/;//输入中文、数字、字母或空格 if(r 阅读全文
posted @ 2016-06-21 15:26 黑子菜园 阅读(221) 评论(0) 推荐(0)

2025年11月6日

摘要: 分布式服务的接口幂等性如何设计? 通过Token和Redis来实现接口幂等性。用户操作时,系统生成一个Token并存储在Redis中,当用户提交操作时,系统会验证Token的存在性,并在验证通过后删除Token,确保每个Token只被处理一次。 元宝解析: 接口幂等性是分布式系统设计中一个至关重要的 阅读全文
posted @ 2025-11-06 11:26 黑子菜园 阅读(7) 评论(0) 推荐(0)
摘要: undo log和redo log的区别是什么? 候选人:redo log记录的是数据页的物理变化,用于服务宕机后的恢复,保证事务的持久性。而undo log记录的是逻辑日志,用于事务回滚时恢复原始数据,保证事务的原子性和一致性。 事务中的隔离性是如何保证的呢?(你解释一下MVCC) 候选人:事务的 阅读全文
posted @ 2025-11-06 10:57 黑子菜园 阅读(6) 评论(0) 推荐(0)
摘要: 超大分页通常发生在数据量大的情况下,使用LIMIT分页查询且需要排序时效率较低。 可以通过覆盖索引和子查询来解决。首先查询数据的ID字段进行分页,然后根据ID列表用子查询来过滤只查询这些ID的数据,因为查询ID时使用的是覆盖索引,所以效率可以提升。 阅读全文
posted @ 2025-11-06 10:49 黑子菜园 阅读(4) 评论(0) 推荐(0)
摘要: 可以跟上一篇“MySQL内置的InnoDB的索引结构“结合起来看 了解过索引吗?(什么是索引) 索引在项目中非常常见,它是一种帮助MySQL高效获取数据的数据结构,主要用来提高数据检索效率,降低数据库的I/O成本。同时,索引列可以对数据进行排序,降低数据排序的成本,也能减少CPU的消耗。 索引的底层 阅读全文
posted @ 2025-11-06 10:39 黑子菜园 阅读(23) 评论(0) 推荐(0)
摘要: MySQL中,如何定位慢查询? MySQL本身也提供了慢查询日志功能。可以在MySQL的系统配置文件中开启慢查询日志,并设置SQL执行时间超过多少就记录到日志文件,比如我们之前项目设置的是2秒,超过这个时间的SQL就会记录在日志文件中,我们就可以在那里找到执行慢的SQL。 那这个SQL语句执行很慢, 阅读全文
posted @ 2025-11-06 10:35 黑子菜园 阅读(10) 评论(0) 推荐(0)
摘要: 1、MyBatis执行流程? 读取MyBatis配置文件mybatis-config.xml。 构造会话工厂SqlSessionFactory。 会话工厂创建SqlSession对象。 操作数据库的接口,Executor执行器。 Executor执行方法中的MappedStatement参数。 输入 阅读全文
posted @ 2025-11-06 10:19 黑子菜园 阅读(5) 评论(0) 推荐(0)
摘要: Spring Boot的自动配置原理基于@SpringBootApplication注解,它封装了@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan。@EnableAutoConfiguration是核心,它通过@Impo 阅读全文
posted @ 2025-11-06 10:05 黑子菜园 阅读(4) 评论(0) 推荐(0)

2025年10月31日

摘要: InnoDB存储引擎采用 B+树作为索引的底层数据结构,主要分为聚簇索引和非聚簇索引两种。 B+树特点: (1)平衡树结构:所有叶子节点位于同一层,查询时间复杂度稳定为O(logn); (2)数据集中存储:所有数据都存储在叶子节点,非叶子节点仅存储键值和指针(仅针对聚簇索引) (3):链表连接:叶子 阅读全文
posted @ 2025-10-31 16:29 黑子菜园 阅读(6) 评论(0) 推荐(0)
摘要: - 讲一下网络的七层模型 - TCP IP在哪一层? - TCP四次挥手讲一下 - TIME_WAIT状态是客户端还是服务端? - 为什么有TIME_WAIT状态 - 利用TIME_WAIT 会存在什么安全攻击问题? 以下是回答: 阅读全文
posted @ 2025-10-31 14:48 黑子菜园 阅读(2) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2025-10-31 14:41 黑子菜园 阅读(2) 评论(0) 推荐(0)

2025年10月30日

摘要: 1,先解释什么是单点登录:单点登录的英文名叫做:Single Sign On(简称SSO) 2,介绍自己项目中涉及到的单点登录(即使没涉及过,也可以说实现的思路) 3,介绍单点登录的解决方案,以JWT为例 I. 用户访问其他系统,会在网关判断token是否有效 II. 如果token无效则会返回40 阅读全文
posted @ 2025-10-30 17:43 黑子菜园 阅读(5) 评论(0) 推荐(0)
摘要: 面试官:谈谈你对ThreadLocal的理解 候选人: ThreadLocal 主要功能有两个, 第一个是可以实现资源对象的线程隔离,让每个线程各用各的资源对象,避免争用引发的线程安全问题, 第二个是实现了线程内的资源共享 面试官:好的,那你知道ThreadLocal的底层原理实现吗? 候选人: 在 阅读全文
posted @ 2025-10-30 10:55 黑子菜园 阅读(25) 评论(0) 推荐(0)

2025年10月11日

摘要: 前提: import cn.hutool.extra.servlet.ServletUtil; import org.apache.commons.io.FileUtils; 在resource目录下创建template文件夹,存放模板文件: public void downloadTemplate 阅读全文
posted @ 2025-10-11 09:38 黑子菜园 阅读(6) 评论(0) 推荐(0)

2025年9月16日

摘要: 依赖:<dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-spring-boot-starter</artifactId></dependency>实现: importAttdMonthData(@RequestParam 阅读全文
posted @ 2025-09-16 16:44 黑子菜园 阅读(23) 评论(0) 推荐(0)

2025年9月8日

摘要: ps -ef|grep '文件名' // 查询进程 kill -9 进程号 // 强制杀死进程 前两者的合并:ps -ef | grep java | grep '/work/jar包所在文件夹/a-server.jar(jar包包名)' | grep -v grep | awk '{print $ 阅读全文
posted @ 2025-09-08 15:55 黑子菜园 阅读(6) 评论(0) 推荐(0)

2025年8月31日

摘要: import org.apache.commons.collections4.ListUtils; ListUtils.partition(list, query.getPageSize()).get(query.getCurrentPage()-1)注意:此方法做分页,是在内存中分页,数据量很大的 阅读全文
posted @ 2025-08-31 11:09 黑子菜园 阅读(7) 评论(0) 推荐(0)

2025年8月29日

摘要: 开发步骤: 1、查询数据列表 2、组装exportItem数据项 3、设置excel首行 4、导出 @ApiOperation("导出")@PostMapping("/export")public void exportList(@RequestBody Query query, HttpServl 阅读全文
posted @ 2025-08-29 10:28 黑子菜园 阅读(187) 评论(0) 推荐(0)

2025年8月22日

摘要: 以下是Maven和Gradle的优劣势对比及Java项目选择建议,结合主流技术实践总结: ​​一、Maven的核心优势与局限​​ ​​优势​​ ​​标准化与易用性​​:强制约定项目结构(如src/main/java),降低配置复杂度,适合快速启动项目 ​​强大的依赖管理​​:通过POM.xml自动解 阅读全文
posted @ 2025-08-22 10:55 黑子菜园 阅读(122) 评论(0) 推荐(0)

2025年6月30日

摘要: XA模式:强一致性。一阶段准备事务,不释放持有的资源,二阶段提交或回滚,释放资源。无代码侵入 AT模式:最终一致性,seata默认使用。一阶段直接提交,不锁定资源,利用数据快照实现数据回滚。无代码侵入 TCC模式(try、confirm、cancel):最终一致。一阶段直接提交事务,释放数据库资源, 阅读全文
posted @ 2025-06-30 10:50 黑子菜园 阅读(78) 评论(0) 推荐(0)

2025年6月25日

摘要: 快捷键汇总: psvm 快捷输入main函数 Sout 快捷输出 ,变量名.sout亦可输出 变量名.fori 快捷输出循环 Ctrl + / 单行注释 Ctrl+ shift +/ 多行注释/**/ Alt + insert 插入构造函数、getter/setter、以及重写hashcode/eq 阅读全文
posted @ 2025-06-25 18:10 黑子菜园 阅读(14) 评论(0) 推荐(0)

2025年5月29日

摘要: 1、两个人同时打开了一个表单,A先修改完成并提交成功了,B没有刷新页面,也做了修改数据并提交。 问:如何保证数据一致性,即A的修改不会被B覆盖 解决方案:使用乐观锁。表里增加版本号字段,更新的时候根据版本号来(也可以用时间戳,只是存在精度问题) 2、假设一张表有姓名、分数、课程三个字段,如何查出所有 阅读全文
posted @ 2025-05-29 23:08 黑子菜园 阅读(203) 评论(0) 推荐(0)

2024年8月13日

摘要: 1、修改本地代码仓库的远端git仓库地址: 右击项目名称->git -> manage remotes,进入路径修改 2、在控制台terminal输入:git push -U origin --all,将本地所有分支推送到远端git仓库 阅读全文
posted @ 2024-08-13 10:14 黑子菜园 阅读(769) 评论(0) 推荐(0)

2024年8月5日

摘要: select st_asgeojson(geom) geom, st_asgeojson(st_centriod(geom)) "centerJson" from xxxtable where geom is not null and st_intersects(geom,ST_geomFromTe 阅读全文
posted @ 2024-08-05 16:43 黑子菜园 阅读(32) 评论(0) 推荐(0)
摘要: select *, row_number() over(PARTITION by 某某字段 order by 排序字段) as rn from table 例子: select * from ( select *, row_number() over(PARTITION by 某某字段 order 阅读全文
posted @ 2024-08-05 16:39 黑子菜园 阅读(256) 评论(0) 推荐(0)
摘要: select t.table_name, obj_description(c.oid) as table_comment from information_schema.tables t left join pg_class c on t.table_name::text = c.relname w 阅读全文
posted @ 2024-08-05 16:34 黑子菜园 阅读(141) 评论(0) 推荐(0)

2024年8月2日

摘要: 1、依赖: 2、参考博文: https://blog.csdn.net/qq_31970227/article/details/113246795 https://www.cnblogs.com/pengdai/p/16537534.html#template%E6%A8%A1%E6%9D%BF 3 阅读全文
posted @ 2024-08-02 17:18 黑子菜园 阅读(317) 评论(0) 推荐(0)

2023年7月21日

摘要: 项目代码突然就报红了,如下: 查看本地依赖库里是有这个jar包的; 解决办法就是换一个低版本的: 换到 阅读全文
posted @ 2023-07-21 16:04 黑子菜园 阅读(459) 评论(0) 推荐(0)

2023年7月12日

摘要: 1、swagger上接口参数紊乱,原因之一是@apiModel的值重复了,加载到了同名entity 阅读全文
posted @ 2023-07-12 16:50 黑子菜园 阅读(17) 评论(0) 推荐(0)

2023年5月12日

摘要: SELECT st_srid(geom) FROM qysjsx_qyjcxx where uni_scid = '91440300MA5ER4GH88';--查询坐标系,结果样式:4326 // 按经纬度设置坐标update temp_gaoxin_qiye_address_location se 阅读全文
posted @ 2023-05-12 09:32 黑子菜园 阅读(338) 评论(0) 推荐(0)

2023年5月11日

摘要: 1、新建序列化类xxxSerializer,继承JsonSerializer<T>,T依据要序列化的字段类型而定,可以是String,可以是Date: @Configuration public class xxxSerializer extends JsonSerializer<String>{ 阅读全文
posted @ 2023-05-11 15:54 黑子菜园 阅读(718) 评论(0) 推荐(0)

2022年7月12日

摘要: 前提:IDEA开发本地是spring boot项目,用的自带的tomcat 问题描述:项目在开发本地启动正常,发包到测试环境,界面调接口也正常,postman调用本地接口也正常。gradle打包并发到虚拟机上,项目启动是正常的,但是界面调接口后报错java.lang.IllegalArgumentE 阅读全文
posted @ 2022-07-12 16:27 黑子菜园 阅读(5461) 评论(0) 推荐(0)

2022年6月8日

摘要: 结论:limit offset,size比limit size要慢,且offset值越大,sql的执行速度越慢。 当offset过大,会引发深度分页的问题,目前不管是mysql还是elasticsearch都没有很好的方法去解决这个问题,只能通过限制查询数量或 分批获取的方式进行规避。 大部分时候是 阅读全文
posted @ 2022-06-08 11:06 黑子菜园 阅读(380) 评论(0) 推荐(0)

2022年6月6日

摘要: 总结:1、尽量让数据都保留在filesystem os cache文件系统操作缓存里,查询速度是毫秒级的; 2、数据预热(跟前一个一样,也是留在cache里),冷热分离(存在不同的shard分片上) 3、数据写入es的document文件前,在java逻辑里先处理好类似联表的操作,后续直接拿docu 阅读全文
posted @ 2022-06-06 17:27 黑子菜园 阅读(4315) 评论(0) 推荐(0)
摘要: 一、ES写数据的大致步骤: [客户端 ] 请求 > [ 协调节点] hash一下数据 > [primary shard ] 同步数据 > [ replica shard] ^ | | 通知协调节点 | 1、客户端发送请求过来一条数据(document) 随机选择集群中的一个节点Node2(此时Nod 阅读全文
posted @ 2022-06-06 00:11 黑子菜园 阅读(2022) 评论(0) 推荐(0)

2022年5月30日

摘要: 1、倒排索引:Lucene检索库 2、基于Lucerne 的分布式搜索引擎elasticSearch 核心思想就是在多台机器上启动多个es进程实例,组成一个es集群。 (1)搞一个索引(索引是es存储数据的基本单位,创建索引的时候可以设置分片的数量),将索引拆分成多个shard分片,每个shard存 阅读全文
posted @ 2022-05-30 17:29 黑子菜园 阅读(544) 评论(0) 推荐(0)

2022年5月16日

摘要: 一、Java虚拟机内存区域 Java虚拟机运行时数据区包括几部分内存:方法区、Java堆、虚拟机栈、本地方法栈、程序计数器 1、程序计数器:线程私有的内存区域 字节码解释器工作时就是通过改变程序计数器的值来选取下一条需要执行的字节码指令。 多线程就是通过线程轮流切换并分配处理器执行时间的方式来实现的 阅读全文
posted @ 2022-05-16 11:23 黑子菜园 阅读(50) 评论(0) 推荐(0)

2022年4月19日

摘要: Eureka服务注册中心 Config服务配置中心 Ribbon客户端负载均衡 Zuul 服务网关 Hytrix 容错处理,保护系统,控制故障范围 扩展: 1、eureka跟nacos的异同: 共同点:(1)都支持服务注册和服务拉取;(2)都支持服务提供者心跳方式做健康检测; 区别:(1)nacos 阅读全文
posted @ 2022-04-19 18:03 黑子菜园 阅读(24) 评论(0) 推荐(0)
摘要: 1、配置 Web.xml配置url的匹配规则,及spring主配置文件的加载路径,配置注解@controller @service @AutoWired @RequestMapping 2、初始化 加载并解析配置信息、IOC容器、DI操作,HandlerMappingde初始化 Web容器调用dis 阅读全文
posted @ 2022-04-19 18:01 黑子菜园 阅读(31) 评论(0) 推荐(0)
摘要: 第一范式1NF:无重复的域(原子性) 第二范式2NF:在1NF基础上,表中每个记录必须可以被唯一区分(主键的概念)2NF要求实体的属性完全依赖于主关键字 第三范式3NF:3NF是2NF的一个子集,任何非主属性不得传递依赖于主属性。 阅读全文
posted @ 2022-04-19 17:44 黑子菜园 阅读(92) 评论(0) 推荐(0)
摘要: 一、分布式锁 1、分布式锁应该是怎样的: (1)互斥性:分布式部署的应用集群中,一个方法只能被一台机器上 的一个线程执行 (2)这把锁要是可重入的,避免死锁 (3)有高可用的获取锁和释放锁功能,性能要好 2、分布式锁的三种方式: (1)基于数据库实现分布式锁 悲观锁:实现方式是独占数据,其他线程等待 阅读全文
posted @ 2022-04-19 17:26 黑子菜园 阅读(595) 评论(0) 推荐(0)

导航