自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 EXPLAIN MYSQL执行计划用法简介

在 MySQL 中,EXPLAIN 是用于分析 SQL 执行计划的核心工具,它能帮助你理解查询是如何被优化器执行的,从而发现性能瓶颈并进行优化。→ 改写为直接列比较,如避免 WHERE YEAR(date) = 2023,应写为 WHERE date >= '2023-01-01'。- Using temporary:使用临时表(需优化)→ 查询条件可能对索引列使用了函数或隐式转换,导致索引失效。针对性优化(加索引、改写 SQL、调整字段顺序等)。- Using index:覆盖索引(优秀)

2026-05-12 11:45:28 483

原创 SpringBoot知识点总结

Spring Boot 的配置属性是一个强大的特性,允许开发者通过外部配置文件(如 application.properties 或 application.yml)来管理和配置应用程序的各种设置。这种机制使得在不同环境之间切换配置(如开发、测试和生产环境)变得简单和直接,无需改动代码。以下是 Spring Boot 配置属性的一些关键特点:(1)配置文件类型Properties 文件:传统的键值对格式,文件名通常为 application.properties。

2025-10-24 18:40:28 776

原创 java内存性能优化工具Mat

1.MAT(Memory Analyzer Tool)工具是一款功能强大的]ava堆内存分析器。可以用于查找内存泄漏以及查看内存消耗情况。MAT是基于Eclipse开发的,不仅可以单独使用,还可以作为插件的形式嵌入在Eclipse中使用。是一款免费的性能分析工具,使用起来非常方便。2.下载地址我这边电脑的系统是window系统,jdk版本是1.8,下载时应选择对应的版本下载3.安装双击启动MemoryAnalyzer.exe启动。

2025-10-17 21:02:57 2263

原创 java面试总结一

SpringMVC 框架是以请求为驱动,围绕 Servlet 设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。其中核心类是 DispatcherServlet,它是一个 Servlet,顶层是实现的Servlet接口。SpringMVC 使用需要在 web.xml 中配置 DispatcherServlet。

2025-10-13 14:30:55 1046

原创 正则表达式

www.baidu.com

2025-09-15 15:01:54 1049

原创 java中map的循环方式

Map是Java中的一个接口,它用于存储键-值对,并且键和值都可以是任意对象。它是Java集合框架中的一部分,并提供了一些方法来操作和访问Map中的元素。Map中的每个键都是唯一的,这意味着不能使用相同的键插入新的键值对,而新的值将会覆盖旧的值。Map提供了许多方法来检查是否包含指定的键和值、获取键值对数量和遍历Map中的元素等。

2025-06-27 18:22:59 1215

原创 Redis 的作用及详细分析

读写并发请求,导致数据库和缓存中的数据不一致,在写请求删除缓存,修改数据库库存还未成功时,查询库存的请求就发来,先去缓存中查询,发现是空,然后去数据库中查,然后将结果放入缓存中,然后修改库存的操作成功,导致数据库中是新数据,缓存中是旧数据。缓存穿透,大量的请求访问,查询的是数据库中不存在的数据,就会在缓存中无法命中,直接去访问数据库,数据库中也查询不到,自然无法将结果写入缓存,下一秒又有大量请求查询不存在的数据,导致数据库最终挂掉(要么系统出bug,要么黑客恶意攻击)主从刚刚连接的时候,进行全量同步;

2025-06-24 12:50:22 1147

原创 uniapp 配置devserver代理

uniapp 配置devserver代理,以实现项目中图片,音频等文件路径的重定义访问

2025-06-17 15:12:43 1494

原创 mysql5.7及以上GROUP BY报错问题

一.问题本人使用的MySql版本是8.0的当MySql5.7及以上的版本执行带有 GROUP BY 的SQL语句时可能会报错。

2025-05-12 18:50:05 923

原创 Tomcat中Web应用程序停止时为了防止内存泄漏,JDBC驱动程序被强制取消注册出现原因

