ide
idea无法使用ctrl+c复制类的问题解决方法
引言今天在使用IntelliJ IDEA的过程中发现了无法通过Ctrl+C快捷键来复制类,但是使用右键菜单中的复制按钮是可以进行正常复制的,且Ctrl+V快捷键也是可用的。所以初步估计是一些快捷键冲突了,所以前往idea的设置中,使用快捷键反向查找,找到了占用Ctrl+C的一个插件。 顺带一提,遇到问题最初我在网上查询了相关文章后得出的结果由于Vim Emulater插件修改了快捷键导致的,通过更改vim插件的一个开关即可解决。但是我的Idea并没有安装这个Vim Emulater插件。于是我通过禁用插件排查以及idea设置中的快捷键反向查找,最后确定是由于CodotaAI这个代码提示增强插件的快捷键冲突问题导致的。 问题解决如果你也安装了CodotaAI这个插件的话,可以尝试以下解决方法: 通过Ctrl+Alt+S打开Idea设置界面,在左侧项中找到键盘映射,在右侧列表中找到插件一栏,展开Codota AI Autocomplete for Java and JavaScript 这一栏,可以看到Copy这一项占用了Ctrl+C的快捷键,点击Copy,选择禁用Copy这一项的快捷键。 ...
java
Elasticsearch RestHighLevelClient 已标记为被弃用 它的替代方案 Elasticsearch Java API Client 的基础教程及迁移方案
在Elasticsearch7.15版本之后,Elasticsearch官方将它的高级客户端RestHighLevelClient标记为弃用状态。同时推出了全新的Java API客户端Elasticsearch Java API Client,该客户端也将在Elasticsearch8.0及以后版本中成为官方推荐使用的客户端。 Elasticsearch Java API Client 支持除 Vector tile search API 和 Find structure API 之外的所有 Elasticsearch API。且支持所有API数据类型,并且不再有原始JsonValue属性。它是针对Elasticsearch8.0及之后版本的客户端,目前Elasticsearch已经更新至8.0.1,所以我们需要学习新的Elasticsearch Java API Client的使用方法。 环境要求首先,你的项目需要支持Java8或以上,并且你的项目需要有一个Json对象映射库,比如Jackson等,本文章中使用Jackson作为示例。 安装依赖在Gradle项目中安装1234depe ...
vue
ElementUI el-table树形表格懒加载如何手动刷新
最近在使用ElementPlus的el-table表格组件时,发现一个问题,我的业务场景需要使用树形表格,并且使用懒加载的模式加载子级数据,但是使用ElementPlus自带的树形表格和懒加载功能,懒加载仅会在第一次展开时加载,后续会使用第一次缓存的数据,而不会重新加载,本篇文章提供了解决方案。 我的环境是ElementPlus,按照相同原理,应该是可以在ElementUI中使用的,下面开始正文。 首先,先看一下ElementPlus的el-table组件的相关代码: 1234<el-table :data="xxxList" row-key="id" lazy :load="xxxLoad" @expand-change="xxxExpandChange"> <!-- 内容省略 --></el-table> 这些属性或事件都是ElementPlus自带的,是本文章需要用到的,使用ElementUI的用户可能有所差异,自行根据 ...
nginx
nginx反向代理时去掉匹配前缀的方法
引言最近遇到了同一个二级域名下同时配置多个项目的需求,且后端服务需要统一匹配api前缀,所以通过nginx的location配置解决该问题,接下来就通过这篇文章给各位读者讲解nginx在反向代理时如何去掉前缀的方法。 问题描述正常情况下:在nginx配置文件中中设置了 location /api/ 时 浏览器访问 /api/test 反向代理到后端服务后,后端服务接收到的url地址实际还是/api/test 需要实现的功能需求:访问url路径/api/test 经过nginx反向代理后,到达后端服务的实际url地址为/test。 问题解决那么就需要按照如下方法进行修改,首先需要打开nginx的conf配置文件,或者打开你引入的单独子配置文件。 以下是原nginx配置文件中location部分的配置内容: 123location ^~/api/ { proxy_pass http://localhost:12345;} 将上述代码修改为如下nginx location代 ...
mysql
mysql-connector-java 8.0.26 以上版本无法连接数据库的原因及解决方法 Could not create connection to database server.
问题说明由于SpringBoot2.5.3版本之后内置的mysql-connector-java版本升级为8.0.26,但是该版本的mysql-connector-java进行了一个影响较大的改动,导致部分用户无法启动SpringBoot。 报错信息通常如下: 1java.lang.ArrayIndexOutOfBoundsException: 8 或者 1Could not create connection to database server. Attempted reconnect 3 times. 通过这些报错信息在网上进行查询,通常查询得出的结果是,连接字符串中没有设置时区,或者直接建议你降低版本到8.0.25及以下。但是由于mysql-connector-java 8.0.27版本修复了一个严重的安全漏洞,所以不建议使用8.0.27以下的低版本mysql-connector-java,这也是导致springboot在新版中使用8.0.27版本mysql-connector-java的原因。 问题原因从字面意思根本无法得知该问题的原因,通过查看MySQL Connect ...
windows
Win10任务管理器不显示GPU的解决方法
问题简介问题描述:Windows 10 或 Windows 11 任务管理器不显示GPU(显卡)占用率信息。 最近在某次系统更新后我的Win10系统遇到了在任务管理器中没有GPU信息的问题,在网上搜寻了一圈,发现可能导致这个问题的原因有很多,但是大部分都不能解决我的问题,所以在这里总结一下,我自己使用的解决方法是第四个,很大概率是由于乱删C盘系统文件导致的。 值得一提的是,本方案同样适用于Win11系统中任务管理器不显示GPU信息的问题。 问题原因及解决方案一般出现任务管理器中不显示显卡(GPU)问题可能是以下几种情况导致的: 1.进程页没有GPU占用显示,但性能页可以看到GPU信息。 解决方法:确认你的Windows 10版本号大于1909,如果确认,在任务管理器进程页右键名称一栏,将GPU勾选上即可。如果Windows 10版本过旧,更新至1909版本或以上即可。Windows 11不存在此问题,Win11全版本支持显示显卡信息。 2.进程页没有GPU占用显示,设备管理器中看不到显示设备。 确认方法:右键此电脑,选择管理,点击左侧设备管理器一栏, 选择显示适配器,查看是否有 ...
javascript
jsencrypt使用公钥解密的方法
问题描述近日,在实现api加密传输需求的过程中,需要使用jsencrypt进行公钥解密,但是jsencrypt原生不支持该功能,仅支持使用私钥解密。 jsencrypt原生不支持使用公钥解密数据,但是可以通过对jsencrypt的源码进行修改,从而实现使用jsencrypt进行公钥解密的需求。 问题解决 首先,需要安装一个npm插件patch-package 1npm install patch-package -D 进入你的node_modules目录下,根据如下路径找到rsa.js文件 进入jsencrypt/lib/lib/jsbn/rsa.js 在rsa.js文件中,第207行附近的RSAKey.prototype.decrypt方法中,将 this.doPrivate(c) 改为 this.doPublic(c)。如下代码所示。 12345678910RSAKey.prototype.decrypt = function (ctext) { var c = parseBigInt(ctext, 16); / ...
vue
ElementUI el-table表格组件 树形数据不对齐的解决方案
ElementUI el-table表格组件 树形数据不对齐的解决方案ElementPlus的el-table组件在展示树状数据时,左侧的展开小箭头在部分情况下会导致第一列数据的起始位置不对齐,通过添加一段css即可解决。本文演示环境为:Vue3.0 + Element-Plus 1.0.2-beta.55 先看没有经过修改的ElementUI el-table组件的默认效果,效果图如下: 再来看看经过本文方法修改后的el-table组件的效果,如下图所示: 只需要添加一段css即可完成如上图所示的效果: 12345678<style lang="less" scoped>// 对齐根节点 无论有无子节点::v-deep(.el-table__row:not([class*='el-table__row--level-'])) { td:first-child { padding-left: 24px; }}</style> 已测试通过,在多级树形数据的情况下(我测试到了 ...
layui
layui表格操作栏自适应宽度实现
layui table表格组件 toolbar操作栏自适应宽度 最近在使用Layui时发现table数据表格组件的toolbar操作栏不支持自适应宽度功能,于是上网查询了一些资料,发现相关文章很少,有几篇的写法是根据列ID来进行操作的,兼容性太低,于是决定自己实现。 效果我们先看一下table组件的默认效果:可以看到在按钮没有全部显示的情况下,右侧预留了很多空白位置,非常不美观。再看一下我们实现自适应宽度后的效果: 可以看到,优化后列宽为本页数据需要使用的最大宽度,在某些情况下可省去很多位置。 好,效果看完了,我们接下来看下如何实现。 实现首先我们的toolbar操作栏需要设置一个默认的宽度(width参数),需要大于你所有按钮的宽度总和。注意需要使用unresize: true 来禁止用户通过拖拽更改列宽代码如下: 1{fixed: 'right', title: '操作', toolbar: '#actionBar', unresize: true, width: 260} 然后利用table组件的 ...
java
2023年Java面试题最新整理,附白话答案
2023年 Java 开发面试题最新整理,附白话答案写在前面:本篇面试题整理是我在北京地区进行面试整理得出,常见的基本都在下面了。基本都是可以直接在面试时用白话回答的答案总结,面试时照此回答即可,有其他常见面试问题也欢迎在评论区补充。 首次发布:2020年 1月更新日期:2023年 1月2023年1月更新修改了一些可能造成误解的回答,并使用粗体将回答的关键部分标出,你可以使用便于自己记忆的方法组织语言来回答,只需要回答中包含这些答案关键字即可。 2023年最新常见Java开发面试题、面试常问Java面试题整理(附白话答案)一、Java基础部分面试题1. Java面向对象的三个特征封装:对象只需要选择性的对外公开一些属性和行为。继承:子对象可以继承父对象的属性和行为,并且可以在其之上进行修改以适合更特殊的场景需求。多态:允许不同类的对象对同一消息做出响应。 2. Java中基本的数据类型有哪些 以及他们的占用字节 数据类型 占用字节 byte 1 short 2 int 4 long 8 float 4 double 8 char 2 boole ...