面试季
憨生在杭州
从事java多年了呀
展开
-
volatile的三个特性
volatile的三个特性原子性(不满足)可见性(满足)禁止指令重排序优化(满足)原创 2020-09-23 14:11:40 · 379 阅读 · 0 评论 -
Tomcat 架构原理解析到架构设计借鉴
Tomcat 架构原理解析到架构设计借鉴掌握 Tomcat 架构设计与原理提高内功连接器容器请求定位 Servlet 的过程Lifecycle 生命周期Tomcat 为何打破双亲委派机制Tomcat 热加载Tomcat 的类加载器整体架构设计解析收获总结掌握 Tomcat 架构设计与原理提高内功宏观上看Tomcat 作为一个 「Http 服务器 + Servlet 容器」,对我们屏蔽了应用层协议和网络通信细节,给我们的是标准的 Request 和 Response 对象;对于具体的业务逻辑则作为变化原创 2020-09-23 11:17:34 · 184 阅读 · 1 评论 -
redis变慢了如何解决
redis变慢了如何解决设置慢查询日志,加载出所有慢查询语句查询出所有的慢查询扫描出大Key的方法Redis的过期策略采用主动过期+懒惰过期两种策略:如果你的业务确实需要集中过期掉某些key,又不想导致Redis发生抖动,有什么优化方案?实例内存达到上限fork耗时严重设置慢查询日志,加载出所有慢查询语句- config set slowlog-log-slower-than 5000- config set slowlog-max-len 1000设置慢查询时间大于5秒,且只保留1000条数据。原创 2020-09-22 17:41:18 · 344 阅读 · 0 评论 -
HashMap源码解读
HashMap源码解读有新内容在继续补充!HashMap为什么继承AbstractMap和实现了Map接口?其实已经实现了Map接口,所以可以不需要继承。HashMap初始化的大小为多少HashMap的初始化大小64,最大容量1073741824,扩容因子0.75,当HashMap容量大于8时需要将链表存储转为红黑树 链表存储的查询速度大概为N/2,红黑树的查询效率在log2(n) 所以当容量为8时,链表查询速度4小于红黑树查询数据log2^8=3。transient关键字的作用是原创 2020-09-18 17:13:30 · 203 阅读 · 0 评论 -
Redis常见雪崩问题和缓存击穿
Redis常见雪崩问题和缓存击穿什么是缓存雪崩当大量得缓存数据同时失效,大量外部请求直接访问到数据库,造成得数据库瘫痪。如何解决1、 设置随机得Cookie失效时间2、 设置热点数据不过期什么是缓存穿透缓存和数据库都不存在数据。如何解决1、布隆过滤器:通过bitmap,对请求进行hash并标记位图的当前位置为1,如果觉得碰撞的几率大,可以通过一定规则来构建bitmap。2、 设置key-null的失效时间为30s什么是缓存击穿缓存数据过期,数据库有数据。如何解决:1、原创 2020-09-17 10:37:59 · 75 阅读 · 0 评论 -
JVM中代码执行顺序
JVM中代码执行顺序代码编译为Clss 通过javac通过ClassLoader加载执行Class原创 2020-09-17 09:31:54 · 150 阅读 · 0 评论 -
分布式数据库中CAP原理和BASE理论
分布式数据库中CAP原理和BASE理论传统的ACID分别是什么?原子性 Atomicity一致性 consistency隔离性 isolation永久性 durability什么是CAP,三选二一致性 consistency可用性 availability分区容错性 Parition toleranceAP和CP的选择AP大多数网站架构的选择,弱一致性。CP Redis、Mongodb什么是BASE基本可用 Basically AvailableSoft Sta原创 2020-09-15 23:03:39 · 138 阅读 · 0 评论 -
HTTPS和HTTP的差别有哪些?
HTTPS和HTTP的差别有哪些?什么是HTTPS如何通讯是安全的对称加密与非对称加密、摘要算法、数字签名、完整性校验到底是什么迁移HTTPS的必要性原创 2020-09-15 22:38:56 · 77 阅读 · 0 评论 -
Redis和memcache、mongodb的区别
Redis咸鱼也会想翻身Redis和memcache、mongodb的区别功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入咸鱼也会想翻身你好! 也是突发的想写技术博客,我估计也是三分钟热度。进行一次尝试,通过使用考官角度来夯实自原创 2020-09-15 20:29:47 · 76 阅读 · 0 评论 -
常见的数据库索引失效原因
常见的数据库索引失效原因在给表建立关联索引时候,需要注意从左到右匹配索引。否则索引失效。查询的条件和索引的类型不一致失效。使用!= 或者<> 等特殊符号索引失效。使用函数索引失效。使用运算符号索引失效。使用模糊查询,索引失效。使用Not in 、not exists导致索引失效。...原创 2020-09-15 20:26:48 · 288 阅读 · 0 评论 -
abstract和interface区别
相同点: 1、abstract和interface都不能被实例化。2、继承abstract和实现interface都需要实现他们抽象的方法。不同点: 1、abstract使用extends,interface使用implement 2、抽象类是单继承的,可以实现多个接口 3、接口强调实现,抽象类强调重属关系 ...原创 2019-08-20 20:26:15 · 360 阅读 · 0 评论