自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 Elasticsearch kibana开启安全访问

将生成的 elastic-certificates.p12 和 elastic-stack-ca.p12 文件复制到 Elastic 根目录下,并创建 config/certs 目录并将文件复制进去。./elasticsearch-certutil cert --ca elastic-stack-ca.p12 直接回车,什么都不输。./elasticsearch-certutil ca 直接回车,什么都不输。6. 创建和设置 Kibana 密钥库。5. 设置 Kibana 密码。7. 重启 Kibana。

2024-03-19 17:09:02 375 1

原创 枚举+switch用法

//根据不同的编号获取descriptionpublic enum SendMesNum {SendMesDemo(“001”, “aaa”),SendMesDemo1(“002”, “bbb”),SendMesDemo2(“003”, “cccc”);public String value;public String description;SendMesNum(String value, String description) {this.value = value;this.des

2021-07-02 15:21:51 348

原创 什么是sql注入

1、概念SQL 注入(SQL Injection),是 Web 开发中最常见的一种安全漏洞。可以用它来从数据库获取敏感信息、利用数据库的特性执行添加用户、导出文件等一系列恶意操作,甚至有可能获取数据库乃至系统用户最高权限。2、造成 SQL 注入的原因程序没有有效过滤用户的输入,使攻击者成功的向服务器提交恶意的 SQL 脚本,程序在接收后错误的将攻击者的输入作为 SQL 语句的一部分执行,导致原始的查询逻辑被改变,执行了攻击者精心构造的恶意 SQL 语句。如 从用户表根据用户名 ConstXiong

2021-06-17 16:20:10 3866

原创 idea操作commit,没有pull,回退。

1.idea中代码切换到自己提交的分支上。2.右键点击项目文件夹找到Git -> Respository -> Reset HEAD并点击3.点击validate可以看到在这里我们可以看到上一次进行的操作,提交之后在version control工具栏中将看不到这个文件,并且我们能够在push列表中找到它。4.需要回滚到上一次操作的位置,我们可以修改To Commit的内容,将HEAD修改成HEAD^(代表回退一次),点击Validate我们可以预览到我们上上次版本变更的记录。

2021-05-07 17:48:52 1703

转载 字符串转换成XML并使用DOM、JDOM、DOM4J解析

