摘要: 作用:让 调用线程 等待 被调用线程 结束之后,调用进程 才能继续运行 当在线程A中调用某个线程的join()方法时,这个方法会挂起调用线程A,直到被调用线程结束执行,调用线程A才会继续执行 英文翻译:当我们调用某个线程的这个方法时,这个方法会挂起调用线程,直到被调用线程结束执行,调用线程才会继续执 阅读全文
posted @ 2022-03-20 19:14 紫薇哥哥 阅读(39) 评论(0) 推荐(0)
摘要: 1、Spring练习环境搭建 环境搭建步骤 实验步骤 1、导入css等静态资源 2、pom.xml导入坐标 阅读全文
posted @ 2022-03-20 18:01 紫薇哥哥 阅读(27) 评论(0) 推荐(0)
摘要: 原因:因为Mark Word中使用4个bit记录对象的年龄,最大就是15 相关知识 Java对象存储在堆(Heap)内存中,一个Java对象包含 对象头、对象体和对齐字节; 对象的几个部分的作用: 1、对象头中的Mark Word(标记字)主要用来表示对象的 线程锁状态,还可以用来存放该对象的has 阅读全文
posted @ 2022-03-20 17:59 紫薇哥哥 阅读(162) 评论(0) 推荐(0)
摘要: Spring AOP 什么是AOP?通过动态代理完成,实现程序功能之间的松耦合 作用 在程序运行期间,在不修改源码的情况下 对 方法进行功能增强 优势 减少重复代码,提高开发效率,并且便于维护 底层实现:动态代理技术 实际上,AOP的底层是通过Spring提供的的动态代理技术实现的。在运行期间,Sp 阅读全文
posted @ 2022-03-20 17:40 紫薇哥哥 阅读(26) 评论(0) 推荐(0)
摘要: MVC工作原理 M:Model (完成业务逻辑 Service/dao/entity/) V:View (完成界面渲染 jsp/html) C:Controller (控制器->类似于CPU 接受请求->调用M->返回V) MVC工作原理图 SpringMVC SpringMVC与Spring的关系 阅读全文
posted @ 2022-03-20 16:47 紫薇哥哥 阅读(63) 评论(0) 推荐(0)
摘要: 什么是ThreadLocal? ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 测试代码: package com.javaBase.LineDistance; /** * 〈一句话功能简述〉; * 〈功能详 阅读全文
posted @ 2022-03-20 14:51 紫薇哥哥 阅读(59) 评论(0) 推荐(0)
摘要: 缓存雪崩、缓存击穿、缓存穿透原因,解决方案? 缓存雪崩 由于设置缓存时,key都采用了相同expire,导致缓存在某刻同时失效,请求全部直到DB,DB瞬时负载过重而雪崩 解决方案 在原有失效时间基础上增加一个随机值,比如1~5分钟的随机,这样每个缓存的过期时间重复率就会降低,集体失效概率也会大大降低 阅读全文
posted @ 2022-03-20 09:48 紫薇哥哥 阅读(183) 评论(0) 推荐(0)
摘要: Redis的高并发和快速原因很多,总结为以下几点: 整体架构 Redis是 纯内存数据库,一般都是简单的存取操作,所以速度快(相对于读写磁盘,读写内存的速度就不是几倍几十倍了) Redis使用 非阻塞IO 与 IO多路复用 Redis采用 单线程的模型,减少了线程的上下文切换和竞争,也保证了每个操作 阅读全文
posted @ 2022-03-20 09:11 紫薇哥哥 阅读(186) 评论(0) 推荐(0)
摘要: 查询性能更稳定;范围查找更方便 1、B+树的叶子节点存储数据,B树每个节点都存储数据,所以B树的查询性能不稳地,而B+树的每一次查找都是稳定的 2、B+树各个叶子节点是链式结构,可以通过链表遍历查找;而B树需要在叶子节点、中间节点上反复横跳 阅读全文
posted @ 2022-03-20 00:56 紫薇哥哥 阅读(70) 评论(0) 推荐(0)
摘要: 五大数据类型 整数类型 N表示的是显示宽度,不足的用0补足,超过的无视长度而直接显示整个数字,但这要整型设置了 zerofill才有效 浮点数类型 decimal采用的是四舍五入;float和double采用的是四舍六入五成双 什么是四舍六入五成双? 就是5以下舍弃5以上进位,如果需要处理数字为5的 阅读全文
posted @ 2022-03-20 00:27 紫薇哥哥 阅读(71) 评论(0) 推荐(0)