06-May-2025 20:06:12.842 警告 [main] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [xxxxx-admin] 注册了JDBC驱动程序 [com.alibaba.druid.proxy.DruidDriver],但在Web应用程序停止时无法注销它。这很可能会造成内存泄漏。手动配置监听器,用来在Tomcat关闭时取消注册JDBC驱动程序,并将线程停止。

2025-05-06 22:26:08 1655

原创 Cron表达式的用法

最近几天开发东西用到了定时脚本的问题,中间隔了一段时间没有用到,再次复习一下Cron表达式的用法。Cron表达式是一种用于定义定时任务执行时间的字符串格式,广泛应用于Unix/Linux系统以及各种编程语言中。其主要用途是通过灵活的时间规则来安排任务的触发时间,从而实现自动化任务调度。?1?1-50/5LL5LW15WLW2#1注意:在Cron表达式中,要保证各个字段的取值之间没有冲突,否则定时任务可能无法按照预期执行。

2025-05-05 20:29:05 2251

原创 springboot war包tomcat中运行报错,启动过滤器异常,一个或多个筛选器启动失败。

eclipse中选中项目右键选中Properties,然后找到Libraries选项,打开Maven Dependencies,找到Springboot版本,我的是2.2.6版本的。原因分析:过滤器找不到tokenComponent绑定,其实就是@Resource注解没有把这个注入,而导致过滤器启动失败,改成@Autowired注入即可。经过多次查找,本人的问题是由于原因三和四同时引起的,文中有些内容也是网上查找的,希望能对有同样问题的小伙伴有所帮助。首先需要查看自己的Springboot项目版本。

2025-05-03 14:48:25 1850

原创 eclipse中tomcat启动日志乱码

在Eclipse中启动Tomcat时遇到日志乱码问题,通常是由于编码设置不一致导致的。

2025-05-02 15:31:54 518

原创 springboot项目tomcat中加载不了

Spring Boot项目在Tomcat中加载不了的问题可能由多种原因引起,包括打包方式不正确、依赖配置错误、启动类配置不当等。

2025-04-30 20:07:21 1160

原创 nginx部署多个vue前端项目

nginx部署多个vue前端项目

2025-04-19 14:30:54 1175

原创 Redis 修改端口号和设置密码

redis修改端口号和密码

2025-04-19 09:42:44 1657

原创 node版本过高问题

当node版本过高时,运行出现以下错误时。

2025-04-13 18:57:05 784

原创 npm上游依赖冲突问题解决

编译出现上述问题时,原因:npm 升级到 7.x以上后,会出现上游依赖冲突;–legacy-peer-deps:安装时忽略所有 peerDependencie,默认使用npm 4-6版本的安装模式,安装过程中是会跳过对等依赖项。出现上述结果说明已经编译成功,可以接下来用npm run start或者npm run dev运行项目了。解决办法是,运行npm i --legacy-peer-deps解决。

2024-12-21 14:27:29 400

原创 node项目编译运行遇到的一些问题

1.cmd命令行进入node项目的目录里面,运行npm install --registry=https://registry.npmmirror.com。#建议通过重新指定 registry 来解决 npm 安装速度慢的问题。出现上述问题时,是因为node版本大于16时,hostname没有指定。加上os.hostname=()=>"localhost"保存成功后,然后再重新运行npm run dev运行即可。出现上述内容后即为编译成功。出现上述内容说明运行成功。# 本地开发 启动项目。

2024-12-20 20:20:05 394

原创 window安装Node.js详细流程

接下来选择环境变量,在用户变量或者系统变量里新建变量NODE_SKIP_PLATFORM_CHECK,变量值为1,然后点击确定,将环境变量对话框的确定按钮关闭,使变量生效,作用是忽略平台审查。处下载二进制zip文件,下载完解压缩后替换nodejs文件夹下的内容(将nodejs文件夹下的文件删除后,复制解压缩文件夹下的内容复制到nodejs文件夹下即可)。①修改用户变量里的path变量,将默认的 C 盘下【 AppData\Roaming\npm 】修改成 【node_global】的路径,点击确定。

