摘要: 摘自:《Java 编程的逻辑》 Java 并发包中的提供了显式锁,它可以解决 synchronized 的一些限制。 Java 并发包中的显式锁接口和类位于包 java.util.concurrent.locks 下,主要接口和类有: ❑ 锁接口 Lock,主要实现类是 ReentrantLock; 阅读全文
posted @ 2024-07-13 18:53 Higurashi-kagome 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 总结自:最浅显易懂的 KMP 算法讲解 KMP 算法是一个经典的字符串匹配算法。字符串匹配是一个非常基本的操作,也就是在一个字符串中寻找另一个子串。 最容易想到的解法是一种暴力匹配的算法,比如一个字一个字地与子串进行比对,一旦匹配失败,就跳回主串中的下一个字符,重新开始匹配。 这个算法的原理很简单, 阅读全文
posted @ 2024-07-11 14:54 Higurashi-kagome 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 基于:Java 线程池七个参数详解 参考:为什么使用线程池,参数解释、《Java 编程的逻辑》- 马俊昌 为什么用线程池 1、降低资源消耗:提高线程利用率,降低创建和销毁线程的消耗; 2、提高响应速度:任务来了,直接有线程可用可执行,而不用先创建线程,再执行; 3、提高线程的可管理性:线程是稀缺资源 阅读全文
posted @ 2024-07-09 15:52 Higurashi-kagome 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 原文:使用线程池 简介 Java 语言虽然内置了多线程支持,启动一个新线程非常方便,但是,创建线程需要操作系统资源(线程资源,栈空间等),频繁创建和销毁大量线程需要消耗大量时间。 如果可以复用一组线程: ┌─────┐ execute ┌──────────────────┐ │Task1│──── 阅读全文
posted @ 2024-07-09 15:50 Higurashi-kagome 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 原文:Java 字符串拼接原理 我们知道 Java 可以直接使用加号+来拼接字符串。 字符串+拼接的本质是使用StringBuilder.append()(已在Java8测试通过),最终如果要赋值给字符串变量时,会调用toString()。 /** * 字符串追加 */ @Test public v 阅读全文
posted @ 2024-07-08 00:34 Higurashi-kagome 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 原文:Java 锁消除和锁粗化 锁粗化 通常情况下,为了保证多线程间的有效并发,会要求每个线程持有锁的时间尽可能短,但是某些情况下,一个程序对同一个锁不间断、高频地请求、同步与释放,会消耗掉一定的系统资源,因为锁的请求、同步与释放本身会带来性能损耗,这样高频的锁请求就反而不利于系统性能的优化了,即使 阅读全文
posted @ 2024-07-01 15:27 Higurashi-kagome 阅读(3) 评论(0) 推荐(0) 编辑
摘要: 原文:Java 多线程系列——原子类的实现(CAS 算法)、一文彻底搞清楚 Java 实现 CAS 的原理 什么是 CAS? CAS:Compare and Swap,即比较再交换。 JDK5 增加了并发包java.util.concurrent.*,其下面的类使用 CAS 算法实现了区别于 syn 阅读全文
posted @ 2024-06-30 15:46 Higurashi-kagome 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 原文:AtomicStampedReference 是怎样解决 CAS 的 ABA 问题 什么是 ABA 问题 CAS即compareAndSwap,是实现并发算法时常用到的一种技术。在 Java 中使用Unsafe类提供的 native 方法可以直接操作内存,其中就有对compareAndSwap 阅读全文
posted @ 2024-06-30 15:45 Higurashi-kagome 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 原文:https://www.cnblogs.com/-mrl/p/13230006.html 最左匹配原则就是指在联合索引中,如果你的 SQL 语句中用到了联合索引中的最左边的索引,那么这条 SQL 语句就可以利用这个联合索引去进行匹配。例如某表现有索引 (a,b,c),现在你有如下语句: sel 阅读全文
posted @ 2024-06-28 18:56 Higurashi-kagome 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 原文:五分钟搞懂 MySQL 索引下推 什么是索引下推 索引下推 (Index Condition Pushdown,简称 ICP),是 MySQL 5.6 版本的新特性,它能减少回表次数,提高查询效率。 索引下推优化的原理 我们先简单了解一下 MySQL 大概的架构: MySQL Server 层 阅读全文
posted @ 2024-06-28 16:14 Higurashi-kagome 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 原文:MySQL 覆盖索引详解 1. 什么是索引? 索引是方便存储引擎快速找到记录的一种数据结构,通俗来说类似于书本的目录,方便快速查询书本中的内容。 2. 索引的有哪些种类? 索引的种类这里只罗列出 InnoDB 支持的索引:主键索引 (PRIMARY),普通索引 (INDEX),唯一索引 (UN 阅读全文
posted @ 2024-06-28 16:13 Higurashi-kagome 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 原文:https://blog.csdn.net/lm1060891265/article/details/81482136 聚簇索引并不是一种单独的索引类型,而是一种数据存储方式。具体细节依赖于其实现方式。 MySQL 数据库中 InnoDB 存储引擎,B+ 树索引可以分为聚簇索引(也称聚集索引, 阅读全文
posted @ 2024-06-28 15:44 Higurashi-kagome 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 总结自:解释器模式是什么?如何解析特定语言 解释器模式是一个专门用来处理语言或者解析表达式的设计模式。平时我们经常接触到的 SQL 语句和正则表达式的解析其实都用到了解释器模式。 入门案例 在讲解解释器模式之前,我们先来看一个简单的案例。 比如我们设计自己的一套语言: REPEAT 3 TIMES: 阅读全文
posted @ 2024-06-26 15:36 Higurashi-kagome 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 自 3 月 31 号回来之后,这两个月像是失去了方向一般,对很多事都提不起兴趣。 今天和 X 聊了聊,他还是以前那个熟悉的样子。 高中的时候,他是我们班里公认的第一,我们是普通班,但他有着实验班的实力,事实上,高考时他全校第三,后来去了美国留学。 他不仅学习好,而且兴趣广泛,和他相处,总能够让我看到 阅读全文
posted @ 2024-05-31 20:45 Higurashi-kagome 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 安装 Jest 和相关依赖 首先,安装 Jest 和 TypeScript 的 Jest 预处理器ts-jest以及类型定义文件。 npm install --save-dev jest ts-jest @types/jest 初始化 Jest 配置 使用ts-jest初始化 Jest 配置文件。 阅读全文
posted @ 2024-05-30 22:37 Higurashi-kagome 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 基于 Java - ThreadLocal 类的使用整理 ThreadLocal 表示线程的局部变量,当前线程可以通过 set/get 来对这个局部变量进行操作,其他线程不能对其进行访问 ThreadLocal 支持泛型,也就是支持指定 value 类型,像是ThreadLocal<Date>就是指 阅读全文
posted @ 2024-05-08 21:00 Higurashi-kagome 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 参考:Idea select maven profile sometimes not working 发现切换 profile 后没有生效。 可以进入运行配置,在Before launch中加入compile目标。 后发现可以进一步将目标提前到process-resources。 阅读全文
posted @ 2024-05-05 00:11 Higurashi-kagome 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 参考:解决复制时 class 自动改为 className 的问题 将该选项取消勾选:File=>Settings=>Editor=>General=>Smart Keys=>JavaScript=>Convert HTML when pasting into JSX files。 阅读全文
posted @ 2024-04-04 13:14 Higurashi-kagome 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 参见:View All Project Errors/Warnings 使用Code | Inspect Code可查看相关信息: 这会按所有 Inspection 配置检查代码,如下为 Inspection 配置界面: 如果只需要检查指定 Inspection,使用Code | Analyze C 阅读全文
posted @ 2024-03-31 11:11 Higurashi-kagome 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 这是因为当前 MySQL 的 sql_mode 配置中有 only_full_group_by。将这项移掉就行。 不需要考虑那么细的话,直接编辑 my.cnf 文件,将sql_mode=''加到[mysqld]配置项下,重启 MySQL。 参考:php - How to resolve "ORDER 阅读全文
posted @ 2024-03-24 13:40 Higurashi-kagome 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 原文:使用枚举替换 if/else/switch 在开发中我们经常会碰到有些场景,需要根据某个字段的不同值,去执行不同的逻辑操作,一般我们会倾向于使用 if/else 或者 switch/case 的方式,但当字段的不同值不断增加,或者各种不同值都需要执行非常多逻辑的时候,使用 if/else/sw 阅读全文
posted @ 2024-01-08 23:56 Higurashi-kagome 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 分布式、微服务与 RPC 什么是分布式?分布式就是将一个应用程序的功能拆分到多个独立的进程中,每个进程都运行在不同的机器上,通过网络连接起来,这样就形成了一个分布式的系统。 什么是微服务架构?微服务架构将应用程序拆分成一组小的服务(微服务),每个服务运行在自己的进程中,服务之间通过轻量级的通信机制互 阅读全文
posted @ 2023-12-30 19:35 Higurashi-kagome 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 有时候更新了分页数据,但分页组件没有正确渲染。 可以在组件上加 key: <el-pagination :key='pagination'></el-pagination> 每次分页数据变动时,改变 key 的值,从而重新加载分页组件。 参考:el-pagination 解决分页不更新的原因及解决方 阅读全文
posted @ 2023-11-12 00:33 Higurashi-kagome 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 脚本来自 Windows 中 Tomcat 无故宕机,如何自动重启 Tomcat,这里给脚本添加注释 @echo off rem 启用延迟变量扩展(delayed variable expansion) SETLOCAL ENABLEDELAYEDEXPANSION rem 链接 set URL=" 阅读全文
posted @ 2023-10-29 16:37 Higurashi-kagome 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 来源:ChatGPT, prompt "什么是 BEM 命名规范?", September 30, 2023, OpenAI, https://chat.openai.com. BEM(Block Element Modifier)是一种命名规范和方法,用于编写可维护且可重用的前端代码,特别是用于编 阅读全文
posted @ 2023-09-30 17:59 Higurashi-kagome 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 关闭如下选项Preferences | Appearance & Behavior | Appearance | UI Options | Enable mnemonics in menu。 参考:Many bindings using alt 阅读全文
posted @ 2023-09-29 23:05 Higurashi-kagome 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 安装依赖 npm i express mockjs nodemon body-parser --save-dev Express:Node.js Web 应用程序框架 Mock.js:模拟数据生成 nodemon:监听变化,实现热更新 body-parser:请求体解析 编写 server.js c 阅读全文
posted @ 2023-09-29 23:01 Higurashi-kagome 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 创建包含如下内容的 bat 文件: forfiles /p "." /s /m *.temp* /d -31 /c "cmd /c del @file" 它会删除当前路径下的所有以.temp结尾的超过 31 天的旧文件(详见 bat 删除当前路径指定天数前的旧文件)。 现在想每天中午 12 点定时执 阅读全文
posted @ 2023-09-29 21:54 Higurashi-kagome 阅读(1096) 评论(0) 推荐(0) 编辑
摘要: forfiles /p "." /s /m *.* /d -30 /c "cmd /c del @file" /p ".":处理当前文件夹(当前路径) /s:在子目录中搜索文件 /m *.*:匹配所有文件 /d -30:匹配三十天前 /c "cmd /c del @file":运行 cmd 命令来删 阅读全文
posted @ 2023-09-29 20:36 Higurashi-kagome 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 可能会以为是给 Show in Explorer 绑定快捷键,但我这里测试无效,需要绑定Show in File Manager: 阅读全文
posted @ 2023-09-24 14:36 Higurashi-kagome 阅读(136) 评论(0) 推荐(0) 编辑
摘要: YApi 官方文档介绍了可视化部署和命令行部署两种私有化部署方式,下面在官方文档的基础上介绍第二种部署方法。 环境准备 要求有 Node(7.6+)、MongoDB(2.6+)、Git。这里只介绍 MongoDB 的安装。 到 download/community 下载 MongoDB,我下载的是 阅读全文
posted @ 2023-09-16 09:52 Higurashi-kagome 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 周五的时候,部门负责人找我谈话,说下周会要出差。 我不是第一次出差了,专门和我说是因为这次那边,是需要一个项目经理角色的人,而我平时沟通、协调能力一般。所以就问到了我的职业规划、说到了项目经理的职责之类,一方面给我个心理准备,另一方面探一下我的心理状态,了解一下我的想法,看是否适合派我去。 就现在而 阅读全文
posted @ 2023-09-09 19:20 Higurashi-kagome 阅读(11) 评论(0) 推荐(0) 编辑
摘要: **前端传给后端:** 当前端传来的是键值对,用 @DateTimeFormat 规定接收的时间格式。 当前端传来 json 串,后台用 @RequestBody 接收,用 @JsonFormat 规定接收的时间格式。 **后端传给前端:** 后端返回给前端的时间值,只能用 @JsonFormat 阅读全文
posted @ 2023-09-08 19:19 Higurashi-kagome 阅读(9) 评论(0) 推荐(0) 编辑
摘要: ```vb Imports System.Net.Http Imports System.Net.Http.Headers Imports System.Text Module Program Sub Main(args As String()) ' 定义 URI 和 JSON 数据 Dim uri 阅读全文
posted @ 2023-09-07 21:49 Higurashi-kagome 阅读(62) 评论(0) 推荐(0) 编辑
摘要: #### 开始使用 1. **安装依赖** ```text npm install eslint @typescript-eslint/parser @typescript-eslint/eslint-plugin --save-dev ``` - `eslint`:ESLint 核心包。 - `@ 阅读全文
posted @ 2023-09-02 20:12 Higurashi-kagome 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 下载:https://www.minio.org.cn/download.shtml #### 基本使用 设置用户名密码(设置环境变量): ```bat setx MINIO_ROOT_USER admin setx MINIO_ROOT_PASSWORD password ``` 启动(先切换到 阅读全文
posted @ 2023-08-27 12:28 Higurashi-kagome 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 下面的脚本接受输入的端口号,使用`netstat -aon | findstr :%port%`查找该端口的 PID,之后使用`taskkill /T /F /PID `结束该 PID 对应进程(及其子进程)。 ```bat @echo off setlocal set /p port="input 阅读全文
posted @ 2023-08-24 20:10 Higurashi-kagome 阅读(58) 评论(0) 推荐(0) 编辑
摘要: > 总结自:《Java 核心技术第 10 版(套装共 2 册)\-凯 S\.霍斯特曼 霍斯特曼 科内尔》 下面假设要调用 x.f(args),隐式参数 x[^6] 声明为类 C 的一个引用。下面是调用过程的详细描述: 1)编译器查看对象的声明类型和方法名。假设调用 x.f(param),且隐式参数 阅读全文
posted @ 2023-08-13 12:13 Higurashi-kagome 阅读(14) 评论(0) 推荐(0) 编辑
摘要: ### 1. 登录 MySQL ```SQL mysql -u root -p ``` ### 2. 新增用户并授予权限 MySQL8 之前: ```SQL grant all on *.* to 'username'@'ip' identified by 'password' with grant 阅读全文
posted @ 2023-08-11 23:24 Higurashi-kagome 阅读(729) 评论(0) 推荐(0) 编辑
摘要: 下面有一个例子。 <template> <el-input :value="value" @click.native="select" readonly> <i class="el-icon-circle-close" slot="suffix" @mousedown.prevent @click. 阅读全文
posted @ 2023-08-09 22:32 Higurashi-kagome 阅读(58) 评论(0) 推荐(0) 编辑