MySQL MySQL关系型数据库,插件式的存储引擎,这种架构可以根据业务的需求和实际需要选择合适的存储引擎。 MySQL的架构分为两层 Server: Server层负责建立连接,分析,执行SQL。大多数核心部件在此实现,包括连接器,缓存查询,解析器,预处理器,执行器等。还有所有的内置函数和所有的跨引擎的功能如视图,都在Server层实现 Engine: 引擎层负责数据的存储和提取,索引也是有引擎层实现的 2022-10-25 #MySQL
netty项目记录 如何编写并启动一个服务端? 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253public void run() throws Exception{ //指定bossGroup,也就是负责处理连接请求的线程 Event 2022-10-22 #netty
netty基础 为什么我们不用Java NIO?原生的Java NIO编程,对编程能力要求比较高,需要处理连接异常、网络闪断、拆包粘包、网络拥塞、长短连接等各种各样的网络通讯细节问题,这是一件非常困难且耗时的事情。并且,原生Java NIO还有一个臭名昭著的Epoll Bug,它会导致Selector空轮询,最终导致CPU 100%。官方声称在JDK 1.6版本的update 18修复了该问题,但是直到JDK1. 2022-10-22 #netty
进程,线程和协程详解 进程的Linux实现 an instance of a computer program that is being executed 进程是程序的一次执行,是一个程序及其数据,运行环境,在处理机上运行时所发生的活动。 与程序不同的是,进程具有动态性和生命周期,是系统进行资源分配和调度的独立单位。 和静态的程序相比,进程是一个运行态的实体,拥有各种各样的资源:内存空间和页表、打开的文件、、内核中 2022-10-20 #操作系统
JUC JAVA创建线程的四种方式继承Thread类 定义thread类的子类,并重写run方法,该方法的方法体就是线程需要完成的任务,run方法也称为线程执行体。 创建Thread类的实例,也就是创建了线程对象 启动线程,即调用线程的start方法 实现Runnable接口 定义Runnable接口的实现类,重写run方法,run方法同样是线程执行体 创建实现类的实例,并用这个实例作为Thread类的 2022-10-20 #Java基础知识
字典序问题 给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。 你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。 123示例 1:输入:n = 13输出:[1,10,11,12,13,2,3,4,5,6,7,8,9] 思路:字典序的构建可以看成是一支十叉树 第一层是1位数字,第二层是2位数字,以此类推。 而十叉树的前序遍历即是字典序的输出 123456789101112 2022-10-19 #LeetCode初见
微软面试题——24点游戏 给定一个长度为4的整数数组 cards 。你有 4 张卡片,每张卡片上都包含一个范围在 [1,9] 的数字。您应该使用运算符 ['+', '-', '*', '/'] 和括号 '(' 和 ')' 将这些卡片上的数字排列成数学表达式,以获得值24。 123输入: cards = [4, 1, 8, 7]输 2022-10-16 #LeetCode初见
周赛笔记10/16/2022 6204. 与对应负数同时存在的最大正整数1234给你一个 不包含 任何零的整数数组 nums ,找出自身与对应的负数都在数组中存在的最大正整数 k 输入:nums = [-1,2,-3,3]输出:3解释:3 是数组中唯一一个满足题目要求的 k 。 一个HashSet+一遍遍历,秒解 1234567891011class Solution { public int findMax 2022-10-16 #LeetCode初见
子序列数目 123输入:s = "abc"输出:7解释:7 个不同的子序列分别是 "a", "b", "c", "ab", "ac", "bc", 以及 "abc"。 难度:hard 12345678910111213141516171819clas 2022-10-14 #LeetCode初见
周赛笔记10/9/2022 2432. 处理用时最长的那个任务的员工12345678输入:n = 10, logs = [[0,3],[2,5],[0,9],[1,15]]输出:1解释:任务 0 于时刻 0 开始,且在时刻 3 结束,共计 3 个单位时间。任务 1 于时刻 3 开始,且在时刻 5 结束,共计 2 个单位时间。任务 2 于时刻 5 开始,且在时刻 9 结束,共计 4 个单位时间。任务 3 于时刻 9 开始,且在 2022-10-09 #LeetCode初见