2024-12-19 21:11:12 7796

原创 在Windows 7上安装Node.js 14(及更高)的办法

从 https://nodejs.org/zh-cn/download/prebuilt-binaries 下载Windows 二进制文件 (.zip)。从 https://nodejs.org/zh-cn/download/prebuilt-installer下载、安装即可。执行set NODE_SKIP_PLATFORM_CHECK=1,作用是忽略平台审查。一般是解压到 C:\Program Files\nodejs\。2.下载14或更高版本的.zip文件,必须是zip。node -v试一试。

2024-12-19 11:38:29 3793 2

原创 window安装mysql详细流程

1.下载mysql安装文件mysql官网下载自己所需用的mysql版本本人下载的是8.0.39版本,本文主要通过压缩包安装mysql,msi安装模式此处就不再说明。2.下载好后的安装包解压后放到安装路径,注意路径不要包含中文3.配置环境变量新建MYSQL_HOME=E:\Program Files\mysql-8.0.39-winx64(路径为自己的mysql存放路径)path中末尾添加%MYSQL_HOME\bin4.初始化data目录。

2024-12-13 13:08:45 1508

原创 eclipse开发时遇到的问题

后来查询了好多发现是因为代码编码的问题,将提示报错的代码复制粘贴到能改变编码的编辑器中,我这边报错的是代码是GB2312的编码,然后修改为UTF-8的编码方式再次保存到代码中,报错消失,问题不算是大问题,但是有时候很困扰不容易发现问题的根源,在此记录一下希望能对遇见类似问题的有所帮助。

2024-11-29 11:30:12 285

原创 Linux安装mysql详细流程

linux安装包安装mysql详细流程

2024-11-23 13:00:57 1003

原创 linux/window上的nginx安装详细

linux/windows中nginx的安装详情

2024-11-14 15:55:23 1061 1

转载 mysql的当前存储引擎

