Java程序猿搬砖笔记(十六)

文章目录

    • 狂神说-Elasticsearch 7.6入门学习笔记
    • Windows Elasticsearch IK分词器插件启动报错
    • Elasticsearch的ik分词器自定义字典myDict.dic的编码格式需要为UTF-8,否则无效
    • Elasticsearch使用term查询无数据返回的原因
    • Elasticsearch如果没给映射,字段默认使用standard映射
    • Elasticsearch SQL说明
    • ElasticSearch SQL转DSL
    • ElasticSearch关联查询
    • ElasticSearch的msearch,
    • ElasticSearch多个字段聚合统计
    • Elasticsearch Painless Script入门教程
    • Elasticsearch 查询模板(Mustache模板引擎)
    • Windows计算文件名的Md5值
    • TortoiseSVN 远程仓库路径更换
    • IDEA 远程仓库路径更换
    • Git修改分支名
    • Git回退到指定版本(两种方法验证通过)
      • 方法一
      • 方法二
    • EasyExcel官方必读文档(包括版本选择)
    • EasyExcel部分字段为什么没法读取或者写入
    • EasyExcel读取动态列
    • MySQL中的unix_timestamp(时间字符)、from_unixtime(数字类型)
    • 抽象类(或者接口)是无法被Spring实例化的,因此无法添加@Service 或 @Componet 注解
    • Spring 循环依赖解决方法
    • Java jsch在Linux中获取sftp连接时失败

狂神说-Elasticsearch 7.6入门学习笔记

狂神说-Elasticsearch 7.6入门学习笔记

Windows Elasticsearch IK分词器插件启动报错

错误如下:

