摘要: 基本知识 TCP(Transmission Control Protocol,传输控制协议) 面向连接的协议,在收发数据前,必须和对方建立可靠的连接 一个TCP连接必须要经过 三次“握手” 才能建立起来 三次“对话”的目的:确保 通信双方 都 确认自己的 和 对方的发送和接收都正常 UDP(User 阅读全文
posted @ 2022-03-22 15:02 紫薇哥哥 阅读(316) 评论(0) 推荐(0) 编辑
摘要: Redis数据结构 ##1、String: **(底层:)**简单动态字符串(SDS,simple dynamic string),是可以修改的字符串,类似于Java中的ArrayList; **(为什么选用SDS?)**采用预分配冗余空间的方式来减少内存的频繁分配 **(扩容:)**当字符串长度小 阅读全文
posted @ 2022-03-21 09:05 紫薇哥哥 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 作用:让 调用线程 等待 被调用线程 结束之后,调用进程 才能继续运行 当在线程A中调用某个线程的join()方法时,这个方法会挂起调用线程A,直到被调用线程结束执行,调用线程A才会继续执行 英文翻译:当我们调用某个线程的这个方法时,这个方法会挂起调用线程,直到被调用线程结束执行,调用线程才会继续执 阅读全文
posted @ 2022-03-20 19:14 紫薇哥哥 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 1、Spring练习环境搭建 环境搭建步骤 实验步骤 1、导入css等静态资源 2、pom.xml导入坐标 阅读全文
posted @ 2022-03-20 18:01 紫薇哥哥 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 原因:因为Mark Word中使用4个bit记录对象的年龄,最大就是15 相关知识 Java对象存储在堆(Heap)内存中,一个Java对象包含 对象头、对象体和对齐字节; 对象的几个部分的作用: 1、对象头中的Mark Word(标记字)主要用来表示对象的 线程锁状态,还可以用来存放该对象的has 阅读全文
posted @ 2022-03-20 17:59 紫薇哥哥 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Spring AOP 什么是AOP?通过动态代理完成,实现程序功能之间的松耦合 作用 在程序运行期间,在不修改源码的情况下 对 方法进行功能增强 优势 减少重复代码,提高开发效率,并且便于维护 底层实现:动态代理技术 实际上,AOP的底层是通过Spring提供的的动态代理技术实现的。在运行期间,Sp 阅读全文
posted @ 2022-03-20 17:40 紫薇哥哥 阅读(20) 评论(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 紫薇哥哥 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 什么是ThreadLocal? ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。 测试代码: package com.javaBase.LineDistance; /** * 〈一句话功能简述〉; * 〈功能详 阅读全文
posted @ 2022-03-20 14:51 紫薇哥哥 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 缓存雪崩、缓存击穿、缓存穿透原因,解决方案? 缓存雪崩 由于设置缓存时,key都采用了相同expire,导致缓存在某刻同时失效,请求全部直到DB,DB瞬时负载过重而雪崩 解决方案 在原有失效时间基础上增加一个随机值,比如1~5分钟的随机,这样每个缓存的过期时间重复率就会降低,集体失效概率也会大大降低 阅读全文
posted @ 2022-03-20 09:48 紫薇哥哥 阅读(152) 评论(0) 推荐(0) 编辑
摘要: Redis的高并发和快速原因很多,总结为以下几点: 整体架构 Redis是 纯内存数据库,一般都是简单的存取操作,所以速度快(相对于读写磁盘,读写内存的速度就不是几倍几十倍了) Redis使用 非阻塞IO 与 IO多路复用 Redis采用 单线程的模型,减少了线程的上下文切换和竞争,也保证了每个操作 阅读全文
posted @ 2022-03-20 09:11 紫薇哥哥 阅读(159) 评论(0) 推荐(0) 编辑