![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA杂谈
文章平均质量分 73
JAVA杂谈
久违の欢喜
Stay hungry, Stay young
展开
-
无法删除目录(设备或资源忙)
可以看到已经没有挂载,最后就可以删除目录了。网络共享挂载导致无法删除。原创 2023-09-21 16:29:56 · 1014 阅读 · 0 评论 -
Gitlab 新项目搭建
原因就是 Gitlab 的仓库中没有 master 这个分支,而本地的仓库没有 main 分支。只需将本地仓库的 master 分支改名为 main 分支即可解决。项目名称与本地新建项目名称相同。2.拉取一下远程仓库内容;最后再重新执行第三步即可。原创 2023-07-10 10:56:42 · 1596 阅读 · 0 评论 -
ELK+Filebeat+Kafka分布式日志管理平台搭建
Logstash 是基于 JVM 的重量级的采集器,对系统的 CPU、内存、IO 等等资源占用非常高,这样可能影响服务器上的其它服务的运行。所以,Elastic NV 推出 Beats ,一个基于 Go 的轻量级采集器,对系统的 CPU、内存、IO 等等资源的占用基本可以忽略不计。虽然说,可以增加 Logstash 节点,提高每秒数据的处理速度,但是仍需考虑可能 Elasticsearch 无法承载这么大量的日志的写入。,选择想要的 Elasticsearch 版本。,选择想要的 Logstash 版本。原创 2023-03-22 17:57:22 · 1210 阅读 · 3 评论 -
Java自带JMX工具的远程连接配置
在 /data/jdk/jre/lib/management 目录下默认有一个 jmxremote.password.template 文件,首先重命名 为 jmxremote.password。启动 JConsole 时,只需在命令行中输入 jconsole 即可,然后输入配置的信息登录。添加用户之后,还需要使用如下命令使对 jmxremote.password 文件的修改生效。启动 JConsole 时,只需在命令行中输入 jmc 即可,然后输入配置的信息登录。点击完成,连接成功。原创 2023-03-17 16:14:46 · 2637 阅读 · 0 评论 -
关于最左前缀原则“失效”的理解
最左前缀原则原创 2023-02-07 22:24:46 · 257 阅读 · 0 评论 -
一次由 select * 走了索引而引发的思考
select * 走索引原创 2022-08-27 15:30:47 · 1624 阅读 · 2 评论 -
Explain信息中Extra字段解释
explain原创 2022-08-04 10:22:33 · 867 阅读 · 0 评论 -
springboot + dubbo 整合 zipkin 实现链路追踪
链路追踪原创 2022-08-01 15:48:18 · 1687 阅读 · 2 评论 -
springboot 整合 dubbo 实现分组聚合
dubbo原创 2022-07-20 19:40:55 · 664 阅读 · 0 评论 -
springboot 整合 dubbo 的简单实现
springboot 整合 dubbo 的简单实现原创 2022-06-29 20:18:06 · 355 阅读 · 0 评论 -
dubbo-admin 的安装
dubbo-admin 安装原创 2022-06-29 16:20:26 · 581 阅读 · 0 评论 -
RabbitMQ 的死信交换机和备份交换机
RabbitMQ 的死信交换机和备份交换机原创 2022-06-23 21:01:40 · 825 阅读 · 0 评论 -
RabbitMQ 如何避免消息重复消费?
RabbitMQ 如何避免消息重复消费?原创 2022-06-23 19:41:33 · 18068 阅读 · 11 评论 -
线上诊断神器-Arthas 实践
线上诊断神器 Arthas 实践原创 2022-06-15 21:02:55 · 1361 阅读 · 1 评论 -
基于gradle和nginx实现快速部署
第一步:build.gradle文件配置 # 服务器IP、用户名和密码 remotes { deployServer { host = '10.0.0.4' user = 'root' password = 'root' } } # 绝对路径 def remoteDir = '/data/project' # 启动脚本 def sh = 'start.sh'原创 2021-03-06 17:33:59 · 830 阅读 · 0 评论 -
基于SpringBoot和ShardingSphere实现分库分表
文章目录基于SpringBoot和ShardingSphere分库分表实战构建项目依赖创建数据库表编写实体类yml 文件配置编写 dao 文件编写测试用例验证基于SpringBoot和ShardingSphere分库分表实战构建项目依赖pom 文件如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3原创 2022-05-16 20:53:14 · 799 阅读 · 0 评论 -
计算机网络 | 一文搞懂什么是TCP/IP协议
文章目录计算机网络 | 一文搞懂什么是TCP/IP协议什么是TCP/IP协议?TCP/IP 的分层管理为什么要分层呢?TCP与UDP问题汇总计算机网络 | 一文搞懂什么是TCP/IP协议什么是TCP/IP协议?计算机与网络设备之间如果要相互通信,双方就必须基于相同的方法.比如如何探测到通信目标.由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定.不同的硬件,操作系统之间的通信,所有这一切都需要一种规则.而我们就将这种规则称为协议(protocol).也就是说,TC转载 2022-05-11 10:18:14 · 166 阅读 · 0 评论 -
Canal通过Kafka实现MySQL与Redis同步
文章目录Canal通过Kafka实现MySQL与Redis同步Zookeeper 安装Kafka 安装修改 Canal 文件配置编写实体类和 Kafka 消费者验证Canal通过Kafka实现MySQL与Redis同步Docker 环境安装、MySQL 安装、Redis 安装、Canal 安装、MySQL文件配置和 Canal 文件配置请移步 Canal通过TCP实现MySQL与Redis同步 查看。Zookeeper 安装下载 Zookeeper3.7.0 的 docker 镜像:doc原创 2022-05-10 09:56:11 · 883 阅读 · 0 评论 -
sql查询--比较left join、join和子查询的性能
比较情况1:left join和join的比较假设情景:存在A,B,C三个表1.当sql查询的业务需求是:查询A,B,C三个表部分数据的结果集在这种情况下,往往需要设置一个主表,比如设置表A为主表,然后用left join关联B表和C表。2.当sql查询的业务需求是:查询A,B,C三个表的匹配数据为结果集上述业务需求即查询A,B,C三个表交集为结果集,这种情形应该join的效率优于left join,因为left join 两表之间不会自动选择小表驱动大表但是inner join 会自动选择。比原创 2020-09-21 16:02:09 · 12207 阅读 · 6 评论 -
本地mysql忘记密码后的修改办法
修改本地mysql密码进入本地MySQL安装路径输入cmd,然后enter,打开命令行窗口关闭服务,在命令行窗口输入net stop mysqlmysqld --console --skip-grant-tables --shared-memory按步骤1打开新的命令行窗口,输入以下命令mysql -u root -p #回车,不输入密码,直接回车use mysqlupdate user set authentication_string='' where user='roo原创 2020-12-28 15:51:55 · 104 阅读 · 0 评论 -
MySQL创建触发器遇到的问题
问题描述:创建触发器的语句和报错信息问题原因和解决方案:仔细检查很久,并没有发现创建触发器的语句有什么问题。然后去MySQL官网查看,看到这段说明:如官网这段文字所述,使用BEGIN … END构造,如果使用mysql程序定义执行多个语句的触发器,则必须重新定义mysql语句定界符。因SQL语句中存在分号 “;”,而MySQL默认的定界符也是分号,故容易出现符号混淆,导致MySQL语句执行异常。创建触发器的正确语句注:因为该触发器已存在,故而执行后提示“Trigger alread.原创 2021-04-08 10:42:22 · 3997 阅读 · 2 评论 -
Redis为什么那么快?
文章目录前言一、Redis为什么那么快?二、“快”因之一:基于内存1.引入库2.读入数据三、“快”因之二:I/O多路复用模型四、“快”因之三:单线程模型五、“快”因之四:高效的数据结构六、“快”因之五:合理的数据编码前言根据Redis官方数据可知,Redis的QPS(每秒请求数)可以达到每秒10万。横轴为连接数,纵轴为QPS。一、Redis为什么那么快?二、“快”因之一:基于内存1.引入库代码如下(示例):import numpy as npimport pandas as pd原创 2021-04-13 15:09:08 · 3461 阅读 · 2 评论 -
java连接腾讯云轻量应用服务器redis
连接腾讯云应用服务器redis分为三步:第一步:打开轻量应用服务器的防火墙,添加防护墙哦规则,端口设为6379(redis默认端口)第二步:打开配置文件redis.conf,修改“bind 127.0.0.1”(默认)为“bind 0.0.0.0”,保存后重启redis第三步:编写Java测试代码并启动...原创 2020-12-03 11:24:45 · 478 阅读 · 0 评论 -
redis在线扩容(Pre-Sharding方法)
原理说明:Pre-Sharding方法是将每一个台物理机上,运行多个不同端口的Redis实例,假如有三个物理机,每个物理机运行三个Redis实例,那么我们的分片列表中实际有9个Redis实例,当我们需要扩容时,增加一台物理机来代替9个中的一个redis。这样做,相当于单独分离出来并且将数据一起拷贝给新的服务器。值得注意的是,还需要修改客户端被代替的redis的IP和端口为现在新的服务器,只要顺序不变,不会影响一致性哈希分片。拆分过程如下:1.在新机器上启动好对应端口的Redis实例。2.配置.原创 2021-01-21 14:53:12 · 801 阅读 · 0 评论 -
Redis的缓存穿透、缓存击穿和缓存雪崩及其解决方案
Redis的缓存穿透、缓存击穿和缓存雪崩及其解决方案1. 缓存穿透(查询不存在的数据所致)用户查询一个数据,发现缓存中没有(key不存在或者key已经过期),也就是缓存没有命中。于是去数据库中查询,发现也没有(如果有,会将查询到的对象放进缓存,则不会发生缓存穿透)。当用户很多的时候,缓存都没有命中,于是都去请求了数据库,给数据库造成很大的压力。解决方案:1)设置拦截器将所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃。2)布隆过滤器将所有可能存在的数据哈希到一个足够原创 2020-12-30 17:46:03 · 258 阅读 · 0 评论 -
SpringBoot中使用RabbitMQ开发详细教程
RabbitMQ简介:RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。RabbitMQ与其他消息中间件相比的优势:ActiveMQ是老牌消息中间件,支持丰富的API,但不支持高并发,适合中小型企业。Kafka追求高吞吐量,不支持事务,对消息的重复、丢失、错误没有严格要求,适合产生原创 2020-12-25 11:33:39 · 614 阅读 · 0 评论 -
Seata-彻底解决Spring Cloud中的分布式事务问题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-03-19 15:58:15 · 1246 阅读 · 3 评论 -
Canal通过TCP实现MySQL与Redis同步
Canal通过TCP实现MySQL与Redis同步Canal通过TCP实现MySQL与Redis同步Docker环境安装安装yum-utils:yum install -y yum-utils device-mapper-persistent-data lvm2为yum源添加docker仓库位置:yum-config-manager --add-repo https://do...原创 2022-04-22 21:08:01 · 2406 阅读 · 0 评论 -
class 常量池、字符串常量池和运行时常量池的区别
文章目录class 常量池、字符串常量池和运行时常量池的区别概念常量池(Constant Pool)字符串常量池(String Pool)运行时常量池( Runtime Constant Pool )总结方法区的 class 文件信息,class 常量池和运行时常量池的三者关系方法区 class 文件信息class常量池运行时常量池class文件常量池和运行时常量池的关系以及区别总结class 常量池、字符串常量池和运行时常量池的区别概念常量池(Constant Pool)常量池(Constan原创 2022-03-29 11:36:42 · 1421 阅读 · 1 评论 -
强引用,软引用,弱引用和虚引用的说明
强引用,软引用,弱引用和虚引用的说明概述从 JDK1.2 版本开始,把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用→软引用→弱引用→虚引用。具体说明强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出 OutOfMemoryError 错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足问题。软引用(SoftReference)原创 2022-01-19 17:12:19 · 210 阅读 · 0 评论 -
try-with-resources语句的官方解释和示例
原文链接http://javapapers.com/core-java/try-with-resources/Summary(概述)Java 7 gave us try-with-resources, a nice feature on exception handling. This tutorial is part 3 of the exception handling series. Part I is about basics of exception handling. Part II i原创 2022-01-19 10:32:53 · 5199 阅读 · 0 评论 -
UML类图及类图之间的关系
UML类图及类图之间的关系在 UML 2.0 的 13 种图中,类图(Class Diagrams)是使用频率最高的 UML 图之一。类图描述系统中的类,以及各个类之间的关系的静态视图,能够让程序员在正确编写代码之前对系统有一个全面的认识。类图是一种模型类型,确切地说,是一种静态模型类型。类图表示类、接口和它们之间的协作关系,用于系统设计阶段。类、接口和类图类类(Class)是指具有相同属性、方法和关系的对象的抽象,它封装了数据和行为,是面向对象程序设计(OOP)的基础,具有封装性、继承性和多态性等原创 2022-01-05 17:46:55 · 2554 阅读 · 0 评论 -
HTTP常见的三种状态码(400 / 404 / 500)
HTTP常见的三种状态码(400 / 404 / 500)1.400-服务器不理解请求的语法400 是 HTTP 的状态码,主要有两种形式:1)bad request 意思是 “错误的请求”。2)invalid hostname 意思是 “不存在的域名”。原因:前端提交的字段名称或者字段类型和后台的实体类不一样,或者前端提交的参数跟后台需要的参数个数不一致,导致无法封装。2.404-服务器无法根据客户端的请求找到资源(网页)原因:前端调用的URL不存在3.500-服务器内部错误,无法完成请求原创 2020-12-10 18:10:29 · 4410 阅读 · 0 评论