java后端工程师进修ing(研一版‖day44)

目录

今日总结

详细内容

java随征录

kafka自动生成的data目录是用来干什么的

Broker启动的流程

科研随探录

八股随笔录

代码随想录


今日总结

  • java随征录------kafka(完结)
  • 科研随探录------
  • 八股随笔录------MySQL面试篇(6/7)
  • 代码随想录------构造平衡二叉搜索树

详细内容

java随征录

kafka自动生成的data目录是用来干什么的

存储数据的核心位置,保存的数据和文件如下

  1. 日志段文件
    Kafka的消息是以日志的形式存储的,每个分区由多个日志段文件组成。.log文件是实际存储消息的文件,.index文件是偏移量索引文件,.timeindex文件是时间戳索引文件
  2. 事务日志文件
    如果Kafka开启了事务功能,那么在 data 目录下会有事务日志文件
  3. 分区元数据文件
    存储分区的相关信息
  4. 日志清理相关文件
    Kafka为了控制磁盘空间的使用,会定期进行日志清理操作。在文件中记录那些日志段被清理过,那些还需要清理

Broker启动的流程

  1. 注册Breoker节点
  2. 监听/controller节点
  3. 注册/controller节点
  4. 通知集群的变化
  5. 连接Broker,发送集群的相关数据

科研随探录

八股随笔录

  • mysql里的锁
  1. 全局锁:会将整个数据库处于只读状态,其他线程一下操作处于堵塞状态。

  2. 表级锁:有以下几种

表锁:表锁会限制别的线程的操作,还会限制本线程接下来的读写操作

元数据锁:当对数据库表进行操作时,会自动给这个表加上MDL、

意向锁:

  1. 行级锁:InnoDB引擎是支持行级锁的

  2. 记录锁:锁住的是一条记录

  3. 间隙锁:只存在于可重复读隔离级别,为了解决可重复读隔离级别下幻读的现象

  4. 临键锁:锁定一个范围,并锁定记录本身。

  • 日志文件
  1. redo log重做文件:是InnoDB存储引擎生成的日志,实现了事务的持久性,只要用于故障恢复

  2. undo log回滚日志:是InnoDB存储引擎层生成的日志,实现了十五中的原子性,

  3. bin log二进制日志:是server层生成的日志,用于数据备份和主从复制

  4. relay log中继日志:用于主从复制场景下

5.慢查询日志

代码随想录

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 平衡 二叉搜索树。

示例 1:

复制代码
输入:nums = [-10,-3,0,5,9]
输出:[0,-3,9,-10,null,5]
解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:
java 复制代码
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
class Solution {
    // int length = nums.length;
    // TreeNode root = new TreeNode(nums[length/2]);
    // int i = 0;
    // public TreeNode sortedArrayToBST(int[] nums) {
    //     if(i == length/2) {
    //         i++;
    //     }
    //     if(root.val > nums[i]) {
    //         TreeNode node = new TreeNode(nums[i]);
    //         i++;
    //         root.left = node;
    //         return new TreeNode sortedArrayToBST(nums);
    //     }
    //     if(root.val < nums[i]) {
    //        TreeNode node = new TreeNode(nums[i]);
    //         i++;
    //         root.right = node;
    //         return new TreeNode sortedArrayToBST(nums);
    //     }
    //     if(i == nums.length) {
    //         return root;
    //     }
    // }
    public TreeNode sortedArrayToBST(int[] nums) {
        return dfs(nums,0,nums.length - 1);
    }

    public TreeNode dfs(int[] nums, int left, int right) {
        if(left > right) {
            return null;
        }
        int mid = left + (right - left) / 2;
        TreeNode root = new TreeNode(nums[mid]);
        root.left = dfs(nums,left,mid - 1);
        root.right = dfs(nums,mid + 1,right);
        return root;
    }
}
相关推荐
m0_587383001 小时前
广州 24 小时自助健身房解决方案技术实现与实战指南
java·spring·小程序·架构·需求分析
·云扬·1 小时前
Prompt 工程与安全:从 System 设计到注入防御
java·人工智能·安全·ai·prompt
专注仿真1 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
码爸1 小时前
支持向量机介绍与示例
算法·机器学习·支持向量机
怕浪猫2 小时前
2028编程圈很火的10个Skills
算法·面试·github
Best-Wishes2 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停2 小时前
自动化测试(java)
java·开发语言·selenium·自动化
滕州市燕猫虎计算机科技工作室个体工商户2 小时前
《Rust程序设计》学习笔记八:结构体
笔记·学习·rust·rust程序设计
别动我齐刘海3 小时前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
鬼手点金4 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github