自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 收藏
  • 关注

原创 记录docker 部署elk 中的错误 --java.lang.IllegalStateException

java.lang.IllegalStateException: failed to obtain node locks, tried [/usr/share/elasticsearch/data]; maybe these locations are not writable or multiple nodes were started on the same data path

2022-07-29 13:43:36 2217

原创 cron表达式以及定时任务的简单使用

2 cron表达式语法:0 0 0 0 0 0 0秒 分 小时 日 月 周 年例如 : 0 0 0 1 * * 表示定时任务 每月执行一次 ;

2022-05-08 19:06:49 3413

原创 idea快捷键设置快速删除一行和代码智能提醒

idea快捷键设置快速删除一行和代码智能提醒

2022-04-19 17:53:12 3311

原创 npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

2022-04-19 16:33:31 3086

原创 springboot项目启动报连接redis的相关错误

1、报错信息:17:14:57.951 [boundedElastic-1] WARN o.s.b.a.r.RedisReactiveHealthIndicator - [handleFailure,89] - Redis health check failedorg.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis; nested exception is io.lettuce

2022-04-16 17:28:10 4779 2

原创 报错:Unable to revive connection: http://elasticsearch:9200 或者NO living connection”,我的解决方案kibana

问题:最近在学elasticsearch,所以用docker安装了elasticsearch,但在安装kibana是报错Unable to revive connection: http://elasticsearch:9200;然后访问http://虚机IP:5601/地址的时候出现Kibana server is not ready yet;然后分两步解决了。。。解决:1先关闭防火墙:命令:systemctl stop firewalld.service查看防火墙状态:systemctl

2022-02-23 21:33:49 4760

原创 JVM面试题

1、类的加载过程:这时你可以先回答类的加载机制:第一步是通过javac指令将代码编译成class文件,对代码进行验证,验证代码是否有编译问题,后加载类的静态变量,类的成员变量,成员方法,使用,最后销毁2、JVM的组成:如下图:三大部分 1、类装载子系统 2、运行时数据区 3、字节码执行引擎程序计数器:当前线程所执行的字节码的行号指示器,用于记录正在执行的虚拟机字节指令地址,线程私有。Java虚拟栈(线程栈):存放基本数据类型、对象的引用、方法出口等,线程私有。jvm给类开辟的空间,存放类上面

2021-12-12 17:56:48 241

原创 缓存雪崩,缓存穿透,缓存击穿

1、缓存雪崩指在我们设置缓存时key采用了相同的过期时间,导致缓存在某一时刻同时实效,请求全部转发到了数据库,导致数据库压力过重,雪崩解决方法:原有的实效时间基础上增加一个随机值,比如1-5分钟随机,这样每一个缓存的过期时间的重复率就会很低,很难引发集体实效事件2、缓存穿透:a、指查询一个一定不存在的数据,在缓存中是没有,也就是缓存不命中,那就去查询数据库,但是数据库也没有查到这条数据记录,然后我们没有将这次查到的null写入缓存,就导致这个不存在的数据每次请求都到数据库中查找,失去了缓存的意义,

2021-12-12 00:04:30 322

原创 mysql的执行计划

怎么查看MySQL的执行计划:使用EXPLAIN ;例如EXPLAIN SELECT brand_id, NAME ,descript FROM pms_brand WHERE show_status = '1';结果这张图中比较重要的字段,type 、key 、rows、filteredtype:key: 使用到的索引名rows:按照这样执行会读取多少行数据量,filtered:百分比,读取到的rows和返回的行数的比例,比例越高越好覆盖索引:sql语句中select 和from之间

2021-12-09 21:14:21 126

原创 基础面试题

1、并行,并发,串行并行是多个任务一起执行,互不干扰,躲在多核cpu中出现并发是多个线程公共完成一个任务,可能会相互读取相同的数据,发生线程不安全的情况串行是一个任务一个任务的执行2、并发的三大特性:保证中三大特性才能保证线程安全,这三大特性就是为了保证线程安全++,不是线程安全的,long 和double不具备原子性的原因可能是32位的jvm将这两个64位的数据分成两个32位来分次操作,这样可能就会有两个线程来完成这个操作,失去了原子性原子性:在一次操作中不能被中断,要么全部执行完成,要么都

2021-12-06 21:36:23 105

原创 java关键字volatile