public static void main(String[] args) {String str="<?xml version=\"1.0\" encoding=\"UTF-8\"?>";str+="";str+="";str+=“18”;str+=“张三”;str+="";str+="";str+=“19”;str+=“里斯”;str+="";str+="";//domtry{DocumentBuilderFactory factory = DocumentBu

2021-03-22 19:27:58 209

原创 Redis 持久化机制详情

Redis 的持久化机制是什么?各自的优缺点?Redis 提供两种持久化机制 RDB(默认) 和 AOF 机制:RDB:是Redis DataBase缩写快照RDB是Redis默认的持久化方式。按照一定的时间将内存的数据以快照的形式保存到硬盘中,对应产生的数据文件为dump.rdb。通过配置文件中的save参数来定义快照的周期。优点:只有一个文件 dump.rdb,方便持久化。容灾性好,一个文件可以保存到安全的磁盘。性能最大化,fork 子进程来完成写操作,让主进程继续处理命令,所以是 IO

2021-03-15 14:27:02 62

原创 throw 和 throws 的区别是什么

throw 和 throws 的区别是什么Java 中的异常处理除了包括捕获异常和处理异常之外,还包括声明异常和拋出异常,可以通过 throws 关键字在方法上声明该方法要拋出的异常,或者在方法内部通过 throw 拋出异常对象。throws 关键字和 throw 关键字在使用上的几点区别如下:throw 关键字用在方法内部,只能用于抛出一种异常,用来抛出方法或代码块中的异常,受查异常和非受查异常都可以被抛出。throws 关键字用在方法声明上,可以抛出多个异常,用来标识该方法可能抛出的异常列表。一

2021-02-18 10:52:02 478

原创 Hibernate 和 MyBatis 的区别

Hibernate 和 MyBatis 的区别相同点都是对jdbc的封装,都是持久层的框架,都用于dao层的开发。不同点映射关系MyBatis 是一个半自动映射的框架,配置Java对象与sql语句执行结果的对应关系,多表关联关系配置简单Hibernate 是一个全表映射的框架,配置Java对象与数据库表的对应关系,多表关联关系配置复杂SQL优化和移植性Hibernate 对SQL语句封装,提供了日志、缓存、级联(级联比 MyBatis 强大)等特性,此外还提供 HQL(Hibernate Q

2021-02-18 10:50:54 76

原创 Redis的应用场景

Redis的应用场景总结一计数器:可以对 String 进行自增自减运算,从而实现计数器功能。Redis 这种内存型数据库的读写性能非常高,很适合存储频繁读写的计数量。缓存:将热点数据放到内存中,设置内存的最大使用量以及淘汰策略来保证缓存的命中率。会话缓存:可以使用 Redis 来统一存储多台应用服务器的会话信息。当应用服务器不再存储用户的会话信息,也就不再具有状态,一个用户可以请求任意一个应用服务器,从而更容易实现高可用性以及可伸缩性。全页缓存(FPC):除基本的会话token之外,Redis还

2021-02-18 10:49:50 177

原创 spring boot 核心配置文件是什么

spring boot 核心配置文件是什么?参考答案:单纯做 Spring Boot 开发,可能不太容易遇到 bootstrap.properties 配置文件,但是在结合 Spring Cloud 时,这个配置就会经常遇到了,特别是在需要加载一些远程配置文件的时候。spring boot 核心的两个配置文件的区别:bootstrap (. yml 或者 . properties):boostrap 由父 ApplicationContext 加载的,比 applicaton 优先加载,配置在应用程

2021-02-05 15:43:15 702 1

原创 Spring MVC的工作流程

Spring MVC的工作流程请描述Spring MVC的工作流程?描述一下 DispatcherServlet 的工作流程?参考答案:1.用户发送请求至前端控制器DispatcherServlet;2.DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;3.处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;4.DispatcherServlet 调用

2021-01-13 18:34:37 116

原创 如何开启一个线程,开启大量线程会有什么问题,如何优化?

面试官不厌其烦地问:如何开启一个线程,开启大量线程会有什么问题,如何优化?这道题想考察什么?是否了解线程开启的方式?开启大量线程会引起什么问题?为什么?怎么优化?考察的知识点线程的开启方式开启大量线程的问题线程池考生应该如何回答1、首先,关于如何开启一个线程,大多数人可能都会说3种,Thread、Runnable、Callback嘛!但事实却不是这样的。看JDK里怎么说的。/**…There are two ways to create a new thread of execut

2021-01-13 18:31:17 1504

原创 简述一下Tomcat的工作模式

简述一下Tomcat的工作模式Tomcat工作模式Tomcat作为servlet容器,有三种工作模式:独立的servlet容器,servlet容器是web服务器的一部分;进程内的servlet容器,servlet容器是作为web服务器的插件和java容器的实现,web服务器插件在内部地址空间打开一个jvm使得java容器在内部得以运行。反应速度快但伸缩性不足;进程外的servlet容器,servlet容器运行于web服务器之外的地址空间,并作为web服务器的插件和java容器实现的结合。反应时间不

2021-01-13 14:13:25 441

原创 group by having count() 用法

group by having count() 用法group by语句用于结合聚合函数,根据一个或多个列对结果集进行分组。语法:select column1, column2, … column_n, aggregate_function (expression)from tableswhere predicatesgroup by column1, column2, … column_n;having下面是 HAVING 子句在 SELECT 查询中的位置:SELECTFROM

2021-01-12 15:11:53 24090 1

原创 JVM 是如何处理异常

JVM 是如何处理异常的?参考答案:在一个方法中如果发生异常,这个方法会创建一个异常对象,并转交给 JVM,该异常对象包含异常名称,异常描述以及异常发生时应用程序的状态。创建异常对象并转交给 JVM 的过程称为抛出异常。可能有一系列的方法调用,最终才进入抛出异常的方法,这一系列方法调用的有序列表叫做调用栈。JVM 会顺着调用栈去查找看是否有可以处理异常的代码,如果有,则调用异常处理代码。当 JVM 发现可以处理异常的代码时,会把发生的异常传递给它。如果 JVM 没有找到可以处理该异常的代码块,JVM

2020-12-30 09:33:46 355

原创 Java面试题

是否可以继承String类?答:String 类是final类,不可以被继承。String、StringBuffer 和 StringBuilder 的区别是什么?String是字符串常量,而StringBuffer和StringBuilder是字符串变量。由String创建的字符内容是不可改变的,而由StringBuffer和StringBuidler创建的字符内容是可以改变的。StringBuffer是线程安全的,而StringBuilder是非线程安全的。StringBuilder是从

2020-10-22 17:25:05 74

原创 sql执行顺序+优化

**执行顺序**写的顺序:select … from… where… group by… having… order by…其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行from–where–group by–having–select–order by,1、from子句组装来自不同数据源的数据;2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;4、

2020-07-20 09:15:54 223

原创 MySQL内连接和外连接

MySQL内连接和外连接1、意思bai不一样左连接:只要左边表中有记录,数据就能检索出来,而右边有的记录必要在左边表中有的记录才能被检索出来。右连接:右连接是只要右边表中有记录,数据就能检索出来。2、用法不一样右连接与左连接相反,左连接E LEFT JOIN D,连接查询的数据,在E中必须有,在D中可以有可以没有。内连接 INNER JOIN D ,在E中也有,在D中也有的数据才能查询出来。3、空值不一样左连接是已左边表中的数据为基准,若左表有数据右表没有数据,则显示左表中的数据右表中的

2020-06-29 13:58:57 155

原创 SpringBoot用druid连接池启动报错

org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘dataSource’ defined in class path resource [com/alibaba/druid/spring/boot/autoconfigure/DruidDataSourceAutoConfi...

2019-12-05 14:59:30 861 1

空空如也

空空如也

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

TA关注的人

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