自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springBoot聚合websocket如何实现单机10万+长连接

1、springboot项目聚合websockert代码。代码如下:/** * 开启WebSocket支持 * */@Configurationpublic class WebSocketConfig { /** * 扫描并注册带有@ServerEndpoint注解的所有服务端 * @return */ @Bean public ServerEndpointExporter serverEndpointExporter() {

2020-06-24 11:40:27 11636 14

原创 由@EnableWebMvc注解引发的Jackson解析异常

但是查看了他合并过来的代码,也并未涉及到jar依赖的升级变更等。,因为@EnableWebMvc注解会导入DelegatingWebMvcConfiguration类,而这个类继承了WebMvcConfigurationSupport类,并且有@Order注解,指定了加载顺序。这样的话,Spring Boot的默认MVC配置就会被关闭,你需要自己配置Spring MVC的功能,例如拦截器、视图解析器、消息转换器等。所以当@RequestBody修饰的类没有无参构造函数的时候解析就报错了。

2023-12-13 09:46:24 540

原创 开始使用Spring Boot Admin吧-使用Nacos注册SBA

本文使用nacos作为注册中心,实现客户端通过nacos注册到服务端。使用注册中心注册的好处在于,客户端无感知就能被监控。

2023-11-28 11:02:41 1556

原创 原来user.dir竟然会影响classpath的值

我百思不得其解,只能翻JDK的源码看看AppClassLoader怎么加载它的URL。起因:使用脚本启动,脚本设置了classpath的路径为当前路径。但是从tomcat日志打印来看,扫描的不仅仅是当前路径,而是主目录下所有的文件夹都被扫描。classpath的值就变成了user.dir的值。从上方的代码可以看到pathToURLs(path)是把"."转化为路径的关键代码。那么接下看看这个方法干了啥吧。这就解释了为什么classpath设置了“.”而APPClassLoader的url却变成了主目录。

2023-11-27 15:27:15 403

原创 Spring Boot Admin(SBA)核心流程-注册篇

SBA的实例默认都是保存在内存中的,SBA服务端通过保存的实例信息,每间隔一段时间(可配置)会发送http请求去请求健康状态、端点信息等。简单了解了SBA是什么,我们就开始介绍SBA的核心流程,至于怎么搭建SBA客户端and服务端,可自行百度,这类的文章居多。通过服务发现的方式注册最大的不同就是,客户端不需要配置服务的url.只需要配置注册中心,就能自动注册到服务端。应用可以通过我们的SBA客户端(通过HTTP的方式)或者使用Spring Cloud ®(比如Eureka,consul的方式)注册。

2023-11-27 15:25:52 1182

原创 一篇文章读懂Tomcat的Context配置

Context元素代表一个Web应用程序,它在特定的虚拟主机中运行。处理每个 HTTP 请求的 Web 应用程序,都是基于将请求 URI的前缀与每个定义的Context的*Context路径进行匹配。* 一旦选择,该Context将根据 Web应用程序部署定义的servlet映射选择适当的servlet来处理传入请求。可以根据需要定义任意数量的Context元素。每个Context必须在Host中具有唯一的Context名称。Context路径不需要是唯一的(参考并行部署)。

2022-10-25 15:16:57 6321

原创 Tomcat的JDBC数据源之一(如何使用配置JDBC数据源)

许多 Web 应用程序需要通过 JDBC 驱动程序访问数据库,以支持该应用程序所需的功能。Java EE 平台规范要求 Java EE 应用服务器为此目的提供DataSource实现(即用于 JDBC 连接的连接池)。

2022-07-20 10:32:12 2325

原创 druid监控流程源码分析

druid号称为监控而生的数据库连接池。详情请介绍参考官方链接:(https://github.com/alibaba/druid/wiki/Druid%E8%BF%9E%E6%8E%A5%E6%B1%A0%E4%BB%8B%E7%BB%8D)本次文章只做监控流程的源码分析。初始化等流程一笔带过,不做详解。首先druid初始化会创建一个DruidDataSource数据源对象。以一次查询为例。当我们请求接口查询用户信息时,会执行DruidDataSource的getConnection()方法。该方法

2022-05-06 16:03:28 1082 7

原创 kubelet cgroup driver与docker cgroup drive不一致解决方案

某个早上,本人刚打开电脑测试就开始找上了我。啊!!!测试环境的k8s启动不了了!!!作为一个成天摸鱼哦不!!努力工作的小姑娘。本着助人为乐的原则,我决定要发挥一下我的作用~今天就要去测试环境给他搞好!!!好了回到正题,首先第一步我们应该干啥?当然是确认k8s的状态。1、查看k8s状态 systemctl status kubelet看到k8s确实是启动失败了,但是这里并没有什么关键信息能让我们知道启动失败的原因。2、查看k8s日志 journalctl -xefu kubelet日志有一大堆但是

2021-10-20 11:24:00 2054 1

原创 总结几种常见的网络攻击,及解决方案

背景:最近公司技术分享,同事分享了常见的安卓系统攻击方式,作为一个服务端的开发工程师,当然是也要科普一下web安全。本文章会简单介绍一下目前常见的web常见攻击方式,跟如何应对这些攻击方式。如果你对这方面有兴趣,就一起看下去吧(✪ω✪)!!常见的网络攻击有哪些首先呢简单介绍一下目前常见的几种网络攻击:XSS攻击、SQL注入、CSRF攻击、上传文件攻击、DDos攻击XSS攻击:Cross Site Script跨站脚本攻击,它指的是恶意攻击者往Web页面里插入恶意的html+javascript的脚本

2021-05-29 17:10:05 11952 2

原创 详解redis单线程模型

背景:但凡你用redis都知道redis的一大特点就是单线程,那么在如今服务器普遍多核的时代下,为什么redis要采用单线程模型?单线程模型好在哪里?不用单线程模型redis是不是可以更快?带着这些问题我们一起来回顾一下redis的单线程模型。首先认识一下redis的单线程模型是什么:redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。文件事件处理器的结构包含 4 个部分:多个 socketIO 多路复用程

2021-03-31 17:12:26 640 2

原创 Springboot+oauth2.0实现微信登录(oauth2.0自定义授权模式)

1、前置准备参考 https://blog.csdn.net/qq_34190023/article/details/811336192、微信登录实现流程图3、oauth自定义授权模式上图大概描述了微信登录的一个流程。如果你是用oauth2.0,就会存在一个问题。oauth2.0自身支持四种授权模式,分别是:authorization code(授权码模式)implicit(简化模式)resource owner password credentials(密码模式)client crede

2021-02-20 16:20:19 5222 9

原创 幂等性是什么/如何保证接口幂等性

1. 什么是幂等性?幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。例如,“setTrue()”函数就是一个幂等函数,无论多次执行,其结果都是一样的。在HTTP/1.1规范中的幂等性定义:Methods can also have the

2020-12-29 16:56:04 1150 3

原创 深度解析OAuth2.0授权协议

**OAuth2.0简介**OAuth产生背景很多网站、APP 弱化甚至没有搭建自己的账号体系,而是直接使用社会化登录的方式,这样不仅免去了用户注册账号的麻烦、还可以获取用户的好友关系来增强自身的社交功能。  比如我们可以使用微信登录CSDN,CSDN会自动将你的微信头像设置为你的CSDN头像,将你的微信昵称设置为你的CSDN昵称,甚至还可以获取你微信中的好友列表,提示你哪些朋友已经在使用CSDN,这是如何做到的呢?最传统的办法是让用户直接在CSDN的登录页面输微信的账号和密码,CSDN通过用户

2020-10-15 16:07:10 353

原创 学习笔记之《RPC与HTTP的区别》

1、HTTP 1.0 、1.1、 2.0有什么区别1.0:短连接。例如发100张图。需要TCP100次握手跟挥手。1.1 :长连接,发100张图,只需要一次握手挥手。2.0 :长连接+IO多路复用。2、 RPC与HTTP的区别2.1 性能主要差别在序列化与反序列化,RPC通过thrift二进制传输。Http json序列化更消耗性能。2.2 传输协议rpc基于tcp协议,也可基于http协议。http只能用http协议。2.3 负载均衡rpc自带负载均衡。http不提供负载均衡,需要自

2020-08-26 16:13:11 165

原创 java.lang.IncompatibleClassChangeError异常(在将包含LocalDateTime字段类型的Java对象JSON.toJSONString转换时出现的错误)

问题:在处理包含LocalDateTime字段类型的Java对象JSON.toJSONString转换时出现的错误在网上找了一大堆方案都不靠谱,大概猜到了是fastjson对LocalDateTime处理出现的错误,以下是错误信息org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.IncompatibleClassChangeError: F

2020-05-18 15:07:11 1689

原创 docker删除redis数据

1、docker ps -a 查看当前运行的容器2、进入redis客户端 docker exec -it xxx(ID) redis-cli3、查询所有key: keys *4、删除指定key:del xxx(key)5、退出容器 exit...

2020-04-24 11:15:59 1553

原创 并发编程之CompletableFuture例子详解

public static void main(String[] args) throws ExecutionException, InterruptedException {ExecutorService executor = Executors.newFixedThreadPool(5);long time1 = System.currentTimeMillis()/1000;// ...

2019-10-19 17:56:00 246

原创 什么是强引用,弱引用,软引用,虚引用

架构强引用:当内存不足,JVM开始垃圾回收,对于强引用的对象,就算出现了OOM也不会对该对象进行回收。通常我们所使用的百分之95都是强引用。例如Object object=new Object()就是强引用。软引用:SoftReference 软引用通常是用在对内存敏感的程序中,比如高速缓存就有用到软引用。内存够用的时候就保留,不够用就回收。弱引用:WeakReference对于弱引用的...

2019-09-07 17:17:39 1363

原创 OOM详解

StackOverFlowError:栈溢出。属于错误还是异常?属于错误 深度的方法调用会导致栈溢出。OutOfMemoryError:Java heap space堆内存溢出。也是属于错误。频繁的创建新对象大对象会导致堆溢出。OutOfMemoryError:GC OverHead limit exceeded GC回收时间过长时会抛出这个异常,过长的定义是,超过98%的时间用来做GC并...

2019-09-07 17:15:17 420

翻译 redis.conf配置项说明

参数说明redis.conf 配置项说明如下:Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程  daemonize no当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定  pidfile /var/run/redis.pid指定Redis监听端口...

2019-07-01 11:30:16 105

原创 Spring Boot跟Spring Cloud的区别 And Dubbo跟Spring Cloud的区别

Spring Boot 跟Spring Cloud的区别Spring Boot专注于快速方便的开发单个个体微服务。Spring Cloud是关注全局的微服务协调治理的框架,它将Spring Boot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务。Spring Boot可以离开Spring ...

2019-06-25 15:01:00 1664

原创 Dockerfile详解(附录如何构建一个Dockerfile)

1、Dockerfile基础1.1 每条保留字指令都必须为大写字母且后面要跟随至少一个参数。1.2 指令按照从上到下顺序执行。1.3 #表示注释。1.4 每条指令都会创建一个新的镜像层,并对镜像进行提交。2、Docker执行Dockerfile的大致流程2.1 docker从基础镜像运行一个容器2.2 执行一条指令并对容器进行修改2.3 执行类似docker commit的操作提交...

2019-06-19 11:30:59 666

webSocketTest.zip

用来压力测试websocket服务端的。可以直接运行main方法。会根据循环次数建立websocket的客户端连接数量。每个连接是一个线程。

2020-06-24

空空如也

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

TA关注的人

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