- 博客(10)
- 收藏
- 关注
原创 【无标题】
设计模式1.七大软件设计原则与实践2.设计模式总结及工厂模式3.单例模式的详解4.深度分析代理模式5.原型、建造者、适配、委派、策略、模板方法模式Spring并发编程MybatisRedisMysqlJavaVirtualMachineMQSpringBootSpringCloud Alibaba
2024-08-18 22:14:46
102
原创 IO流应用及原理分析
RPC(Remote Procedure Call)远程过程调用,是通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。一般用来实现部署在不同机器上的系统方法的调用,通过网络传输使程序能够像访问本地资源一样访问远端系统资源。select/poll:单个进程可以同时处理多个客户端的网络IO连接,缺点:会扫描所有的连接,造成系统开销、响应延时,jdk1.6前的NIO使用的是这种模型。input、output输入和输出,而‘流’是一种抽象的概念,表示的是数据的五结构化传递。
2024-07-23 21:58:10
226
原创 Java网络编程
发送方可以连续发送多个Frame(帧),但接收方发现错误后会要求重传错误帧及其之后的所有帧。这种方法比停止等待更有效,但在错误率高时重传代价较大。从起点发送Frame(帧)到终点,如果收到了就返回一个Ack,起点会等待收到上一个Frame的ack才回去发送下一个Frame。发送方可以连续发送多个帧,接收方仅请求重传出错的帧,而不是所有后续帧。这种方法比Go-Back-N更高效,因为只需重传出错的帧。基于停止等待流控的算法,每次发送一个帧并等待确认,如果未收到确认或收到错误确认,则重传该Frame(帧)。
2024-07-08 21:39:10
165
原创 每日算法
为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。输入:nums1 = [1,2,3,0,0,0], m = 3, nums2 = [2,5,6], n = 3。合并结果是 [1,2,2,3,5,6] ,其中斜体加粗标注的为 nums1 中的元素。输出:[1,2,2,3,5,6]
2024-06-15 23:57:54
338
原创 随机小知识
索引覆盖指的是:所有要查询的字段都可以通过索引来获得,回表扫描指的是:索要查询的字段无法直接通过非聚簇索引获取,要经过二次查询。多版本并发控制,通过undo log日志实现,每次事务提交后都会存储到undo log日志中,包含事务ID、上一版本ID,多条记录构成一个版本链。
2024-05-15 23:45:20
821
1
原创 JVM构成
改变加载源字节码进行加密、解密扩展加载模型(打破双亲委派机制)继承ClassLoader并重写方法findClass()、loadClass()方法。
2024-04-28 22:25:40
326
原创 JVM虚拟机产品分析
JVM是Java虚拟机,是能够运行Java程序的软件,为Java语言实现跨平台提供主要保障,它能够解释并执行Java字节码(.class)文件。
2024-04-27 19:57:58
310
1
原创 SQL调优
2、大数据量场景,第一、由于底层索引导致,数据量大会导致索引树十分庞大,以MySQL来说,底层索引使用的是B+Tree,单表数据量应该避免超过2000万,原因是当数据超过两千万的话,树的高度就为3了,影响查询效率;分表分库,以MySQL来说,底层索引使用的是B+Tree,单表数据量应该避免超过2000万,原因是当数据超过两千万的话,树的高度就为3了,影响查询效率。就是将原表中的字段拆分成多个表,或者多个库上去。缺点:大部分的请求,访问的可能都是最新的数据,所以有可能绝大部分请求还是达到了最新的表、库上了。
2024-04-25 13:28:35
611
原创 ElasticSearch学习过程问题整理
docker run -p 9800:9800 -di --name=elasticHD --link elastic:es containerize/elastichd("--link"连接两个容器使其通信,”elastic“要链接的容器名称,”es“为连接容器起的别名 )中指定的主机列表来尝试发现其他节点。这个参数告诉节点去哪里寻找其他可能存在的节点,从而加入到同一个集群中。在 Elasticsearch 启动时,节点会通过。可能是elasticsearch服务没有配置跨域。数据卷路径要对应的上。
2024-04-16 21:09:31
293
3
原创 中间件Redis面试题
AOF存储方式会将每次执行的写命令追加到一个文件夹的后面,服务重启时会自动读取该文件夹中的命令并且执行来恢复数据,如果不小心执行了flushall,在这种持久化方式下,只需要关闭服务,找到对应文件将末尾的fluashall命令删除重启启动服务即可。缓存穿透指的是,缓存中没有改请求数据的缓存,从而让请求直接打到数据库中,而数据库中也不存在改数据也无从缓存,如果有大量的这类请求,会给数据库造成极大压力甚至冲垮。缓存雪崩指的是,某一时刻有大量的缓存数据同时失效,导致有大量并发请求进入数据库造成冲击。
2024-04-11 09:54:24
248
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人