上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
摘要: Arthas 是一款线上监控诊断产品,用来做线上问题排查。详细介绍见官方文档。 安装并启动 可访问外网时 下载 arthas-boot.jar,java -jar arthas-boot.jar启动程序: $ java -jar arthas-boot.jar * [1]: 35542 [2]: 7 阅读全文
posted @ 2024-09-26 23:19 Higurashi-kagome 阅读(109) 评论(0) 推荐(0)
摘要: 基于 说清楚 PO、DTO、VO、BO 与使用场景 简介 PO(Persistent Object)/DO(Data Object):此对象与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。 DTO(Data Transfer Object):数据传输对象。Service 或 Manage 阅读全文
posted @ 2024-09-26 00:09 Higurashi-kagome 阅读(2081) 评论(0) 推荐(0)
摘要: Workspace:工作区。编写代码的区域,即工作目录(Working Directory)。 Repository:仓库区(或本地仓库、版本库)。用来保存 commit,一个 commit,就是工作区的一个历史版本。 Index / Stage:索引(或暂存区)。用来暂存生成 commit 所需的 阅读全文
posted @ 2024-09-22 09:19 Higurashi-kagome 阅读(34) 评论(0) 推荐(0)
摘要: 合并时冲突 合并时存在冲突,冲突未解决或者解决到一半不想解决了,或者解决完冲突了但是还没提交,想要回退到合并前的状态,使用git merge --abort来退出合并。 该命令会尝试恢复到合并前的状态。注意在合并前,最好把改动暂存或者提交,总之就是尽可能保持工作目录干净再合并,否则可能会有些情况不能 阅读全文
posted @ 2024-09-20 20:24 Higurashi-kagome 阅读(574) 评论(0) 推荐(0)
摘要: 原文:Github 配置 ssh key 的步骤(大白话+包含原理解释) 本文涉及 SSH 相关知识,建议先阅读 SSH 原理与运用(一):远程登录或者将其作为扩展资料。 前言 在 GitHub 上配置 ssh key 很容易,网上一大堆教程,但基本没有详细解释其原理的,为什么要配?每使用一台主机都 阅读全文
posted @ 2024-09-17 22:53 Higurashi-kagome 阅读(1554) 评论(0) 推荐(0)
摘要: 原文:SSH 原理与运用(一):远程登录 - 阮一峰的网络日志 SSH 是每一台 Linux 电脑的标准配置。 随着 Linux 设备从电脑逐渐扩展到手机、外设和家用电器,SSH 的使用范围也越来越广。不仅程序员离不开它,很多普通用户也每天使用。 SSH 具备多种功能,可以用于很多场合。有些事情,没 阅读全文
posted @ 2024-09-17 22:29 Higurashi-kagome 阅读(178) 评论(0) 推荐(0)
摘要: 原文:数字签名是什么? 文中涉及的密码学基本知识,可以参见对称加密和非对称加密的区别。 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 鲍勃把公钥送给他的朋友们——帕蒂、道格、苏珊——每人一把。 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。 鲍勃收信后,用私钥解密,就看到 阅读全文
posted @ 2024-09-17 22:28 Higurashi-kagome 阅读(40) 评论(0) 推荐(0)
摘要: 原文:TechCPP/problems/对称加密和非对称加密的区别都有那些?.md 参考:密码学笔记 密钥 对称加密/单钥加密(private key cryptography):使用同一个密钥进行加密和解密。这意味着加密方和解密方必须事先共享同一个密钥,并且保证这个密钥的安全。 非对称加密/双钥加 阅读全文
posted @ 2024-09-16 22:45 Higurashi-kagome 阅读(154) 评论(0) 推荐(0)
摘要: 原文:MySQL 8.0 Public Key Retrieval is not allowed 错误的解决方法 参考:Connection Java - MySQL : Public Key Retrieval is not allowed 在使用 MySQL 8.0 时重启应用后提示com.my 阅读全文
posted @ 2024-09-16 21:40 Higurashi-kagome 阅读(617) 评论(0) 推荐(0)
摘要: 原文:Java:双括号初始化 / 匿名内部类初始化法 参考:匿名内部类的初始化 集合的一种初始化写法 ArrayList 可以这样初始化: // 新建一个列表并赋初值 A、B、C ArrayList<String> list = new ArrayList<String>() {{ add("A") 阅读全文
posted @ 2024-09-16 20:43 Higurashi-kagome 阅读(193) 评论(0) 推荐(0)
摘要: 参考: SpringBoot 使用 MockMvc 测试 Controller MockMvc 使用教程 Java - Junit: mockMvc headers don't allow to use Cookies? 简介 通过字面理解 MockMvc 就是模拟的 MVC 环境。 MockMvc 阅读全文
posted @ 2024-09-16 12:52 Higurashi-kagome 阅读(809) 评论(0) 推荐(0)
摘要: 原文:select...for update 到底是加了行锁,还是表锁? 前言 select...for update 在 MySQL 中,是一种悲观锁的用法,一般情况下,会锁住一行数据,但如果没有使用正确的话,也会把整张表锁住。 1. 要什么要用行锁? 假如现在有这样一种业务场景:用户 A 给你转 阅读全文
posted @ 2024-09-09 22:24 Higurashi-kagome 阅读(87) 评论(0) 推荐(0)
摘要: 安装并启动 AlexanderPro/SmartContextMenu,然后在指定窗口上Ctrl + rightClick,在出现的菜单中勾选在 Alt + Tab 列表中隐藏即可。 这个程序还提供了置顶、调整透明度等功能,很实用。 阅读全文
posted @ 2024-09-07 19:28 Higurashi-kagome 阅读(251) 评论(0) 推荐(0)
摘要: 1. 代理方式 JDK 动态代理: 只支持接口代理。它通过反射机制生成一个实现了指定接口的代理类。 代理对象只能调用接口中定义的方法。 CGLib 动态代理: 通过继承方式生成代理类。它可以代理没有实现接口的类。 代理对象可以调用类中的所有方法(除了final方法)。 2. 性能 JDK 动态代理: 阅读全文
posted @ 2024-09-07 15:57 Higurashi-kagome 阅读(281) 评论(0) 推荐(0)
摘要: 原文:Spring 注解 @Resource 和 @Autowired 区别对比 @Resource 和 @Autowired 都是做 bean 的注入时使用,其实 @Resource 并不是 Spring 的注解,它的包是 javax.annotation.Resource,需要导入,但是 Spr 阅读全文
posted @ 2024-09-07 15:11 Higurashi-kagome 阅读(28) 评论(0) 推荐(0)
摘要: 原文:Maven 中 filter 的使用 参考:Maven 中 filtering 的作用是什么? 1. filtering 的使用 Maven 提供了一种过滤机制,这种机制能够在资源文件被复制到目标目录的同时,当 filtering=true 时替换资源文件中的占位符;当 filtering=f 阅读全文
posted @ 2024-09-05 00:25 Higurashi-kagome 阅读(598) 评论(0) 推荐(0)
摘要: 发现 IDEA 莫名选中当前行,具体来说,在行与行之间来回点,有时候会选中当前光标所在的行。 还以为是装了什么 plugin 导致的,最后发现是因为钉钉最近上了个 AI 助理的功能: 像上图那样取消勾选就没出现这个问题了。 阅读全文
posted @ 2024-09-02 19:50 Higurashi-kagome 阅读(219) 评论(0) 推荐(1)
摘要: 原文:9 张图总结一下 MySQL 架构 前言 目前大部分的后端开发人员对MySQL的理解可能停留在一个黑盒子阶段。 对MySQL基本使用没什么问题,比如建库、建表、建索引,执行各种增删改查。 所有很多后端开发人员眼中的MySQL如下图所示: 导致在实际工作中碰到MySQL中死锁异常、SQL性能太差 阅读全文
posted @ 2024-08-31 20:19 Higurashi-kagome 阅读(503) 评论(0) 推荐(0)
摘要: 在 VSCode 中安装好 Code Spell Checker 之后,会发现它不会给MySql、Mysql、Mybatis这样的拼写给出提示。 这是因为 Code Spell Checker 内置的字典确实认为它们是对的。可以通过设置flagWords来将这些词从内置字典中移除: // setti 阅读全文
posted @ 2024-08-31 20:13 Higurashi-kagome 阅读(358) 评论(0) 推荐(0)
摘要: 总结自:BV15k4y1k7Ep RabbitMQ 相关概念及简述中简单介绍了 RabbitMQ 提供的 6 种工作模式。下面以简单模式为例,介绍 RabbitMQ 的使用。 首先参考 CentOS7 安装及配置 RabbitMQ 或 Windows Docker 安装 RabbitMQ(包含客户端 阅读全文
posted @ 2024-08-25 15:50 Higurashi-kagome 阅读(308) 评论(0) 推荐(0)
摘要: 总结自:BV15k4y1k7Ep RabbitMQ 是一款常用的消息队列(MQ)。 什么是消息队列 MQ 全称为 Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信。 消息队列中间件是分布式系统中重要的组件,主要 阅读全文
posted @ 2024-08-25 15:49 Higurashi-kagome 阅读(50) 评论(0) 推荐(0)
摘要: 主要总结自:Centos7 安装 RabbitMQ 1、下载 Erlang 和 RabbitMQ 由于RabbitMQ使用的是Erlang语言开发的,因此在安装RabbitMQ之前需要安装Erlang环境,Erlang与RabbitMQ的下载地址分别为: Erlang:https://github. 阅读全文
posted @ 2024-08-25 11:15 Higurashi-kagome 阅读(1969) 评论(0) 推荐(0)
摘要: 原文:MySQL 慢查询日志总结 MySQL 的慢查询日志是 MySQL 提供的一种日志记录,它用来记录在 MySQL 中响应时间超过阀值的语句,具体指运行时间超过 long_query_time 值的 SQL,则会被记录到慢查询日志中。long_query_time 的默认值为 10,意思是运行 阅读全文
posted @ 2024-08-23 10:43 Higurashi-kagome 阅读(93) 评论(0) 推荐(0)
摘要: 原文:消息队列作用(解耦、异步、削峰)图详解 一、消息队列简介 简单来说,“消息队列”是在消息的传输过程中保存消息的容器。 MQ 全称为 Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信。 消息传递指的是程序之 阅读全文
posted @ 2024-08-22 23:40 Higurashi-kagome 阅读(620) 评论(0) 推荐(0)
摘要: 远程监控参数 启动 JVM 时添加以下参数以启用 JMX(Java Management Extensions)监控: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=PORT_NUMBER -Dcom.sun.m 阅读全文
posted @ 2024-08-20 09:57 Higurashi-kagome 阅读(183) 评论(0) 推荐(0)
摘要: 背景 单体服务部署到 Tomcat 之后,运行一段时间,出现系统响应超时的情况。重启服务后正常,一段时间后重新出现。 排查 查看 CPU 信息发现正常,打开 jvisualvm,发现线程数持续上升,且没有下降趋势,此时初步判断系统在某个地方卡住了,请求进来后处理任务的线程都处于等待状态。 在 jvi 阅读全文
posted @ 2024-08-19 10:04 Higurashi-kagome 阅读(1250) 评论(0) 推荐(0)
摘要: 原文:使用 JMeter 进行压力测试 一、前言 压力测试是每一个 Web 应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测试是一个非常重要的步骤,下面我带大家来使用一款压力测试工 阅读全文
posted @ 2024-08-18 19:18 Higurashi-kagome 阅读(233) 评论(0) 推荐(0)
摘要: 原文(部分完善):Java:线程的六种状态及转化 java.lang.Thread.State枚举类中定义了六种线程的状态,可以调用线程 Thread 中的getState()方法获取当前线程的状态。 线程状态 解释 NEW 尚未启动的线程状态,即线程创建,还未调用 start 方法 RUNNABL 阅读全文
posted @ 2024-08-18 10:58 Higurashi-kagome 阅读(75) 评论(0) 推荐(0)
摘要: 参考:Fix "Cannot find a valid baseurl for repo" in CentOS - DEV Community 背景 由于 CentOS 7 镜像被移动到 vault。当执行 yum 时,会报错“Cannot find a valid baseurl for repo 阅读全文
posted @ 2024-08-13 22:27 Higurashi-kagome 阅读(1600) 评论(0) 推荐(0)
摘要: 总结自:10 分钟彻底搞懂“动态规划”算法 下面用实例讲解什么是动态规划算法(Dynamic Programming,DP)。 首先我们来看一个经典的动态规划问题。 输入一个无序的数组,要求找出其中最长的递增的子序列。 如:对于[1, 5, 2, 4, 3],其最长递增子序列为1,2,4、1,2,3 阅读全文
posted @ 2024-07-21 17:02 Higurashi-kagome 阅读(199) 评论(0) 推荐(0)
摘要: 摘自:《Java 编程的逻辑》 Java 并发包中的提供了显式锁,它可以解决 synchronized 的一些限制。 Java 并发包中的显式锁接口和类位于包 java.util.concurrent.locks 下,主要接口和类有: ❑ 锁接口 Lock,主要实现类是 ReentrantLock; 阅读全文
posted @ 2024-07-13 18:53 Higurashi-kagome 阅读(310) 评论(0) 推荐(0)
摘要: 基于最浅显易懂的 KMP 算法讲解总结 KMP 算法是一个经典的字符串匹配算法。字符串匹配是一个非常基本的操作,也就是在一个字符串中寻找另一个子串。 暴力解法 最容易想到的解法是一种暴力匹配的算法,比如一个字一个字地与子串进行比对,一旦匹配失败,就跳回主串中的下一个字符,重新开始匹配。 这个算法的原 阅读全文
posted @ 2024-07-11 14:54 Higurashi-kagome 阅读(7710) 评论(0) 推荐(4)
摘要: 基于:Java 线程池七个参数详解 参考:为什么使用线程池,参数解释、《Java 编程的逻辑》- 马俊昌、93705628 为什么用线程池 1、降低资源消耗:提高线程利用率,降低创建和销毁线程的消耗; 2、提高响应速度:任务来了,直接有线程可用可执行,而不用先创建线程,再执行; 3、提高线程的可管理 阅读全文
posted @ 2024-07-09 15:52 Higurashi-kagome 阅读(96) 评论(0) 推荐(0)
摘要: 原文:使用线程池 简介 Java 语言虽然内置了多线程支持,启动一个新线程非常方便,但是,创建线程需要操作系统资源(线程资源,栈空间等),频繁创建和销毁大量线程需要消耗大量时间。 如果可以复用一组线程: ┌─────┐ execute ┌──────────────────┐ │Task1│──── 阅读全文
posted @ 2024-07-09 15:50 Higurashi-kagome 阅读(44) 评论(0) 推荐(0)
摘要: 原文:Java 字符串拼接原理 我们知道 Java 可以直接使用加号+来拼接字符串。 字符串+拼接的本质是使用StringBuilder.append()(已在Java8测试通过),最终如果要赋值给字符串变量时,会调用toString()。 /** * 字符串追加 */ @Test public v 阅读全文
posted @ 2024-07-08 00:34 Higurashi-kagome 阅读(121) 评论(0) 推荐(0)
摘要: 原文:Java 锁消除和锁粗化 锁粗化 通常情况下,为了保证多线程间的有效并发,会要求每个线程持有锁的时间尽可能短,但是某些情况下,一个程序对同一个锁不间断、高频地请求、同步与释放,会消耗掉一定的系统资源,因为锁的请求、同步与释放本身会带来性能损耗,这样高频的锁请求就反而不利于系统性能的优化了,即使 阅读全文
posted @ 2024-07-01 15:27 Higurashi-kagome 阅读(96) 评论(0) 推荐(0)
摘要: 原文(有调整):Java 多线程系列——原子类的实现(CAS 算法)、一文彻底搞清楚 Java 实现 CAS 的原理 什么是 CAS? CAS:Compare and Swap,即比较再交换。 JDK5 增加了并发包java.util.concurrent.*,其下面的类使用 CAS 算法实现了区别 阅读全文
posted @ 2024-06-30 15:46 Higurashi-kagome 阅读(154) 评论(0) 推荐(0)
摘要: 原文:AtomicStampedReference 是怎样解决 CAS 的 ABA 问题 什么是 ABA 问题 CAS即compareAndSwap,是实现并发算法时常用到的一种技术。在 Java 中使用Unsafe类提供的 native 方法可以直接操作内存,其中就有对compareAndSwap 阅读全文
posted @ 2024-06-30 15:45 Higurashi-kagome 阅读(136) 评论(0) 推荐(0)
摘要: 原文(部分调整):MYSQL | 最左匹配原则 最左匹配原则 最左匹配原则就是指在联合索引中,如果你的 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配。例如某表现有索引 (a,b,c),索引利用情况如下: select * from t wher 阅读全文
posted @ 2024-06-28 18:57 Higurashi-kagome 阅读(190) 评论(0) 推荐(0)
摘要: 原文:五分钟搞懂 MySQL 索引下推 什么是索引下推 索引下推 (Index Condition Pushdown,简称 ICP),是 MySQL 5.6 版本的新特性,它能减少回表次数,提高查询效率。 索引下推优化的原理 我们先简单了解一下 MySQL 大概的架构(了解更多): MySQL Se 阅读全文
posted @ 2024-06-28 16:14 Higurashi-kagome 阅读(101) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页