Easter79 Easter79
3年前
tomcat源码分析
摘要:在阅读tomcat源码前,我们一般都会有如下几个疑问:web容器和servlet容器的区别是什么;在springMVC中的web.xml是什么时候加载到tomcat中的;tomcat是怎么加载我们的web服务的;tomcat是怎么实现的热部署;一个http请求1.前言1.1问题思考在阅读tomcat源码前,我们
Wesley13 Wesley13
3年前
java高并发(三)并发编程的基础
CPU多级缓存为什么需要CPU缓存?原因是,CPU的频率太快了,快到主存跟不上,这样在处理器时钟周期内,CPU常常需要等待主存,浪费资源。所以cache的出现,是为了缓解CPU和内存之间速度的不匹配问题。CPU缓存有什么意义?时间局部性:如果某个数据被访问,那么在不久的将
Stella981 Stella981
3年前
Spring+SpringMVC+Mybatis+Mysql整合实例【转】
本文要实现SpringSpringMVCMybatisMysql的一个整合,实现了SpringMVC控制访问的页面,将得到的页面参数传递给Spring中的Mybatis的bean类,然后查找Mysql数据的功能,并通过JSP显示出来。建议可以先看笔者另一文章Mybatis与Spring整合创建Web项目 。笔者觉得整合过程中问题比较多的还是Spring
Stella981 Stella981
3年前
Redis哈希对象的ziplist编码实现了O(1)复杂度吗
问题:Redis中哈希对象有两种编码方式,分别是ziplist、hashtable方式。哈希对象,总得体现哈希算法,使得基本操作达到O(1)的效率。hashtable编码方式使用字典,也即是Java中hashMap的方式,这个我可以理解。但是,ziplist方式所有元素都是紧挨的,它是怎么实现hash,并使得查询等操作有O(1)的时间效率的呢?让我们
Stella981 Stella981
3年前
Android保活从入门到放弃:乖乖引导用户加白名单吧(附7大机型加白示例)
1、引言IM在Android上的保活问题经常在即时通讯网的论坛和技术群里被讨论,自从Android8.0后系统大大降低了后台运行应用的保活容忍度(详见《AndroidP正式版即将到来:后台应用保活、消息推送的真正噩梦(https://www.oschina.net/action/GoToLink?urlhttps%3A%2
Wesley13 Wesley13
3年前
Java系统架构
如果你所在的公司/团队还没有应用监控基础设施,如何让系统在上线后及时知道发生了问题?其中一个非常简单的方案就是对日志进行实时扫描监控.怎么做?不管你用的是什么框架,你的日志库应该可以设置日志级别.将日志级别打印在日志行的最开始.例如:ERRORxxxWARNxxx
Stella981 Stella981
3年前
SpringBoot整合SpringSeesion实现共享Session方案
Http协议本身是无状态的,为了保存会话信息,浏览器Cookie通过SessionID标识会话请求,服务器以SessionID为key来存储会话信息。在单实例应用中,可以考虑应用进程自身存储,随着应用体量的增长,需要横向扩容,多实例Session共享问题随之而来。下面假设我们使用Nginx来实现负载均衡横向扩节点:!(https://oscimg
Stella981 Stella981
3年前
LeetCode459. 重复的子字符串
1.问题描述给定一个非空的字符串,判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母,并且长度不超过10000。示例1:输入:“abab”输出:True解释:可由子字符串“ab”重复两次构成。示例2:输入:“aba”输出:Fal
Easter79 Easter79
3年前
SpringBoot整合SpringSeesion实现共享Session方案
Http协议本身是无状态的,为了保存会话信息,浏览器Cookie通过SessionID标识会话请求,服务器以SessionID为key来存储会话信息。在单实例应用中,可以考虑应用进程自身存储,随着应用体量的增长,需要横向扩容,多实例Session共享问题随之而来。下面假设我们使用Nginx来实现负载均衡横向扩节点:!(https://oscimg
Stella981 Stella981
3年前
DubboX + SpringBoot最佳实践
一、先了解一下情况Dubbox是什么?现在微服务很火,而Dubbox就是一个支持微服务的一个框架SpringBoot又是什么?我们先来讨论一个问题,我们在使用Spring的时候,是不是要进行大量的配置,甚至部署的时候还要重新配置发布环境,重新打包,部署…………是不是觉得太麻烦了?而Spri