- 博客(39)
- 收藏
- 关注
原创 mysql开启慢查询执行日志
log_queries_not_using_indexes = 1 # 可选,记录未使用索引的查询。/etc/my.cnf 或 /etc/mysql/my.cnf。-s t:按时间排序(也可用 c 表示次数)-a:显示所有 SQL(包括具体参数)-t 10:显示前 10 条。
2025-10-31 15:50:21
174
原创 mysql中根据索引列生成的哈希值,一个哈希值对应一个槽位吗,哈希表中存的是哈希值吗?是哈希值的数组吗?
一个哈希值并不一定只对应一个槽位(slot),但最终会通过哈希函数计算结果映射到一个槽位上。槽位数量(也叫“桶数”、“bucket 数量”)是哈希表本身在创建时决定的一个固定容量参数。哈希值是通过**哈希函数(hash function)**对键(key)计算得到的整数。它的本质是一个数组(槽位集合),数组的每个位置叫一个 槽位(slot/bucket)。每个槽位可以存放一个或多个元素(如果有哈希冲突,就用链表或其他结构挂在这个槽位下)。哈希值是一个理论上无限大的整数,用于唯一(或尽量唯一)表示一个输入。
2025-10-31 11:40:00
489
原创 jvm中的栈
这里的栈,是jvm中的一块内存区域,存储结构和数据结构中的栈一样,遵循先进后出原则,存储的内容是栈帧。栈帧:当方法被调用的时候,会将该放方法执行过程中的相关信息存储进栈帧,也就是说存储被调用的方法的信息。就是方法运行时候所涉及到的数据,涉及到的数据放在操作数栈中,例如:执行iadd(整数加法)时,会从操作数栈弹出两个整数,相加后将结果压回栈中。存储方法中的局部变量,包括方法参数,基本数据类型变量,对象引用等,表的大小在编译期就已经确定(),通过字节码指令中的max_locals属性指定。
2025-10-14 21:32:15
136
原创 jvm中程序计数器
线程占用的cpu是会被抢走的(也就是线程会被切换出去,暂停了),当被抢走的时候,计数器的值会被保存,当线程又切换回来的时候,需要知道当前线程运行到哪里了。程序计数器是 JVM 规范中唯一没有规定 OutOfMemoryError 情况的内存区域,它的生命周期与线程相同,随着线程的创建而创建,随着线程的结束而销毁。他是一块较小的内存区域,用于存储当前线程正在执行的字节码指令的地址(行号)。当线程执行 Java 方法时,计数器记录的是正在执行的虚拟机字节码指令的地址;
2025-10-10 22:10:40
230
原创 jvm双亲委派的含义
当我们加载我们编写的Dog类的时候,jvm并不是直接用应用类加载器去加载,而是用启动类加载器去加载,显然,Dog类不是核心类库,加载不进去,退而采用扩展类加载器加载,当然,Dog也不是扩展类库,所以也加载不到,所以最终会由应用程序加载器加载。类,但是JVM最开始用的是启动类去扫描String,所以会在核心类库扫到了String类,加载的是核心类库的类),所以最终jvm永远也找不到你自己写得这个类,会出现无法加载主类的报错。父类加载器重复这一过程,直到请求传递到顶层的启动类加载器。这就是所谓的双亲委派机制。
2025-10-08 20:20:56
330
原创 依赖注入的好处和不用依赖注入的对比
硬编码 new 的方式:Tire 新增 material 后,Bottom、Framework、Luggage 的构造函数都要新增参数,且每个类都要修改 new 的逻辑,形成连锁修改。需要修改(传递 material),中间的 Bottom、Framework、Luggage 完全无需改动 —— 因为它们的依赖是 “外部注入” 的,而非自己硬编码 new 出来的。这是没有用注入思想的是下方式,我们最后要调用Luggage类的move的时候,需要new LUGGAGE(30).move();
2025-10-05 21:19:19
298
原创 redis缓存初步认识
缓存是指将从数据库或者远程服务器,硬盘等数据源中获取到的数据存储在可以使得访问该数据的速度更快的地方。数据存储在计算机的内存中,读写速度极快,像 Redis 就是典型的内存缓存数据库,非常适合用于需要快速响应的数据缓存场景,例如缓存网页内容、频繁查询的数据库结果等。RAM就是内存条,常见的如电脑中的 DDR(Double Data Rate)系列内存,像 DDR4、DDR5 等,不同代的 DDR 内存有着不同的性能特点和适用场景,DDR5 相比 DDR4 通常在读写速度、带宽等方面有进一步提升。
2025-09-12 09:26:19
251
原创 nacos总结
联通之后,可以通过DiscoveryClient获取服务实例列表,LoadBalancerClient负载均衡选择一个实例,RestTemplate发起远程调用。主要用来存储微服务地址,开发环境,测试环境,生产环境中,数据库配置,redis配置,超时时间等命名空间的等配置项。需要引入nacos-discovery依赖,然后配置nacos地址,此时微服务就和nacos联通了。配置文件中可以获取到命名空间的配置项,可以监听配置发生改变。nacos在分布式服务当中是注册中心和配置中心。
2025-09-09 10:32:26
120
原创 nacos配置中心
在要使用该配置的微服务配置文件配置spring.config.import=nacos:service-order.properties。在service层的pom引入nacos配置。可以让微服务从nacos获取到配置信息。
2025-09-08 09:22:05
199
原创 jeecg-boot 重新加载数据
用reload(),例如:列表中点击接收了数据,需要让这列表的数据重新加载。在点击接收后,在success中调用reload。
2025-09-07 19:13:06
231
原创 多个线程调用某个类(例如U类)成员方法或者变量的时候,调用的是同一个U类对象吗?还是每一个线程调用到U的时候,都会重新分配一个U对象
然后在多个不同的类中通过 @Autowired (假设是在 Spring 管理的组件里使用)注入这个 UnsafeCounter 对象,那么多个线程在访问时,注入的是 同一个 UnsafeCounter 对象实例。所以,多个线程调用 increment 方法时到底是操作同一个 UnsafeCounter 对象还是各自有独立对象,取决于对象的创建、获取以及管理机制,不同的场景会有不同的情况,进而对线程安全状况产生不同影响。线程不安全的类通常不建议放在配置类中定义为单例 Bean(由 Spring 容器管理)
2025-09-06 09:07:16
248
原创 分布式基础
域名绑定到网关(nginx,nginx通过负载均衡的算法将请求摊派到服务器),网关是所有请求的入口,此时网关要完成请求路由(将请求分配到对应的微服务中,),可以将微服务部署到多台服务器中,可以扩缩容(增加、减少服务器)。数据库也可以做分布式,用户数据,订单数据,商品数据分别部署到不同的数据库服务器,做到商品的微服务只连接商品的数据库,订单的微服务只连接订单的数据库。服务雪崩——服务熔断:如果某个服务崩了,为了防止因为某个服务崩,而导致其它服务也崩,所以引入了服务熔断。
2025-09-04 16:01:36
172
原创 mysqlB+树的使用
节点3:[600, 指向节点6的指针], [800, 指向节点7的指针] // 补充对称节点。节点7:[800, 数据行], [900, 数据行], [1000, 数据行]节点6:[500, 数据行], [600, 数据行], [700, 数据行]节点5:[80, 数据行], [90, 数据行], [100, 数据行]节点4:[10, 数据行], [30, 数据行], [50, 数据行]节点2:[50, 指向节点4的指针], [80, 指向节点5的指针]
2025-09-03 15:42:23
407
原创 redis面试
缓存穿透:多次请求数据库中没有的数据,导致数据库中查不到,redis中自然也没有存进去,并发大的情况下会导致数据库宕机,就属于缓存穿透。正常流程:前端请求查询数据接口,首先看是否能命中redis中的数据,如果没有,则去数据库取出来,同时在redis中存一份。解决方案一:将请求过来的数据且库中也没有的,在redis中缓存一份。
2025-08-28 21:45:02
307
原创 什么叫哈希函数
固定输出长度:无论输入数据的大小(可能是一个字符、一段文本、一个文件甚至更大的数据),哈希函数都会生成固定长度的输出。哈希函数(Hash Function)是一种能将任意大小的输入数据(也称为 “键”)映射到固定大小输出值的函数,输出值通常称为 “哈希值”(Hash Value)、“散列值” 或 “摘要”。雪崩效应:输入数据的微小变化(如一个比特的修改),会导致哈希值发生巨大变化,几乎看不出关联性。弱抗碰撞性:对于给定的输入,很难找到另一个不同的输入与之产生相同的哈希值。
2025-08-28 21:39:53
350
原创 数据库连接数和并发
数据库最大连接数设置为3,并发3k的时候,系统很快爆Too many connections,错误了百分之十七点。将数据库最大连接数改为300,并发还是3000,错误率为0,cpu到62%
2025-08-25 09:37:19
418
原创 【无标题】
访问springmvc项目,报500错误,b站上图灵学院的教程中没有让保留参数名称@RequestParam(“name”)。当 Spring 通过反射获取参数信息时,无法获取到 name 这个参数名,因此抛出 IllegalArgumentException 异常,提示 “未指定参数名称,且无法通过反射获取参数名信息”。错误提示中提到的 -parameters flag,是 Java 编译器的一个参数,用于保留方法参数的名称信息,供反射使用。
2025-08-20 15:40:55
158
原创 springmvc项目扫描不到类
配置都没问题,问题在这里的lib是否导入成功,虽然导入了,可是报红,导致压根就不是sping项目,所以访问的controller一直报404。
2025-08-20 15:17:43
301
原创 JAVA接收前端请求到分发servlet以及返回前端的过程,DispatcherServlet,HandlerMapping,HanddlerAdapter,Handller,ViewReslover
若请求 URL 是/user/add,HandlerMapping(如RequestMappingHandlerMapping)会根据@RequestMapping(“/user/add”)注解找到对应的 Controller 方法作为Handler。所有客户端请求(如http://localhost:8080/user/list)首先到达DispatcherServlet(它是 Spring MVC 的入口,在web.xml或注解中配置映射路径,通常是/*或/)。
2025-08-19 09:12:17
285
原创 Spring 基于 XML 配置的IOC方式
System.out.println(“用户数据已保存到数据库”);// 加载XML配置文件,初始化Spring容器。通过 XML 文件定义 Bean 和依赖关系。
2025-08-11 16:34:19
153
原创 jeecgboot知识库
去新建个大模型,选择通义千问。DeepSeek服务不稳定,搞好一个之后,你们有时间可以慢慢折腾。把apikey复制,保存到一个text里。
2025-06-30 14:54:47
179
原创 jeecg text2sql 搭建流程
API中,选择post请求,我们在controller中是post请求。因为我们是将用户的问题发送到java,用java调用大模型去生成数据库语句,所以要新建http请求。请求头是token,获取访问权限的令牌,每个人的令牌不一样,下面有步骤教怎么获取令牌。输入问题,点击调试,运行结束后可以点击结果和详情,追踪查看各节点执行结果。输入查询什么学生问题,他就给你查询出来了,这就是text2sql智能体,第八步,新建AI应用,将建好的流程放到AI应用里。注意填的是LLM节点,红色的照着填就行。
2025-06-30 00:43:33
305
原创 jeecg text2sql小demo
总体思路:1、让大模型生成sql语句2、用大模型生成的sql语句去查询数据库这里面最关键的是给大模型写提示词,让他生成合适的sql语句将这串代码放到一个控制器里,建议放在我是放在SysUserController。你们粘贴的时候肯定会报错的,因为有些方法是写在service里,你们还没拷贝过去,,我这里不报错是因为我已经写完了。把这行代码拷贝到ISysBaseAPI的实现类中,拷贝到SysBaseApiImpl.java文件。
2025-06-30 00:11:06
398
原创 跨域问题 CORS vue+springboot,创建一个类,拷贝下面的代码就可以解决了
/ 允许任何方法(POST、GET 等)// 允许所有域名进行跨域调用。// 允许任何请求头。
2025-03-09 18:15:26
160
原创 用ngrok访问WebStorm的项目出现Invalid Host header
在webpack.dev.conf.js devServer里加上disableHostCheck: true
2022-04-09 11:34:18
718
原创 升级openssh遇到ssh -V版本不对,openssl在ssh-V命令还是老版本的问题
升级openssh在网上找解决ssh -V 出来的信息还是老版本信息:执行以下两个命令,这命令得到的信息就是ssh -V读取的信息,也就是说新装的东西还没有被读到可以把新装的东西放到这两个路径来。记得备份[root@localhost ~]# which ssh/usr/local/bin/ssh[root@localhost ~]# which sshd/usr/local/sbin/sshd...
2022-02-26 14:21:31
10735
原创 用户量大的系统避免的一些写法
前端初始化的时候不要存东西,例如某个数组对象,里面不能写死对象放里面。理由:网络慢的时候,新数据加载不过来,就会展示写死在那的数据,用户以为那是正式的,就会进行操作,进而产生数据问题在处理整型数据之前记得要做去掉空格处理vue页面直接的传值不要用对象传,刷新就没了定义的变量记得要将内容清除掉。...
2021-09-19 19:17:48
103
原创 vue数组里的对象根据某个字段排序
函数://数组里的对象根据某个字段排序sortByKey(array,key){return array.sort(function(a,b){var x = a[key];var y = b[key];return((x>y)?-1:((x<y)?1:0));})},调用:需要排序的是this.dataList,根据createTime排序。排序回来继续用this.dataList接收this.dataList=this.sortByKey(this.dataList,‘c
2021-08-28 13:08:50
2184
原创 centos 安装nginx
nginx提供了centos的源,按照以下步骤逐步输入命令:添加源:2、开始安装nginxsudo yum install -y nginx3、启动服务sudo systemctl start nginx.service4、设置开机启动sudo systemctl enable nginx.service
2021-04-10 16:43:51
83
原创 jeecgboot列表字数太多就显示...鼠标放上显示全部
jeecgboot列表字数太多就显示…鼠标放上显示全部import JEllipsis from ‘@/components/jeecg/JEllipsis’JEllipsis,let ellipsis = (v, l = 20) => ()//放在对应的列上customRender: (t) => ellipsis(t)
2021-03-26 15:28:57
1327
原创 Cannot find module ‘webpack-cli/bin/config-yargs
devDependencies加上webpack-cli 这样配置:“devDependencies”: {“webpack”: “^5.27.1”,“webpack-cli”: “^4.5.0”,“webpack-dev-server”: “^3.11.2”}scripts的dev配成这样,不要使用"dev": “webpack-dev-server”,具体什么原因我没实践过,估计是因为版本的原因“scripts”: {“test”: “echo “Error: no test spe.
2021-03-22 12:13:35
107
原创 webpack生成bundle.js文件出错
用webpack ./src/main.js ./dist/bundle.js 命令生成出现错误解决办法:将webpack ./src/main.js ./dist/bundle.js 改成webpack ./src/main.js -o ./dist/bundle.jsERROR in mainModule not found: Error: Can’t resolve ‘./dist/bundle.js’ in ‘/Users/chenzhicheng/WebstormProjects/w
2021-03-22 09:06:09
1621
原创 mac安装webpack,报权限不够
mac安装webpack,报权限不够先获取root权限:sudo -s然后再 npm install webpack -g
2021-03-22 09:00:45
252
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