如何查看MySQL的当前存储引擎?一般情况下,mysql会默认提供多种存储引擎,你可以通过下面的查看: 看你的mysql现在已提供什么存储引擎:mysql> show engines; 看你的mysql当前默认的存储引擎:mysql> show variables like '%storage_engine%'; 你要看某个表用了什么引擎(在显示结果里参数eng

2017-03-31 10:41:59 351

转载 windows update一直卡住:“正在此计算机上搜索更新”

参考:http://blog.163.com/smile_big/blog/static/35710579201611875333164/解决办法:管理员运行cmd,输入以下命令net stop WuAuServcd %windir%ren SoftwareDistribution SDold如果提示“存在一个重名文件,或是找不到文件” 则把已经存在的 SDold文

2017-03-22 13:36:22 7595 1

转载 linux怎样使用top命令查看系统状态

Linux系统可以通过top命令查看系统的CPU、内存、运行时间、交换分区、执行的线程等信息。通过top命令可以有效的发现系统的缺陷出在哪里。是内存不够、CPU处理能力不够、IO读写过高。top命令的第一行“top - 19:56:47 up 39 min,  3 users,  load average: 0.00, 0.00, 0.00”显示的内容依次为“系统当前时间 、系统到

2016-12-23 16:19:38 408

转载 Linux下的tar压缩解压缩命令详解

tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出

2016-12-22 18:00:01 389

转载 memcached简介及java使用方法

一、 概念Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。二、 适用场合1. 分布式应用。由于memcached本身基于分布式的系统,所以尤其适合大型的分布式系统。2. 数据库前段缓存。数据库常常是网站系统的瓶颈。数据库的大并发量访问,常常造成网站内存溢出。当然我们也可以使用h

2016-12-22 13:46:51 299

转载 JAVA MemCache 史无前例的详细讲解【转】

Memcach什么是MemcacheMemcache集群环境下缓存解决方案Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。  Memcache是danga的一个项目,最早

2016-12-22 13:37:39 339

转载 nginx学习

1 基本概念1.1 正向代理和反向代理正向代理:一般来说,我们说的代理技术就是指正向代理技术。 使用正向代理技术一般用来访问我们无法访问的服务器。正向代理服务器介于用户和目标服务器之间,比如用户A想去访问目标服务器B,但是各种原因无法直接访问,这时就可以通过使用正向代理服务器C,用户A向代理服务器C发送一个请求并指定目标服务器B,代理服务器会将请求转发给B并将获取的结果返回给用户A

2016-12-21 16:30:25 376

转载 java常见异常总结

算术异常类: ArithmeticExecption空指针异常类: NullPointerException类型强制转换异常: ClassCastException数组负下标异常: NegativeArrayException数组下标越界异常: ArrayIndexOutOfBoundsException违背安全原则异常: SecturityException文件已结束异常

2016-12-21 16:16:01 283

转载 Java中的字符串比较相等与大小

在C++中,两个字符串比较的代码可以为: (string1==string2) 但在java中,这个代码即使在两个字符串完全相同的情况下也会返回false Java中必须使用string1.equals(string2)来进行判断 补充 如果: string s1="Hello"; string s2="Hello"; 则(s1==s2)=true; 因

2016-12-21 16:10:24 755

转载 TimeUnit

public enum TimeUnitextends EnumTimeUnit 表示给定单元粒度的时间段,它提供在这些单元中进行跨单元转换和执行计时及延迟操作的实用工具方法。TimeUnit 不维护时间信息,但是有助于组织和使用可能跨各种上下文单独维护的时间表示形式。TimeUnit 主要用于通知基于时间的方法如何解释给定的计时参数。例如,如果 lock 不可用,则以下代码将在 

2016-12-21 11:06:06 451

转载 rsync同步常用命令

如果你是一位运维工程师,你很可能会面对几十台、几百台甚至上千台服务器,除了批量操作外,环境同步、数据同步也是必不可少的技能。说到“同步”,不得不提的利器就是rsync,今天就来说说我从这个工具中看到的同步的艺术。[不带任何选项]我们经常这样使用rsync:$ rsync main.c machineB:/home/userB1 只要目的端的文件内容和源端不一样,

2016-12-16 17:31:27 382 1

转载 Linux定时任务Crontab详解

今天做了个数据库的备份脚本,顺便系统得学习一下Linux下定时执行脚本的设置。Linux下的定时执行主要是使用crontab文件中加入定制计划来执行,设置比Windows稍微复杂一些(因为没有图形界面嘛),但是也不是非常复杂,基本上用过一遍就能记住了,关键是要记住/var/spool/cron这个目录。下面看一下具体的用法:     首先查看一下/etc/crontab文件: 

2016-12-16 17:25:52 354

转载 java实现定时任务的三种方法

/**  * 普通thread  * 这是最常见的,创建一个thread,然后让它在while循环里一直运行着,  * 通过sleep方法来达到定时任务的效果。这样可以快速简单的实现,代码如下:  * @author GT  *  */  public class Task1 {      public static void main(String[] args) {          // r

2016-12-15 16:43:26 304

转载 MySql-日志详解

错误日志 MySQL的错误信息是在data目录下的 错误日志本身所定义的内容本身是可以定义的 编辑配置文件,定义错误日志:log-error=/path/to/xx.err #定义是否启动错误日志的功能log-warnings={1|0} #定义是否将警告信息也记录在错误日志中默认情况下错误日志也记录以下几个方面的消息: 1、服务器启动和关闭

2016-12-15 15:37:17 489

转载 数据库优化-表拆分 .

数据库优化-表拆分 .

2016-12-14 17:38:55 328

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除