- 博客(111)
- 资源 (19)
- 收藏
- 关注
转载 MySQL-Explain详解
当from中有子查询时,table列的格式为,表示当前查询依赖id=N行的查询,所以先执行id=N行的查询,如上面select_type列图4所示。ref:相比eq_ref,不使用唯一索引,而是使用普通索引或者唯一索引的部分前缀,索引和某个值比较,会找到多个符合条件的行。id列的编号是select的序列号,有几个select就有几个id,并且id是按照select出现的顺序增长的,id列的值越大优先级越高,id相同则是按照执行计划列从上往下执行,id为空则是最后执行。
2023-03-23 17:16:12 257
原创 更改linux时区、时间
第三种情况,如果时区时间差12小时,首先将硬件时区时间,与系统时间保持一致,然后执行上面两种方法一种,即可!第一种情况,Time zone时区为当前所在区域时区,且RTC in local TZ :no。设置硬件时钟为UTC时间:timedatectl set-local-rtc 0。设置硬件时钟为本地时间:timedatectl set-local-rtc 1。修改系统日期与时间date -s "2022-01-23 10:25:25"然后查看:RTC状态是否为,yes,如果为yes修改成no。
2023-03-03 10:13:25 1401 1
原创 centos系统/dev/mapper/centos-root目录被占满的解决方式
好在之前把虚拟机备份了,这足以说明备份的重要性,现在能有心情来写文的我得益于之前那个备份了虚拟机的我,感恩呐。找到占用最多的文档,并进入文档,再执行du -h -x --max-depth=1,查看占用内存的文档,删除不必要的文件。使用 du -h -x --max-depth=1 查看哪个目录占用过高,对于过高目录中的内容适当删减腾出一些空间。可以看到当前是./cache文件占用内存最多,这是我扩容及删除文件之后的占用情况,在之前是文档占用最多。,也会是强制性的进入安全模式,不让写数据。
2023-02-28 09:43:32 1511
原创 idea中jar包明明存在,却报jar包不存在异常的完整处理过程
之前构建源码的时候就出现了这种明明jar包存在,却报找不到jar异常的问题,当时也是解决了很长时间发现把impl文件删除重新生成,才解决。因为像这样的问题,再网上没有一个明确的答案,因为每个人遇到的问题不一样,处理的方式也不一样。最近在导入别人代码的时候又遇到了这样的异常,但是我发现按照原先的方法解决不了这个问题。最后又是花费了很长时间才解决。由此就把所有的解决方式都记录一遍,方便你我他在这个问题上能够及时解决。
2022-11-14 13:58:21 2868
原创 一种CPU占用过高的故障定位分析方法
本文将从四个步骤进行分析,快速定位问题所在,从应用程序的进程入手到具体线程再到应用程序的具体代码,从整体到局部,化繁为简,层层深入,为读者提供了一种线上快速定位排查故障的思路和手段。本文阐述了一种CPU占用过高的故障定位方法及思路,文中采用四步分析法进行排查和定位,旨在提供一种快速解决线上CPU占用过高故障的定位方法和思路,通过该方法可以巧妙快速地排查故障,为线上排查故障节省了时间。(2)该程序为一个java程序占用CPU百分比为100.3,内存为0.5%,该java进程ID为11911。
2022-11-10 13:57:21 903
原创 idea maven有资源包但是依然报错不存在
包加载的原因,在idea的Terminal里或者项目根目录下 运行 :mvn idea:module。这个命令 等等重新构建即可。
2022-11-09 10:22:13 1445
原创 别再张口闭口高并发海量数据了,Spring这些东西都会了吗?
Spring 配置文件中 bean 标签的 id 和类的全限定名一一对应,所以 Spring 工厂的 getBean 方法其实就是先根据 bean 的 id 获取该类的全限定名,然后再利用反射根据类的全限定名创建对象并返回。2.在这个类中,我们创建了三个方法,其中 @Before 注解标注的方法表示在目标方法操作前执行。额外功能作用在不同的类上面,我们都知道点连接起来构成面,所以不同的切入点连接起来构成了切面,这个切面就像刀切西瓜一样切在不同的类上面,所以额外功能就对这些类中的方法起了作用。
2022-09-20 16:11:09 337
原创 扔掉工具类!MyBatis 一个简单配置搞定加密、解密,不能太方便了~!
在我们数据库中有些时候会保存一些用户的敏感信息,比如:手机号、银行卡等信息,如果这些信息以明文的方式保存,那么是不安全的。假如:黑客黑进了数据库,或者离职人员导出了数据,那么就可能导致这些敏感数据的泄漏。我们有一张客户表customer,里面有客户手机号(phone)和客户地址(address)等字段,其中客户手机号(phone)是需要加密保存到数据库中的。从测试结果中可知,添加数据时,需要加密的数据(phone)在数据库中已经加密了,在查询的时候,加密的数据已经自动解密了。SQL中没有什么特殊的写法。
2022-09-14 09:35:03 222
原创 线程池的使用
我本以为只是几百条数据,结果在对接时才发现,对方的数据量都是上万级别的批量数据导入。我们平时开发使用时,一般都是使用Java原生的线程池API,也就是ThreadPoolExecutor来创建线程。所以,今天我就给大家安排一下,满足粉丝们的要求,给大家讲一下之前我在项目中使用线程池的一些经验。我的代码中不仅使用了线程池,而且用到了设计模式,这里用的是单例设计模式,而且还是基于IoDH实现的。那么上述代码中的线程池,是怎么处理线程任务的呢?我们想要在项目中使用线程池,就必须要知道线程池是啥、咋用?
2022-09-09 14:33:40 308
原创 docker部署服务,ip无法访问,服务正常
背景今日,使用docker部署应用的时候,无法使用IP地址访问,防火墙已经关闭,可以ping通,应用已经配置0.0.0.0解决经过查阅资料。学习网络传输中有一个net.ipv4.ip_forward的参数主要是目的是 当linux主机有多个网卡时一个网卡收到的信息是否能够传递给其他的网卡 如果设置成1 的话 可以进行数据包转发 可以实现VxLAN 等功能.发现没有值,而且net.ipv4.ip_forward=0,不能转发ip,于是猜测是这个问题。添加参数使其生效。
2022-09-09 14:20:22 3604 1
原创 手把手教你 Jenkins 自动部署 SpringBoot 多模块应用
一周时间里,也有不少朋友通过微信在和我交流Jenkins的一些问题,期间有一个朋友反馈到多模块部署的一个问题,说我上文中写的脚本,;什么意思呢?举个例子,假如一个项目,分了10个小模块,类似于下图:本次修改,只是模块①修复了1个Bug,其他9个都没有变动,那么编译打包整个项目之后,也只需要更新模块①即可,其他的9个模块完全可以不做任何操作,要做到这一需求,就需要在这10个模块中找出那些模块更新了,那些没有更新;;但这是一个方案,是有问题的,下面就一起来分析一下问题点和原因;...
2022-08-29 19:21:13 2531
原创 还在手动发包?手把手教你 Jenkins 自动化部署SpringBoot
pipeline,即流水线,是jenkins2.X的新特性,是jenkins官方推荐使用的持续集成方案。与传统的自由风格项目不同,它是通过编写代码来实现。相比于之前用户只能通过Web界面进行配置的方式来定义Jenkins任务,现在通过使用和Groovy语言编写程序,用户可以定义流水线并执行各种任务。虽然花了这么长的篇幅来写这个教程,但也只是讲解了一些最基本,最常用的功能;...
2022-08-29 19:19:53 735 2
原创 idea 报错java程序包不存在,但实际并未有异常
百度找了许多文档,百度了一个办法,就是在 Setting-maven-running 中勾选上 Delegate IDE build/run actions to Maven ,设置完成之后确实解决了那个错误。后来在文档中找到了一个命令:在 idea 命令行中输入 mvn idea:idea 重构一下,即可解决问题。在此记录并分享作者心血。但是发现每次一调整内容就一直在打包,很奇怪。配置哪里存在问题,取消勾选,继续学习调查。...
2022-08-18 14:15:47 3261
原创 Nacos与Eureka的区别
如果是临时实例的话,短期内没有发送心跳,则会直接剔除。但是如果是非临时实例长时间宕机,不会直接剔除,并且注册中心会直接主动询问并且等待非临时实例。(1)Eureka会定时向注册中心定时拉去服务,如果不主动拉去服务,注册中心不会主动推送。(1)Eureka中会定时向注册中心发送心跳,如果在短期内没有发送心跳,则就会直接剔除。(2)Nacos中注册中心会定时向消费者主动推送信息 ,这样就会保持数据的准时性。Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式。...
2022-08-04 15:39:55 215
原创 为什么重写equals方法,还必须要重写hashcode方法,重写equals()和hashCode()方法实例
但是两个equals值相等,hashCode一定相等。两个值hashCode值相等,这两不一定相等。alt+insert可以生成两个方法,依次改动。重写equals必需重写hashCode。
2022-08-04 14:44:32 319
原创 springcloud阿里巴巴五大组件
服务限流降级:默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。服务注册与发现:适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。......
2022-08-04 14:13:56 4133
原创 图解Kafka,看本篇就足够啦!
Kafka是主流的消息流系统,其中的概念还是比较多的,下面通过图示的方式来梳理一下Kafka的核心概念,以便在我们的头脑中有一个清晰的认识。上面Topic的描述中,把Topic看做了一个队列,实际上,一个Topic是由多个队列组成的,被称为【Partition(分区)】。消息在不同的Partition是不能保证有序的,只有一个Partition内的消息是有序的。生产者发送消息的时候,这条消息会被路由到此Topic中的某一个Partition。...
2022-08-02 14:18:06 303
原创 Kafka在SpringBoot中的实践
Kafka作为一种高吞吐量的分布式发布订阅消息系统,目前已经越来越被广泛的应用。这里介绍下如何在SpringBoot下集成、应用。
2022-08-02 14:08:45 533
原创 navicat升级后,失效,重新ok,navicat彻底卸载
倒叙展开(因为一般都在最后几个文件夹中)每一个文件夹,如果只包含一个名为Info的文件夹,就删除整个文件夹(只有一个带有info的文件夹,找到删了就不用再找了);,将Registration15XCS文件夹和Update文件夹删;4、全部找完并删完后,启动软件即可。1、首先关闭nacicat,,确认后打开注册表编辑器;删除这个D2D4B****...
2022-08-01 16:13:13 2248 1
原创 Kafka(Go)教程(一)---通过docker-compose 安装 Kafka
Kafka是由Apache软件基金会旗下的一个开源消息引擎系统。使用docker-compose来部署开发环境也比较方便,只需要提准备一个yaml文件即可。Kafka系列相关代码见Github。
2022-07-29 16:16:27 1196
原创 关于编译安装nginx出现./configure: error: SSL modules require the OpenSSL library.问题的解决方法
7,原生openssl版本是1.0.2k,已经对openssh和openssl做了编译安装,现在的版本是openssh8.3p1,openssl1.1.1g。如上图,如果先升级openssl,再编译安装nginx,需要带上openssl源码路径,注意,是因为服务器是新的,先编译安装的nginx,后升级的openssl。如果已经安装了openssl,但是仍然出现这个错误,如下图。,需要在执行./configure命令之前安装。是openssl源码路径。是不带其他条件,如下。...
2022-07-21 16:25:14 5725
原创 IP地址,netmask 子网掩码、gateway 默认网关,dns-nameserve域名服务器总结
IP地址,netmask子网掩码、gateway默认网关,dns-nameserve域名服务器总结一、IP地址二、netmask子网掩码三、gateway默认网关四、dns-nameserve域名服务器。
2022-07-19 16:28:00 1397
转载 设计模式之模板方法模式(附应用举例实现)
1 模板方法模式介绍在软件开发中,某个方法的实现需要多个步骤,其中有些步骤是固定的,而有些步骤并不固定,存在可变性。为了提高代码的复用性和系统的灵活性,可以使用一种称为模板方法模式(Template Method Pattern)的设计模式来对这类情况进行设计。在模板方法模式中将实现功能的每一个步骤所对应的方法称为基本方法,而将调用这些基本方法同时定义基本方法的执行次序的方法称为模板方法。模板方法模式定义一个操作中算法的框架,而将一些步骤延迟到子类中。模板方法模式使得子类可以不改变一个算法的结构即可重定义
2022-06-18 14:48:15 1490
原创 Studio 3T for MongoDB
第一种新建txt文件并copy以下内容:重命名为studio3t.bat。移动至:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp放在开始菜单启动项中,该程序就会开机自动启动。本人后面的路径为中文,如图。现在的话就先双击执行重置吧。退出后可以正常打开Studio 3T了。可以看到14天试用期重置了。之后就不用手动启动studio3t.bat了。单击开始菜单,找到“Windows系统”里面的“命令提示符”,右键单击选择
2022-06-11 17:23:38 1025
原创 注册表删除方式解决Navicat到期问题
1.关闭Navicat程序。2.键盘按键win+R,输入regedit调出Windows系统注册表。3.删除HKEY_CURRENT_USER\SOFTWARE\PremiumSoft\Data:4.展开HKEY_CURRENT_USER\SOFTWARE\Classes\CLSID,然后展开每一个子文件夹查看,如果里面只包含一个名为Info的文件夹,就删掉它:...
2022-05-31 16:12:44 10716 1
原创 数据库事务隔离级别-脏读-不可重复读等区别
二、事务的并发问题 1、脏读:事务A读取了事务B更新的数据,然后B回滚操作,那么A读取到的数据是脏数据 2、不可重复读:事务 A 多次读取同一数据,事务 B 在事务A多次读取的过程中,对数据作了更新并提交,导致事务A多次读取同一数据时,结果 不一致。 3、幻读:系统管理员A将数据库中所有学生的成绩从具体分数改为ABCDE等级,但是系统管理员B就在这个时候插入了一条具体分数的记录,当系统管理员A改结束后发现还有一条记录没有改过来,就好像发生了幻觉一样,这就叫幻读。
2022-05-14 11:18:01 526
原创 为什么mysql默认的事务隔离级别是repeatable read?
这个是有历史原因的,当然要从我们的主从复制开始讲起了!主从复制,是基于什么复制的?是基于binlog复制的!这里不想去搬binlog的概念了,就简单理解为binlog是一个记录数据库更改的文件吧~binlog有几种格式?OK,三种,分别是statement:记录的是修改SQL语句 row:记录的是每行实际数据的变更 mixed:statement和row模式的混合那Mysql在5.0这个版本以前,binlog只支持STATEMENT这种格式!而这种格式在读已提交(Read Commited)这个
2022-05-14 10:30:10 1579
原创 Docker安装部署MinIO
minio部署docker 安装minio1.拉取镜像docker pull minio/minio:RELEASE.2022-05-08T23-50-31Z2.运行镜像安装注意事项:MINIO_ROOT_PASSWORD 最少应该是8位,MINIO_ROOT_USER最少是3位。docker run -p 29000:9000 -p 29001:9001 --name minio -d --restart=always -v /opt/d
2022-05-09 18:03:53 652
原创 SpringBoot+Dubbo+Zookeeper搭建分布式项目实战,附项目源码已经zookeeper下载地址
项目搭建步骤:1、安装本地Zookeeper注册中心,下载地址:Apache Downloads 官网下载贼慢这也有zookeeper-3.8-Java文档类资源-CSDN下载下载完成后解压,然后打开配置拷贝一份zoo_sample.cfg,修改名称为zoo.cfg,打开zoo_.cfg,修改数据保存路径,如下图修改为本地可用路径,没有就创建对应的文件夹目录:开启zookeeper服务,如下图:2、打开IDEA开发工具,创建一个基于maven的SpringBoot...
2022-04-29 17:22:50 285
原创 docker——部署mysql数据库并初始化
1.原理当Mysql容器首次启动时,会在 /docker-entrypoint-initdb.d目录下扫描 .sh,.sql,.sql.gz类型的文件。如果这些类型的文件存在,将执行它们来初始化一个数据库。这些文件会按照字母的顺序执行。2.自定义 Dockerfile我们编写自己的Dockerfile来实现我们的需求,这里以 Mysql:5.7 为例。不同的版本可能有一定的出入,需要详细去阅读官方文档。脚本如下:FROM mysql:5.7LABEL OG=felord.cnCOPY
2022-04-29 16:34:07 3193 1
原创 使用elasticsearch-dump 数据备份和迁移
Docker 安装 docker pull elasticdump/elasticsearch-dump导出数据首先要新建一个存放数据文件的文件夹,如/tmp/data导出索引内的数据docker run --rm -ti -v /tmp/data:/tmp elasticdump/elasticsearch-dump --input=http://es_address:9200/my_index --output=/tmp/index_data.json --type=data
2022-04-24 16:26:19 6187
原创 elasticsearch查询QueryBuilders详解(es7.80)
目录1 QueryBuilders.matchQuery(“supplierName”,param)2 QueryBuilders.matchPhraseQuery(“supplierName”,param)3 QueryBuilders.matchPhrasePrefixQuery(“supplierName”,param)4 QueryBuilders.termQuery(“supplierName”,param)5 QueryBuilders.wildcardQuery(“supp
2022-04-24 10:14:14 3184
原创 docker安装elasticsearch
1、安装ElasticSearch(单节点)1.1、创建docker网络因为安装完ElasticSearch后还安装Kibana,为了让ElasticSearch和Kibana互联,因此我们得先创建一个docker网络docker network create es-net1.2、加载镜像并运行因为这里使用ElasticSearch的7.12.1版本的镜像,这个镜像特别大,接近1G,因此不建议直接pull,拉取得很慢。直接通过(load)加载jar包的形式拿到镜像,Kibana也采用同样的
2022-04-22 13:53:28 3206 1
原创 MySql 全文索引
MySql 5.6.4 之后开始支持 innodb 全文索引,之前版本只能使用MyISAMInnoDB默认的全文索引parser非常合适于Latin,因为Latin是通过空格来分词的。但对于像中文,日文和韩文来说,没有这样的分隔符。一个词可以由多个字来组成,所以我们需要用不同的方式来处理。在MySQL 5.7.6中我们能使用一个新的全文索引插件来处理它们:n-gramparser.从结果看出两个问题Q1.索引文档并没有根据汉语分词,而是根据空格分隔,比如“项目2 管理” 被分成 项目2 和
2022-04-22 13:39:33 276
GetterSetterUtil.class
2018-08-15
idea下maven+spring+springmvc+mybatis自己搭的
2018-05-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人