1、输入整数、字符串数组 第一行输入n, m 第二行输入n个整数 第三行输入m个字符串 //导入包 import java.util.Scanner; import java.util.Arrays; public class MyScanner { public static void main(String[] args) { //创建对象 Scanner s...
Elasticsearch
Elasticsearch的流行程度 什么是Elasticsearch 一个分布式的实时文档存储,每个字段 可以被索引与搜索 一个分布式实时分析搜索引擎 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据 Elasticsearch的功能和应用场景 功能: 全文搜索 结构化搜索 分析 应用场景: 网站搜索、垂直搜索、代码搜索...
在Linux系统上安装Oracle JDK8
Linux版本 uname -a,查看Linux版本如下: Linux VM-12-14-centos 3.10.0-1160.71.1.el7.x86_64 #1 SMP Tue Jun 28 15:37:28 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 官网下载JDK8 JDK8下载链接 可以下载的版本: 版本x86和x64 x86对应32...
SpringBoot的自动装配原理
SpringBoot的自动装配解决了什么问题 减少了Spring的xml等繁琐的配置 怎么利用自动装配便利 通过注解和一些简单的配置,就能直接使用外部依赖的某些功能,或Spring内部的某些功能 SpringBoot的自动装配是如何实现的 @SpringBootApplication ==> @EnableAutoConfiguration 首先自动装配是从注解@EnableA...
Import注解
@Import的定义 @Import的源码 package org.springframework.context.annotation; @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Import { Class<?>[] val...
wait、notify、notifyAll方法的使用注意事项
为什么wait方法必须在 synchronized 保护的同步代码中使用? wait方法的使用原则 线程在调用wait方法之前,必须先持有对象的monitor锁,也就是synchronized锁 wait为什么要这样设计 为了验证这个问题,我们从反面来看,假设现在有一个阻塞队列: class BlockingQueue { Queue<String> buffer...
线程是如何在6种状态之间转换的
线程的6种状态 New(新建) Runnable(可运行) Blocked(阻塞) Waiting(等待) Timed Waiting(计时等待) Terminated(终止) 查看当前线程的状态:Thread.currentThread().getState() New(新建) New表示线程新创建但还未启动的状态,即:通过new Thread()创建,...
EasyExcel的使用
EasyExcel简介 对于apache提供的Apache poi,它非常容易造成内存泄露,因为是一次性将Excel文件都读到内存,而EasyExcel是按照一个Sheet的一行一行读取到内存当中,这样便于后期处理,就能避免内存泄露 使用EasyExcel导入.xls或.xlsx文件 普通导入并输出 第一种:稍微复杂的写法,不过很标准 public class ReadComplex {...
如何正确停止线程
通知线程中断 Thread.currentThread().interrupt(); 子线程被阻塞仍然可以感受到中断 当子线程内部被sleep()和wait()阻塞的时候,仍然可以感受到中断信号并且抛出java.lang.InterruptedException异常 子线程如何正确响应中断 对下面的子线程内部方法,如何让子线程正确响应中断: void subTas() { ...
如何让MySQL支持emoji字符
以Windows系统,MySQL5.7.33版本为例 第一种方法:修改数据库配置文件(已经实践有效) 在MySQL文件目录下,找到mysql.ini配置文件,将其中的内容替换为下面的内容: [client] default-character-set = utf8mb4 [mysql] # 设置mysql客户端默认字符集 default-character-set = ut...