volatile 关键字的学习:1、jvm中有多少个虚拟机栈? 一个线程一个虚拟机栈,创建几条线程就有几个2、jvm中有多少栈帧:调用一次方法就有一个栈帧;调用几次有几个3、volatile的内存模型: 有volatile修饰的变量,每次获取对象数据的时候会从主内存中去获取,避免了读取工作内存中改变了的数据;简单来说就是在多线程的情况下,线程有自己的工作内存,从主内存获取到变量后会生成一个副本,修改变量实在这个副本中完成的,没有volatile关键字修饰,想要获取变量的话就是从工作内存中获取,实际工作

2021-12-04 23:04:54 449

原创 springboot项目配置nacos

nacos配置:1、在需要注入到nacos的服务中导入依赖,<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency>2、下载nacos,安装并启动,在注册服务前需要先启动nacos;可参考官方文档https://githu

2021-11-22 07:16:52 2285

原创 idea中的编码设置

1、问题:设置了idea setting中的编码格式为utf-8,在编辑的时候明明写的是中文,关闭项目后再次打开成了这样,还是乱码这时候需要为新创建的文件也要设置编码,并为了防止乱码,

2021-09-09 22:54:50 646

原创 Java反射

**反射:**在程序员运行过程中,可以对任意对象一个类型进行任意的操作。例如在加载任意类型,调用类型的任意方法,获取任意的成员变量,构造方法,可以创建该类型的对象Class类:在程序运行期间,Java运行时系统始终为所以对象维护一个运行时类型标识;这个标识会跟踪每个对象所属的类,保存这些信息的类型为Clas;我们成Class类为类的字节码对象获取字节码的三种方法:1.对象名.getClass();public class Demo { public static void main(String

2021-08-10 21:20:11 176

原创 HashMap和HashTable有什么区别,HashMap的底层是怎么样的

区别:1、HashMap的方法没有synchronized修饰,在多条线程下,会出现资源争抢的情况,线程不安全,而Hashtable是线程安全的2、HashMap的底层:1,在1.8之前是数据加列表的形式,在1.8之后是数组加红黑树,1.8开始当链表的长度达到8,或者数组长度超过64,链表会转为红黑树,以提高查询的效率(链表长降低查询的效率)2,我们知道Map的key -value的形式,当数据put进map中 时,会先对key进行hash值得计算,根据hash值找到对应数组的下标;如果存在不同

2021-08-03 23:28:21 171

原创 Map知识

Map接口1、Map是双列集合,数据存储的形式是key - value 形式的,根据key来获取value值;每次的操作都是针对一个键值对来进行的,键和值总是依赖在一起,相当于是两列数据在同时存储,称为“双列集合”2、map的特点:1、键(key)是唯一的,在一个Map中,不能同时存在两个相同的键2、值(value)可以不唯一,在一个Map中,可以同时存在多个相同的值3、每个确定的键,一定只能对应一个唯一的值3、map常用的方法1、put(K key, V value)1、如果集合中已经存

2021-07-27 22:10:35 240

原创 List三种遍历方式详解

list集合list集合常用方法1、add(int index, Object obj) 在指定的索引增加值`List list = new ArrayList();list.add(0, “abc”);list.add(0, “xyz”);list.add(1, “qq”);2、remove(int index) 根据指定索引删除数据list.remove(1)3、set(int index, Object obj) 将指定索引处的元素进行修改list.set(1,“qq”);

2021-07-26 22:37:15 27534

原创 2021-07-25

java基础集合框架底层数据结构Collection1. ListArraylist:底层是 Object数组,数组查询快Vector: Object数组LinkedList: 双向循环链表,增加删除快2. SetHashSet(无序,唯一):存储钱会计算数据的hash值,hash值不同则直接存储,如果hash值相同则实际比较数据值,基于 HashMap 实现的,底层采用 HashMap 来保存元素LinkedHashSet: LinkedHashSet 继承与 HashSet,并且其内部

2021-07-25 20:32:23 108

原创 2021-07-20

基础面试题——谈谈你对集合List的了解1,回答这类“谈谈对某某集合框架的了解”是一种比较考验面试者的题,回答的简短,面试官觉得你不会,回答的多,又有可能让面试官不停的发问,导致进入你知识的盲区 ,在我的看法,回答这种问题首先,先回答List的概述 ,再回答List的常用方法,最后回答一下List的应用List是一种单列有序的集合(有序的单列集合的顶层接口)有两个主要的实现类(ArrayList 和LinkedList),每一个数据都有属于它的位置,这为遍历List提供了方便,List(集合)只

2021-07-20 22:06:42 90

原创 2021-07-16

**StringBuffer、StringBuilder **1、相同点:都是字符串的缓冲区,都是字符串的生成器,都是可变字符,底层都是字符数组,大部分方法相同,常用的方法有append(),insert();2、不同 点线程安全性,StringBuffer是线程安全的,在多线程情况下能保证数据安全,得益于StringBuffer中加了synchronized,但是这样效率会比较低,只能一条数据一条数据的添加或删除StringBuilder是线程不安全的,在进行操作的时候效率比较高StringB

2021-07-16 21:40:38 82

原创 2021-07-15

string类型知多少:java中我们最常用的类型就是String类型 ,那学习了解String类型那就是必不可少的,1、首先我们来明确一下声明样的类型是String类型的,例如:String s = “玉玉”;这种用双引号包起来的,或者是直接声明一个String 对象的(String str = new String())的不同的是第一种 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上:2、String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了,

2021-07-15 22:49:13 91

原创 2021-07-15

java基础面试题1、关键字final 在 Java 中有什么作用?1、被final修饰的类为最终类,不能再变了,主要理解为该类不能被继承,不能被扩展,相当于是不能变了,方法不能再重写2、修饰方法:最终方法该方法的内容不能改变,不能被重写3、修饰变量:最终变量1、该变量的内容不能改变,成为了一个常量,只能赋值一次2、声明常量格式:符号常量,命名规范:全部大写,下划线分隔 public static final 数据类型 常量名称 = 常量值;3、final修饰哪个

2021-07-15 22:25:22 80

原创 2021-07-14

java基础面试题 (二)1、常见java面试题之== 和 equals 的区别是什么?在代码中,我们经常会比较两个数值,或者两个对象是否相等,这时候我们一般都会用到 == 或者 equals ,那这两个的用法有什么区别呢首先 先说第一个区别 ,针对的类型 : == 可以用于比较任何类型,包括基本类型和引用类型,当然也可以用来比较枚举类 ,而equals比较针对的是引用类型通过这个例子可能理解更加深刻,声明两个字符串常量 x 和 y ,在创建一个新的字符串对象,在我们的常量吃中,直接声明的字符

2021-07-14 21:20:56 169

原创 2021-07-13

Java基础面试题1、jdk 和jre的区别:jdk :是Java development kit (Java开发工具包的简称),也是我们做Java语言开发必要的工具,安装在电脑的就是这个,它提供了Java的开发编译和运行Java的环境jre :Java runtime environment(java运行环境),为Java的运行提供了需要的运行环境,也可以理解为只要你有Java的编译完成后的class文件,在jre中直接就可以运行;简单来说,jdk包含了jre ,还有一个就是jvm环境,这是Jav

2021-07-13 21:08:29 79

原创 Java基础——多线程

1、进程 、程序 、线程程序:是一种静态的概念,能完成某种功能,是一种固定的逻辑和数据的集合,存储在电脑硬盘内,比如.exe执行程序和.class字节码; 进程:是一种动态的概念,是程序的一次运行,或者是正在运行的程序,存储在电脑内存中,会消耗cpu; 线程:是一条独立执行任务的路径。进程和线程的关系:一条进程中至少包含有一条或者多条线程,一条线程必须存在于一条进程中,线程不可能脱离进程独立存在; 进程具有独立分配cpu资源的权力,线程不行,线程只能共享一条进程的资源。并行和并发并行:

2021-04-28 21:08:17 174

原创 短信接口的使用

本文介绍的是在springboot项目中使用短信接口:使用步骤:1、在项目的pom.xml文件中引入相关的依赖:<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.2.1</version> ...

2021-04-17 21:09:10 468

原创 Swagger接口文档的使用

Swagger接口文档的使用:官方网址:https://swagger.io/使用步骤:1、引入依赖:dependency>io.springfoxspringfox-swagger22.9.2io.springfoxspringfox-swagger-ui2.9.22、在工程中创建对应的包和类使用@EnableSwagger2 开启swagger2自动生成api文档功能import org.springframework.context.annotation.Bean;

2021-04-17 17:42:38 243

原创 redis卸载问题

一、redis 安装1、上传 redis 的安装包jemalloc-3.6.0-1.el7.x86_64.rpm //c 、c++类库包redis-4.0.8-1.el7.remi.x86_64.rpm //redis 主程序安装包2、安装程序(1)、先安装C语言的类库包 jemalloc-3.6.0-1.el7.x86_64rpm -ivh jemalloc-3.6.0-1.el7.x86_64.rpm-i 安装软件包 -v 可视化,提供更...

2021-04-17 16:12:27 979

原创 集合

集合:是一个操作引用型数据的可以扩容的数组,拥有比数组更多的功能,操作数据效率更高,底层是数组。集合和数组的区别:集合的方法比数组多; 数组的大小是固定的,而集合的大小是可以进行扩容; 存储的数据类型不同,数组可以存储基本数据类型和引用类型,集合只能存储引用类型,要是存储基本数据类型,需要使用基本数据类型的包装类;集合的体系体系结构: 单列集合: Collection ...

2021-04-06 21:18:00 91

原创 多态

多态的前提有子父类的继承关系(或者接口中的实现关系) 有方法的重写 父类的引用指向子类的对象(或者接口中的引用指向实现类中的对象)多态的含义: 对象的多态性:同一个物体,可以有多个名称;java中,同一个对象,可以有不同类型的引用指向这个对象。本质:同一个事物,有多种称谓和描述 引用的多态性:同一个名称,可以表达多种物体;java中,同一个引用,可以指向不同的子类对象。本质:同一个描述和称谓,可以表达不同种类的事物代码示例:基于接口packag...

2021-03-29 19:11:46 116

原创 继承

含义: 让类与类产生关系,子父类关系关键字: extends ,继承,增加、扩展、扩大子父类名称: 父类:被继承的类(Animal类),超类(概念),基类(成员) 子类:继承的类 ,派生类(成员)注意事项私有的成员不能被继承 父类中定义的private成员,不能在子类中直接使用 其实从数据的角度,创建的子类对象中,包含着父类中定义的私有成员,子类可以通过父类中定义的公有方法,间接...

2021-03-16 19:15:18 100

原创 Java特性之一 —— 封装

封装概述:含义: 隐藏事物的属性和实现细节,对外提供公共的访问方式好处: 1、隐藏了事物的实现细节 2、提升代码的复用性 3、提升了安全性private 关键字修饰内容:只要是成员都可以修饰 成员变量 成员方法 构造方法 成员内部类修饰效果: 被private修饰的内容,只能在本类中被访问,不能被其他任何类访问注意事项...

2021-03-15 20:00:40 118

原创 面向对象

面向对象:面向对象是一种编程思想,是一种编程思路;强调解决问题的主体,更强调谁来解决问题,强调的是谁拥有数据和操作数据的权力;例如,我们在洗衣服,强调的是可以找到洗衣服的机器,而不是洗衣服的过程。面向对象更符合人类的思想习惯 能讲复杂的问题简单化面向对象的特征:封装 继承 多态...

2021-03-12 19:58:53 83

原创 数组

(一) 概述数组:用于存储相同数据类型的容器,即基本数据类型和引入类型定义:元素的数据类型[] 数组名 = new 元素数据类型[数组容器的大小]数组的表示:元素的数据类型[] 数组名 = new 元素数据类型[数组容器的大小] (动态初始化) 元素的数据类型[] 数组名 = new 元素数据类型[]{数据元素的罗列} (静态初始化) 元素的数据类型[] 数组名 ={数据元素的罗列}(静态初始化简写)...

2021-03-11 19:51:31 165

原创 Java运算符

一、运算符:是用于运算和操作数据的符号,作用效果类似数学的加减乘除运算符。二、 运算符的分类: a、算数运算符 + - * / (加减乘除) %(求余数)取模+ : 加法运算符 (1) 表示两个数相加,一般用于int类型数据的相 (2)表示正数 (3) 用于字符串的拼接 - (减号) *(乘号)与数学的相似 /(除)(1) 如果两个整数相除,得到的结果是整数 (2) 如果任意一个操作数是小数,那么结果也是小数 % 取模运算符 :获取两个数相除的余数 注意:取余的结...

2021-03-10 20:20:52 126

原创 Java基础-数据类型

1、我们知道Java语言时一种强类型语言:也就是需要显式的说明内存空间的大小,我们在声明一个变量的时候就需要说明这个变量的数据类型2、数据类型的分类:a、基本数据类型(四类八种)  整数类型:byte  1个字节8个位 -128到127short 2个字节16位  -2^15到2^15 -1int(整数默认的类型)  4个字节32位   -2^31 到 2^31 -1long  8个字节64位   -2^63 到 2^63 -1小数类型 :float 4个字节   大于8个字节的long

2021-03-09 20:34:51 75

io分类、含义、转换流的思维导图.xmind

里面包含了IO的各种流,怎么分类,有哪些常用方法,编码解码等

2021-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除