自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Elasticsearch【入门】

Elasticsearch 是一个非常强大的搜索引擎。它目前被广泛地使用于各个 IT 公司。Elasticsearch 是由 Elastic 公司创建。Elasticsearch 是一个分布式、免费和开放的搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch 基于 Apache Lucene 构建,并于 2010 年由 Elasticsearch N.V. 首次发布(现在称为 Elastic)。

2023-12-06 16:10:34 161

原创 WebSocket在分布式下实现聊天【1】

WebSocket在单机下没什么问题,但是如果WebSocket在分布式下有多个实例节点的情况下会有哪些问题呢?最常见的用户A和用户B连接的是两个不同的实例,那用户A如何给用户B发送消息呢?因为WebSocket的Session对象不像HttpSession对象,WebSocket下的Session对象没有实现序列化接口,所以无法将它保存到Redis中共享。

2023-10-28 19:49:45 181

原创 闲来无事,学习下WebSocket

闲来无事,学习下websocket,这次主要是写了个简单案例,先让项目能够跑起来

2023-10-26 10:18:42 108

原创 MySQL类型隐式转换

什么是MySQL类型隐式转换?平时开发中一定要注意,不然....

2023-10-20 10:02:36 76

原创 Jenkins单点登录插件开发

​ 想通过第三方平台直接能够单点登录到Jenkins,Jenkins本身是支持单点登录的,并且在Jenkins插件库中有提供相关的认证插件可以安装使用,但是并不能够完全适用,因为现有插件实现的单点是针对谷歌、GitLab等平台,想要让自研平台能够实现单点登录Jenkins,需要单独开发一个插件。

2023-06-26 17:49:50 943

原创 Java提高邮件发送性能

项目中使用了Spring中自带的发送邮件功能,原本用的好好的,突然有一天,项目需求要发送大批量的邮件,通过RabbitMQ来实现异步发送,但是发现MQ上面有很多消息堆积了,接着就是排查问题,到底是哪里慢了,发现原来是使用上有点小问题!

2023-04-18 17:58:23 481 1

原创 Grafana对接OAuth2登录

Grafana对接OAuth2,实现第三方账号登录Grafana

2023-03-23 18:13:35 2241 4

原创 定制化OAuth2的授权服务器

定制化OAuth2授权服务器,通过Redis保存授权码,自定义认证逻辑,支持多种认证方式

2023-03-22 15:06:59 188

原创 Flowable流程追踪获取流程图时中文乱码

将需要安装的字体上传至服务器后将他们分别放在/usr/share/fonts目录下和/usr/local/jdk目录/jre/lib/fonts目录下,如果lib目录下面没有fonts目录,那就手动创建一个,命令是mkdir fonts。总结下最近遇到的一个BUG,需求是查询当前流程进度的一个流程图,但是生成的流程图里面的中文乱码,于是乎去查看设计流程时的流程图是正常的,有点奇怪,接下来就给大家讲讲我是如何解决这个问题的。字体安装完之后再通过fc-list命令查看已安装的字体,此时发现有宋体字体了。

2022-09-18 14:43:25 3090

原创 @Profile注解正确使用姿势

@Profile注解正确使用姿势

2022-08-13 10:56:27 998

原创 Docker部署Kakfa——初体验

Docker部署Kakfa——初体验

2022-08-07 20:02:09 900

原创 什么是MySQL表分区?

MySQL表分区问题今天项目上遇到一个我看不懂的SQLException,刚开始很懵逼!!不知道有没有小伙伴和我一样惊掉了下巴?上BUG### Error updating database. Cause: java.sql.SQLException: Table has no partition for value 738735### Cause: java.sql.SQLException: Table has no partition for value 738735; uncategor

2022-08-05 18:08:36 421

原创 Security整合Gateway后配置不生效?

