Easter79 Easter79
3年前
tomcat源码分析
摘要:在阅读tomcat源码前,我们一般都会有如下几个疑问:web容器和servlet容器的区别是什么;在springMVC中的web.xml是什么时候加载到tomcat中的;tomcat是怎么加载我们的web服务的;tomcat是怎么实现的热部署;一个http请求1.前言1.1问题思考在阅读tomcat源码前,我们
Easter79 Easter79
3年前
Vue 项目中各种痛点问题及方案
!(https://oscimg.oschina.net/oscnet/ad4bd1bfa4464061944b82e4f8fd73ac.jpg)最近要求使用vue进行前后端分离开发微信公众号,不断摸索踩坑之后,总结出如下几点vue项目开发中常见的问题及解决办法。列表进入详情页的传参问题本地开发环境请求服务器接
Stella981 Stella981
3年前
Django用户认证
COOKIE与SESSION概念cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上cookie,这
Stella981 Stella981
3年前
Redis线程模型
Redis是单线程模型,它内部采用了文件事件处理器filtereventhandler,而这个处理器是单线程的。文件事件处理器包含:多个socket、IO多路复用程序、事件分派器、事件处理器(连接应答处理器、事件请求处理器、事件回复处理器)。流程:IO多路复用程序会
Stella981 Stella981
3年前
Gson字符串转实体的问题
这里遇到一个比较棘手的问题,原来项目中使用的不是Gson,客户端在请求json数据时如果没有具体的数据内容会返回空字符串,如:{"result":{"errorMessage":"用户名/密码错误","errorCode":0},"data":""}这里的data是表示没有具体的数据,但是在Gson解析时我们用来接受的数据却是具体的实体对象,be
Stella981 Stella981
3年前
Spring Boot(十三)RabbitMQ安装与集成
一、前言RabbitMQ是一个开源的消息代理软件(面向消息的中间件),它的核心作用就是创建消息队列,异步接收和发送消息,MQ的全程是:MessageQueue中文的意思是消息队列。<!more1.1使用场景削峰填谷:用于应对间歇性流量提升对于系统的“破坏”,比如秒杀活动,可以把请求先发送到消息
Wesley13 Wesley13
3年前
Java线程与多线程
1线程与多线程1.1线程是什么?线程(Thread)是一个对象(Object)。用来干什么?Java线程(也称JVM线程)是Java进程内允许多个同时进行的任务。该进程内并发的任务成为线程(Thread),一个进程里至少一个线程。Java程序采用多线程方式来支持大量的并发请求处理,程序如果在
Stella981 Stella981
3年前
SpringBoot整合SpringSeesion实现共享Session方案
Http协议本身是无状态的,为了保存会话信息,浏览器Cookie通过SessionID标识会话请求,服务器以SessionID为key来存储会话信息。在单实例应用中,可以考虑应用进程自身存储,随着应用体量的增长,需要横向扩容,多实例Session共享问题随之而来。下面假设我们使用Nginx来实现负载均衡横向扩节点:!(https://oscimg
Easter79 Easter79
3年前
SpringBoot整合SpringSeesion实现共享Session方案
Http协议本身是无状态的,为了保存会话信息,浏览器Cookie通过SessionID标识会话请求,服务器以SessionID为key来存储会话信息。在单实例应用中,可以考虑应用进程自身存储,随着应用体量的增长,需要横向扩容,多实例Session共享问题随之而来。下面假设我们使用Nginx来实现负载均衡横向扩节点:!(https://oscimg
【专项测试系列】-缓存击穿、穿透、雪崩专项测试
作者:刘须华一、背景概述: R2M缓存的使用,极大的提升了应用程序的性能和效率,特别是数据查询方面。而缓存最常见的问题是缓存穿透、击穿和雪崩,在高并发下这三种情况都会有大量请求落到数据库,导致数据库资源占满,引起数据库故障。平时