随笔分类 - 计算机
摘要:原文:TechCPP/problems/对称加密和非对称加密的区别都有那些?.md 参考:密码学笔记 密钥 对称加密/单钥加密(private key cryptography):使用同一个密钥进行加密和解密。这意味着加密方和解密方必须事先共享同一个密钥,并且保证这个密钥的安全。 非对称加密/双钥加
阅读全文
摘要:原文:MySQL 8.0 Public Key Retrieval is not allowed 错误的解决方法 参考:Connection Java - MySQL : Public Key Retrieval is not allowed 在使用 MySQL 8.0 时重启应用后提示com.my
阅读全文
摘要:原文:Java:双括号初始化 / 匿名内部类初始化法 参考:匿名内部类的初始化 集合的一种初始化写法 ArrayList 可以这样初始化: // 新建一个列表并赋初值 A、B、C ArrayList<String> list = new ArrayList<String>() {{ add("A")
阅读全文
摘要:参考: SpringBoot 使用 MockMvc 测试 Controller MockMvc 使用教程 Java - Junit: mockMvc headers don't allow to use Cookies? 简介 通过字面理解 MockMvc 就是模拟的 MVC 环境。 MockMvc
阅读全文
摘要:原文:select...for update 到底是加了行锁,还是表锁? 前言 select...for update 在 MySQL 中,是一种悲观锁的用法,一般情况下,会锁住一行数据,但如果没有使用正确的话,也会把整张表锁住。 1. 要什么要用行锁? 假如现在有这样一种业务场景:用户 A 给你转
阅读全文
摘要:1. 代理方式 JDK 动态代理: 只支持接口代理。它通过反射机制生成一个实现了指定接口的代理类。 代理对象只能调用接口中定义的方法。 CGLib 动态代理: 通过继承方式生成代理类。它可以代理没有实现接口的类。 代理对象可以调用类中的所有方法(除了final方法)。 2. 性能 JDK 动态代理:
阅读全文
摘要:原文:Spring 注解 @Resource 和 @Autowired 区别对比 @Resource 和 @Autowired 都是做 bean 的注入时使用,其实 @Resource 并不是 Spring 的注解,它的包是 javax.annotation.Resource,需要导入,但是 Spr
阅读全文
摘要:原文:Maven 中 filter 的使用 参考:Maven 中 filtering 的作用是什么? 1. filtering 的使用 Maven 提供了一种过滤机制,这种机制能够在资源文件被复制到目标目录的同时,当 filtering=true 时替换资源文件中的占位符;当 filtering=f
阅读全文
摘要:发现 IDEA 莫名选中当前行,具体来说,在行与行之间来回点,有时候会选中当前光标所在的行。 还以为是装了什么 plugin 导致的,最后发现是因为钉钉最近上了个 AI 助理的功能: 像上图那样取消勾选就没出现这个问题了。
阅读全文
摘要:原文:9 张图总结一下 MySQL 架构 前言 目前大部分的后端开发人员对MySQL的理解可能停留在一个黑盒子阶段。 对MySQL基本使用没什么问题,比如建库、建表、建索引,执行各种增删改查。 所有很多后端开发人员眼中的MySQL如下图所示: 导致在实际工作中碰到MySQL中死锁异常、SQL性能太差
阅读全文
摘要:总结自:BV15k4y1k7Ep RabbitMQ 相关概念及简述中简单介绍了 RabbitMQ 提供的 6 种工作模式。下面以简单模式为例,介绍 RabbitMQ 的使用。 首先参考 CentOS7 安装及配置 RabbitMQ 安装好 RabbitMQ。 模式说明 简单模式如下: 在上图的模型中
阅读全文
摘要:总结自:BV15k4y1k7Ep RabbitMQ 是一款常用的消息队列(MQ)。 什么是消息队列 MQ 全称为 Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信。 消息队列中间件是分布式系统中重要的组件,主要
阅读全文
摘要:主要总结自:Centos7 安装 RabbitMQ 1、下载 Erlang 和 RabbitMQ 由于RabbitMQ使用的是Erlang语言开发的,因此在安装RabbitMQ之前需要安装Erlang环境,Erlang与RabbitMQ的下载地址分别为: Erlang:https://github.
阅读全文
摘要:原文:MySQL 慢查询日志总结 MySQL 的慢查询日志是 MySQL 提供的一种日志记录,它用来记录在 MySQL 中响应时间超过阀值的语句,具体指运行时间超过 long_query_time 值的 SQL,则会被记录到慢查询日志中。long_query_time 的默认值为 10,意思是运行
阅读全文
摘要:原文:消息队列作用(解耦、异步、削峰)图详解 一、消息队列简介 简单来说,“消息队列”是在消息的传输过程中保存消息的容器。 MQ 全称为 Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信。 消息传递指的是程序之
阅读全文
摘要:远程监控参数 启动 JVM 时添加以下参数以启用 JMX(Java Management Extensions)监控: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=PORT_NUMBER -Dcom.sun.m
阅读全文
摘要:背景 单体服务部署到 Tomcat 之后,运行一段时间,出现系统响应超时的情况。重启服务后正常,一段时间后重新出现。 排查 查看 CPU 信息发现正常,打开 jvisualvm,发现线程数持续上升,且没有下降趋势,此时初步判断系统在某个地方卡住了,请求进来后处理任务的线程都处于等待状态。 在 jvi
阅读全文
摘要:原文:使用 JMeter 进行压力测试 一、前言 压力测试是每一个 Web 应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面我带大家来使用一款压力测试工
阅读全文
摘要:原文:Java:线程的六种状态及转化 java.lang.Thread.State枚举类中定义了六种线程的状态,可以调用线程 Thread 中的getState()方法获取当前线程的状态。 线程状态 解释 NEW 尚未启动的线程状态,即线程创建,还未调用 start 方法 RUNNABLE 就绪状态
阅读全文
摘要:参考:Fix "Cannot find a valid baseurl for repo" in CentOS - DEV Community 背景 由于 CentOS 7 镜像被移动到 vault。当执行 yum 时,会报错“Cannot find a valid baseurl for repo
阅读全文