灵异事件?我的Security配置怎么不生效?为什么一直跳转登录页面?因为工作需要,项目中需要引入Spring Security这个安全框架(只是单纯的引入),刚开始觉得好简单,引入完之后在启动类上面把Security自动配置类排除掉不就行了吗?说干就干,引入了Security依赖之后,我在@SpringBootApplication注解的参数exclude中将SecurityAutoConfiguration这个自动配置类排除掉,如果项目中引入了健康检查的依赖还需要将ManagementWebSecu

2022-07-29 09:59:04 1716 3

原创 Nginx+docker-compose部署Apollo

Nginx+docker-compose部署Apollo

2022-07-22 10:01:05 847

原创 Apollo客户端简单使用

apollo客户端的简单使用

2022-07-19 23:56:12 536

原创 Apollo入门使用手册

Apollo入门使用

2022-07-18 17:54:29 1548 1

原创 JAVA中IO流太多分不清?看这张图就够了

2022-05-09 08:46:27 149

原创 Bean的生命周期中重要接口你知道几个?

IoC是Spring的重要特性之一,IoC是控制反转,即将创建对象的控制权交由容器管理,那么容器是如何创建对象的呢?接下来我们来学习Bean的生命周期。首先,第一步,看过Spring源码的童鞋应该都知道在Spring中有一个极其重要的方法——refresh()方法,在这个方法里面做了许多事情,话不多说,让我们先看看这个方法的代码:@Overridepublic void refresh() throws BeansException, IllegalStateException { synchro

2022-05-07 09:46:22 203

原创 总搞不懂AOP中通知执行的顺序?

在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。初学者刚接触AOP感觉很难接受,总感觉通知执行的顺序总是千遍万化,总是拿捏不定,原因是不知道它执行的一个原理

2022-05-05 20:52:29 613

原创 @SpringBootApplication注解组成

自动配置SpringBoot注解@SpringBootApplication 主要由三个注解组成@SpringBootConfiguration表示一个类提供 Spring Boot 应用程序@Configuration 。可以用作 Spring 标准@Configuration注释的替代品,以便可以自动找到配置(例如在测试中)。应用程序应该只包含一个@SpringBootConfiguration并且大多数惯用的 Spring Boot 应用程序将从@SpringBootApplicatio

2022-04-25 20:51:02 3477

原创 SpringSecurity入门

SpringSecurityspringsecurity本质上是一个过滤器链(多个过滤器组成)过滤器加载配置DelegatingFilterProxy、在doFilter中调用initDelegate()获取过滤链(FilterChainProxy)对象,在过滤链对象中获取Security的所有过滤器UserDetailsService通过数据库查询用户信息PasswordEncoder对密码进行加密设置用户名和密码通过配置文件spring: security: user:

2021-09-18 00:09:12 311

原创 Failed to create JVM.JVM Path错误,修改了utf-8后打不开Android studio看着一篇就够了

Failed to create JVM.JVM Path错误,修改了utf-8后打不开Android studio看着一篇就够了找到这个路径C:\Users\Administrator\AppData\Roaming删除google文件夹重新打开Android Stuodi就好了

2021-09-11 01:14:34 275

原创 Java聊天室

基于网络编程Socket写的一个简单聊天室客户端import com.qf.xjw.thread.ReaderThread;import com.qf.xjw.thread.WriterThread;import java.io.IOException;import java.net.Socket;public class Client { public static void main(String[] args) { Socket socket = null;

2021-08-14 13:49:49 74

原创 CopyOnWriteArrayList源码解读

在我们以往学习的ArrayList、HashMap等集合在通过增强for对集合进行遍历和修改集合结构时会出先并发修改异常,接下来通过学习CopyOnWriteArrayList集合来了解线程安全的集合CopyOnWriteArrayList是一个线程安全的集合底层实现是一个被volatile修饰的Object类型的数组,因为被volatile修饰,所以保证了数据的可见性数组默认大小为0public CopyOnWriteArrayList() { setArray(new Obj

2021-08-06 19:58:18 90

原创 Java基础知识总结

基础Exception当 try 或 catch 语句块中有 return 语句时,先执行 try 或 catch 语句块中 return 语句之前的代码,再执行 finally 语句块中的代码,之后再返回。所以,即使在 try 或 catch 语句块中有 return 语句,finally 语句块中的代码仍然会被执行。throw:手动抛出异常throws:将方法中的异常抛给调用该方法的对象public class Test2 { public static void main(String

2021-08-04 20:11:48 281

原创 Servlet[springMVC]的Servlet.init()引发异常

Servlet[springMVC]的Servlet.init()引发异常描述 服务器遇到一个意外的情况,阻止它完成请求。例外情况javax.servlet.ServletException: Servlet[springMVC]的Servlet.init()引发异常 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543) org.apache.catalina.valve.

2021-06-21 18:28:58 3340

原创 泛型

泛型泛型只在编译时有效,当运行时JVM中是没有泛型这一说法的,这就是泛型的 可擦除机制泛型是在编译时起一个约束作用,如:public class Test { public static void main(String[] args) { List<String> list=new ArrayList<>(); }}上面定义的ArrayList集合中只能存放String类型的对象,如果放别的对象会编译不通过在JDK1.7前泛型只能List list

2021-05-17 13:00:19 58

原创 A ResourcePool could not acquire a resource from its primary factory or source

A ResourcePool could not acquire a resource from its primary factory or source我使用的数据库是MySql5.7版本的四月 26, 2021 11:30:50 上午 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet [springmvc] in context with path [/personnel]

2021-04-26 11:48:35 421

原创 Java基础——抽象类和接口

抽象类抽象类的格式:public abstract class AbstractPerson {}一个抽象类通过abstract关键字来定义抽象方法的格式:用abstract修饰,只有方法签名,没有方法体。public abstract class AbstractPerson { public abstract void method();}图中的method方法就是一个抽象方法。抽象类的作用:对事物的分析、设计得到得抽象概念。抽象类得特点:1.一个抽象类中可以没有抽象方法,

2021-04-13 13:09:45 374

原创 java基础——上下转型

什么是向上转型?什么是向下转型?向上转型:父类的引用指向子类向下转型:子类的引用指向父类上面这个图的Person是父类,Student和Teacher是Person的子类,我们可以看到他们是父类和子类是上下层次的关系,而Student和Teacher是同一层的关系,而我们的向上转型就是往上面走,而向下转型就是往下面走。Person类是比Student和Teacher类更高一层的类,而我们下面的类变成上一层的类就是向上转型,而更高一层的类变成下面层次的类就是向下转型。接着,我们来通过代码理解。pu

2021-04-12 10:39:39 176

原创 java基础——继承实现多态

java基础——多态上次说完了类的继承,这次来说说多态,首先,我们学习一个新的知识点前都会思考几个问题,什么是多态?为什么要学多态?怎么用多态?接下来我们逐个问题去解答什么是多态?话不多说,先来个名词解析:多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。 多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。名词解析的解释有点生硬,那我们就用自己的话来解释,多态,见名知义,就是多种形态,那是谁多种形态呢?java中主要就是类和对象

2021-04-12 00:19:21 864 1

原创 java基础——类的继承

类的继承为什么要用继承?继承的用法使用继承该时注意哪些方面?继承范围Super关键字继承方法的重写继承的属性继承的特点为什么要用继承?在之前的学习中,我们发现,有些类之间有着相同的属性或者方法,我们每写相似的类都要写一次相同的属性或者方法,这就造成了代码冗余,我们可以通过继承,实现代码的复用,继承就是将相同的方法和属性提取出来作为一个类,让有和这个类中的属性和方法的类去继承这个类来得到这个类的属性和方法,并且可以在此基础上进行扩展。继承的用法想要了解继承,首先我们先了解一下继承中类的叫法,首先被继承

2021-04-11 22:54:22 161

空空如也

空空如也

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

TA关注的人

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