上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: BIO通信模型图 缺点:缺乏弹性伸缩能力,线程是非常宝贵的资源,为每个请求创建、销毁线程会在请求数膨胀时出现性能问题,甚至堆栈溢出、创建线程失败,最终导致进程宕机。 改进用线程池 NIO的关键概念 缓冲区Buffer ByteBuffer(最常用) CharBuffer ShortBuffer In 阅读全文
posted @ 2020-09-10 18:47 挣扎一下 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 什么是ThreadLocal ThreadLocal正如其名,是一个线程本地变量,每个线程独自持有,保证了该变量的线程安全性,还可以在线程上下文中传递。 ThreadLocal如何实现 每个线程中存在一个ThreadLocalMap对象,key是ThreadLocal对象本身,value是Threa 阅读全文
posted @ 2020-08-15 19:20 挣扎一下 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 主从延迟如何解决 从库关闭binlog 假如网络问题,优化网络 确认负载,假如从库负载高,加从库 mysql-5.6.3已经支持了多线程的主从复制 乐观锁和悲观锁的适用场景 乐观锁 通过在表中增加版本号的形式使用,每次update的时候会去检查版本号是否有过变更。假如变更则更新失败重新发起流程。 适 阅读全文
posted @ 2020-08-14 00:13 挣扎一下 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 保证消息可靠性 生产者发送消息到broker的可靠性 服务端确认机制 channel设置为事务模式(transaction模式):缺点:阻塞、性能下降;消耗额外的性能,不建议生产环境使用。 confirm模式:waitForConfirm(),发送成功后会confirm;可以批量确认,提升性能;还可 阅读全文
posted @ 2020-07-31 00:20 挣扎一下 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 连接 服务端 控制连接超时时间,总连接数 客户端 使用连接池(连接池里连接数量不是越大越好,默认8-10个) SQL Explain 索引 最左匹配原则 分表分库 垂直拆分 水平拆分 主从复制 从服务器:I/O Thread:请求master获取binlog,然后写入到relay log里;从服务器 阅读全文
posted @ 2020-07-27 23:10 挣扎一下 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 事务的特性 ACID 原子性 一致性 隔离性 持久性 通过redolog 和 doublewrite(页损坏的情况) 实现持久性 事务什么时候开启 默认自动开启,自动提交。 通过begin;命令显式开启事务;通过commit;/rollback;结束事务。 事务的隔离级别 读未提交 存在的问题:脏读 阅读全文
posted @ 2020-07-24 23:58 挣扎一下 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 索引 一个排序的数据结构,用来协助提升查询效率。InnoDB中是B+树。 Page InnoDB中存储数据的最小逻辑单位,一个页16KB,存储多个行。 一个节点上就是一个页的大小,页的数据在节点中。加载节点的次数越多,I/O寻址的次数越多。B+树矮胖 减少了寻址次数。 B+树和B树区别 关键字数和分 阅读全文
posted @ 2020-07-24 00:15 挣扎一下 阅读(182) 评论(0) 推荐(0) 编辑
摘要: MYSQL执行流程 建立连接 连接协议:TCP/IP、Unix Socket 通信方式:半双工 发送请求 查询缓存(默认缓存不开启) 解析器 词法解析 语法解析 生成解析树 预处理 语义解析 得到新的解析树 优化器 选择开销最小的执行计划 查询执行引擎(执行器) 存储引擎 概念:存储引擎是组织数据存 阅读全文
posted @ 2020-07-23 20:58 挣扎一下 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 什么时候会发生垃圾回收 MinorGC:Eden区或者S区不够用了 MajorGC:老年代不够用了 FullGC = MinorGC + MajorGC + MetaSpace GC System.gc()(该方法不会立即唤起gc ) 什么时候需要调优 出现问题:频繁GC?cpu高 >打印GC日志 阅读全文
posted @ 2020-07-22 22:20 挣扎一下 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 参数 标准参数:不会随着JDK版本的变化而变化 java -version/-help -X参数: 非标准参数:随着JDK版本变化而变化 Xint:解释执行 Xcomp:编译执行 Xmix:混合执行 -XX参数 boolean类型 -XX:[+/-]name:启动或停止 -XX: +UseSeria 阅读全文
posted @ 2020-07-21 23:36 挣扎一下 阅读(167) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页