java.security.Acces ControlException: access denied (\ik\config\IKAnalyzer.cfg.xml" "read")

原因:
D:\Program Files文件夹下的所有文件默认都是只读权限。
解决方法:
Elasticsearch不要安装在 Program Files 、Program Files (x86) 这些目录下。

参考链接

Elasticsearch的ik分词器自定义字典myDict.dic的编码格式需要为UTF-8,否则无效

Elasticsearch使用term查询无数据返回的原因

  • term查询适合查询number、date、keyword
  • term查询text字段,需要映射支持keyword
    参考链接

Elasticsearch如果没给映射,字段默认使用standard映射

建议中文使用ik_max_word映射

Elasticsearch SQL说明

参考链接

ElasticSearch SQL转DSL

官方链接、参考链接

ElasticSearch关联查询

百家号、知乎

ElasticSearch的msearch,

msearch支持多索引uion联合查询。
msearch的语法如下:

GET /_msearch

查询一条数据它需要两个对象,第一个设置index和type,第二个设置查询语句。查询语句和search相同。
如果只是查询一个index,我们可以在url中带上index,语法如下:

GET /索引名/_msearch

请求示例1:

GET /repetition-result/_msearch
{}
{"query" : {"term" : {"achievementId" : "1"}}, "size" : 3}
{}
{"query" : {"term" : {"contrastId" : "1"}}, "size" : 3}

请求示例2:

GET /repetition-result/_msearch
{}
{"query" : {"term" : {"achievementId" : "1"}}, "size" : 3}
{"index": "repetition-result-test"}
{"query" : {"term" : {"contrastId" : "3"}}, "size" : 3}

ElasticSearch多个字段聚合统计

"cardinality": {"script": {"lang": "painless","source": "doc['achievementId'].value + doc['contrastId'].value"}
}

参考链接

Elasticsearch Painless Script入门教程

参考链接

Elasticsearch 查询模板(Mustache模板引擎)

参考链接
参考链接
参考链接

Windows计算文件名的Md5值

certutil -hashfile 文件名 MD5

C:\>certutil -hashfile E:\Downloads\ZGGX-ZF-CMND-2023200015.xlsx  MD5

TortoiseSVN 远程仓库路径更换

  • 右键项目文件夹 TortoiseSVN => Relocate
  • 在 To URL 中输入新的仓库地址点击 OK
  • 根据提示填入账户名密码即可

IDEA 远程仓库路径更换

在这里插入图片描述

Git修改分支名

1、修改本地分支名称
在这里插入图片描述
2、在本地将远程分支删除
在这里插入图片描述
3、将改名后的本地分支推送到远程仓库
在这里插入图片描述

参考链接

Git回退到指定版本(两种方法验证通过)

方法一

1、查询commintId
IDEA界面、命令git log、远程仓库页面都可以
在这里插入图片描述
2、git reset --hard commintId
3、git push -f

必须用这个命令强推 或者 用图形界面强推。
在这里插入图片描述
否则会报下面的弹窗:
在这里插入图片描述

方法二

1、找到Git对应日志 -> 建立分支
在这里插入图片描述
2、push提交代码(支持修改代码后提交)
3、修改分支名(参考:Git修改分支名)

EasyExcel官方必读文档(包括版本选择)

EasyExcel官方必读文档(包括版本选择)

EasyExcel部分字段为什么没法读取或者写入

使用了lombok的@Accessors(chain = true) ,无法被Cglib读取
建议使用@Builder来替换@Accessors(chain = true)

EasyExcel读取动态列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上面的截图有两个错误:① 动态列需要加上@ExcelIgnore注解(或者实体类加@ExcelIgnoreUnannotated) ② context.readStringCell(i)方法不存在

解决参考代码(验证通过):

// 动态列处理
List<String> dynamicDataList = new ArrayList<>();
for(int i = 5; i < readRowHolder.getCellMap().size(); i++){ReadCellData ReadCellData = (ReadCellData)readRowHolder.getCellMap().get(i);if(StringUtils.isNotBlank(ReadCellData.getStringValue())){dynamicDataList.add(ReadCellData.getStringValue());}
}

MySQL中的unix_timestamp(时间字符)、from_unixtime(数字类型)

from_unixtime()把long类型时间戳格式化
参考链接

抽象类(或者接口)是无法被Spring实例化的,因此无法添加@Service 或 @Componet 注解

Spring 循环依赖解决方法

启动项目报下面的错:

The dependencies of some of the beans in the application context form a cycle:testController (field private com.aspire.achievement.repetition.service.RepetitionAbilityService com.aspire.achievement.repetition.controller.TestController.repetitionAbilityService)
┌─────┐
|  repetitionAbilityServiceImpl (field private com.aspire.achievement.repetition.service.RepetitionTaskService com.aspire.achievement.repetition.service.impl.RepetitionAbilityServiceImpl.repetitionTaskService)
↑     ↓
|  repetitionTaskServiceImpl (field private com.aspire.achievement.repetition.factory.BlockQueueFactory com.aspire.achievement.repetition.service.impl.RepetitionTaskServiceImpl.blockQueueFactory)
↑     ↓
|  blockQueueFactory (field private com.aspire.achievement.repetition.service.RepetitionAbilityService com.aspire.achievement.repetition.factory.BlockQueueFactory.repetitionAbilityService)
└─────┘Action:Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

解决方法:
1、代码中主动取消循环依赖
2、增加允许循环依赖的配置

spring:main:allow-circular-references: true

3、添加延迟加载@Lazy注解 (未成功)

参考链接

Java jsch在Linux中获取sftp连接时失败

在本地Windows操作远程sftp服务器,完全没问题。但是部署到Linux服务器时,出现下面的错误:

Session.connect: java.security.InvalidAlgorithmParameterException: 
DH key size must be multiple of 64, and can only range from 512 to 2048 (inclusive). 
The specific key size 3072 is not supported

本地和linux都是jdk 1.8的环境。
经排查,发现项目引入的jsch依赖如下:

<dependency><groupId>org.netbeans.external</groupId><artifactId>com-jcraft-jsch</artifactId><version>RELEASE180</version>
</dependency>

解决方法:
1、使用jdk 1.8以上的环境
2、更换jsch依赖(经测试0.1.54也可以)

<dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.54</version>
</dependency>

注:如果0.1.52版本在windows环境中运行会报下面的错:

com.jcraft.jsch.JSchException: Session.connect: java.io.IOException: End of IO Stream Read

解决方法:更换jsch依赖为0.1.54即可。

参考链接
参考链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/87619.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【高频面试题】JVM篇

文章目录 一、JVM组成1.什么是程序计数器2.什么是Java堆&#xff1f;3.能不能介绍一下方法区(元空间&#xff09;4.你听过直接内存吗5.什么是虚拟机栈6.垃圾回收是否涉及栈内存&#xff1f;7.栈内存分配越大越好吗&#xff1f;8.方法内的局部变量是否线程安全&#xff1f;9.什么…

【VSCode】报错:出现段错误解决办法 (Segmentation fault)

VScode报错&#xff1a;Segmentation fault (core dumped)的解决办法 解决Program received signal SIGSEGV, Segmentation fault.的辛酸 Linux环境下段错误的产生原因及调试方法小结 Linux下的段错误Segmentationfault产生的原因及调试方法经典.pdf 在程序中&#xff0c;TF…

【云原生】Kubernetes节点亲和性分配 Pod

目录 1 给节点添加标签 2 根据选择节点标签指派 pod 到指定节点[nodeSelector] 3 根据节点名称指派 pod 到指定节点[nodeName] 4 根据 亲和性和反亲和性 指派 pod 到指定节点 5 节点亲和性权重 6 pod 间亲和性和反亲和性及权重 7 污点和容忍度 8 Pod 拓扑分布约束 官方…

Django快速入门

文章目录 一、安装1.创建虚拟环境&#xff08;virtualenv和virtualenvwrapper&#xff09;2. 安装django 二、改解释器三、创建一个Django项目四、项目目录项目同名文件夹/settings.py 五、测试服务器启动六、数据迁移七、创建应用八、基本视图1. 返回响应 response2. 渲染模板…

jpa查询返回自定义对象、返回指定VO、POJO

jpa查询返回自定义对象、返回指定VO、POJO jpa查询返回自定义对象、返回指定VO、POJO&#xff0c;JPA查询前会做大量处理&#xff0c;还有线程通知的操作。若并发大&#xff0c;处理性能直线下降。但是jpa就因为做了大量处理&#xff0c;对多数据库兼容极好&#xff0c;操作方…

MySQL的第一篇文章——了解数据库、简单的SQL语句

目录 学习目标 第一章 介绍数据库 1. 数据库概述 2. MySQL概述 第二章 MySQL的使用 1. MySQL服务的启动 2. 客户端连接MySQL 2.1 命令行客户端 第三章 SQL的介绍 1. 什么是SQL 2. SQL的分类 3. MySQL的语法规范和要求 第四章 DDL操作数据库 1. 创建数据库 2. 查…

word横向页面侧面页码设置及转pdf后横线变竖线的解决方案

在处理材料的时候&#xff0c;会遇到同一个文档里自某一页开始&#xff0c;页面布局是横向的&#xff0c;这时候页码要设置在侧面&#xff0c;方法是双击页脚&#xff0c;然后在word工具栏上选择“插入”——>“文本框”——>“绘制竖版文本框”&#xff0c;然后在页面左…

【MFC】10.MFC六大机制:RTTI(运行时类型识别),动态创建机制,窗口切分,子类化-笔记

运行时类信息&#xff08;RTTI&#xff09; C: ##是拼接 #是替换成字符串 // RTTI.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <iostream> #include <afxwin.h>#ifdef _DEBUG #define new DEBUG_NEW #endifCWinApp th…

面试笔记:Android 架构岗,一次4小时4面的体验

作者&#xff1a;橘子树 此次面试一共4面4小时&#xff0c;中间只有几分钟间隔。对持续的面试状态考验还是蛮大的。 关于面试的心态&#xff0c;保持悲观的乐观主义心态比较好。面前做面试准备时保持悲观&#xff0c;尽可能的做足准备。面后积极做复盘&#xff0c;乐观的接受最…

明月之刃:armbian巧借nmtui管理网络连接

文章目录 nmtui简介安装nmtuinmtui使用连接wifi设置主机名称 nmtui简介 nmtui是NetworkManager TUI&#xff08;Text User Interface&#xff09;的缩写&#xff0c;它提供了一个可视化的界面来管理网络连接。但是&#xff0c;在Debian系统中&#xff0c;没有默认安装nmtui工具…

Web 服务器 -【Tomcat】的简单学习

Tomcat1 简介1.1 什么是Web服务器 2 基本使用2.1 下载2.2 安装2.3 卸载2.4 启动2.5 关闭2.6 配置2.7 部署 3 Maven创建Web项目3.1 Web项目结构3.2 创建Maven Web项目 4 IDEA使用Tomcat4.1 集成本地Tomcat4.2 Tomcat Maven插件 Tomcat 1 简介 1.1 什么是Web服务器 Web服务器是…

详解JAVA远程debug

目录 1.什么是远程debug&#xff1f; 2.远程debug普通JAVA程序 环境 测试程序 程序启动指令 编译器配置 3.远程debug JAVA Web程序 4.远程debug spring boot程序 1.什么是远程debug&#xff1f; 远程debug&#xff0c;也就是可以在本地debug远端部署的程序&#xff0c…

【数据结构与算法】十大经典排序算法-冒泡排序

&#x1f31f;个人博客&#xff1a;www.hellocode.top &#x1f3f0;Java知识导航&#xff1a;Java-Navigate &#x1f525;CSDN&#xff1a;HelloCode. &#x1f334;掘金&#xff1a;HelloCode &#x1f31e;知乎&#xff1a;HelloCode ⚡如有问题&#xff0c;欢迎指正&#…

MOCK测试

介绍 mock&#xff1a;就是对于一些难以构造的对象&#xff0c;使用虚拟的技术来实现测试的过程。 mock测试&#xff1a;在测试过程中&#xff0c;对于某些不容易构造或者不容易获取的对象&#xff0c;可以用一个虚拟的对象来代替的测试方 法。 接口Mock测试&#xff1a;在接口…

【C++】内存管理与模板

目录 一、内存管理 1.new与delete基本用法 (1) 内置类型 (2) 自定义类型 2.new, delete与malloc, free对比 (1) 内置类型 (2) 自定义类型 (3)综合特点 3.new与delete的底层实现 4. 定位new表达式 二、模板 1.引入机制 2. 基本使用 (1) 函数模板 ①概念&#xff1a…

Hadoop+Python+Django+Mysql热门旅游景点数据分析系统的设计与实现(包含设计报告)

系统阐述的是使用热门旅游景点数据分析系统的设计与实现&#xff0c;对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计&#xff0c;描述&#xff0c;实现和分析与测试方面来表明开发的过程。开发中使用了 django框架和MySql数据库技术搭建系统的整体…

06-1_Qt 5.9 C++开发指南_对话框与多窗体设计_标准对话框

在一个完整的应用程序设计中&#xff0c;不可避免地会涉及多个窗体、对话框的设计和调用&#xff0c;如何设计和调用这些对话框和窗体是搞清楚一个庞大的应用程序设计的基础。本章将介绍对话框和多窗体设计、调用方式、数据传递等问题&#xff0c;主要包括以下几点。 Qt 提供的…

OffSec Labs Proving grounds Play——FunboxEasyEnum

文章目录 端口扫描目录扫描文件上传漏洞利用查看用户爆破密码sudo提权flag位置FunboxEasyEnum writeup walkthrough Funbox: EasyEnum ~ VulnHub Enumeration Brute-force the web server’s files and directories. Be sure to check for common file extensions. Remote…

Hadoop理论及实践-HDFS四大组件关系(参考Hadoop官网)

NameNode&#xff08;名称节点&#xff0c;Master主节点&#xff09; NameNode主要功能 1、NameNode负责管理HDFS文件系统的元数据&#xff0c;包括文件&#xff0c;目录&#xff0c;块信息等。它将元数据Fsimage与Edit_log持久化到硬盘上。一个是Fsimage(镜像文件&#xff09…

android,Compose,消息列表和动画(点击item的时候,就会删除)

Compose,消息列表和动画&#xff08;点击item的时候&#xff0c;就会删除&#xff09; package com.example.mycompose08import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundat…