摘要: JVM(六)堆 阅读全文
posted @ 2023-07-11 15:02 Tod4 阅读(48) 评论(0) 推荐(0) 编辑
摘要: Netty是由JBOSS提供的一个Java开源框架,现为Github上的独立项目。 阅读全文
posted @ 2023-07-09 15:11 Tod4 阅读(41) 评论(0) 推荐(0) 编辑
摘要: #### 【每日一题】[15. 三数之和](https://leetcode.cn/problems/3sum/) 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i 阅读全文
posted @ 2023-07-09 09:35 Tod4 阅读(6) 评论(0) 推荐(0) 编辑
摘要: #### [199. 二叉树的右视图](https://leetcode.cn/problems/binary-tree-right-side-view/) 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 **示例 1:** ![ima 阅读全文
posted @ 2023-06-14 10:49 Tod4 阅读(5) 评论(0) 推荐(0) 编辑
摘要: ### 计算机网络(七)应用层 - `应用层`:解决通过应用进程交互实现特定网络应用的问题 - `运输层`:解决进程之间基于网络的通信问题 - `网络层`:解决分组在多个网络上的传输(路由)问题 - `数据链路层`:解决分组在一个网络(或一个链路)上的传输问题 - `物理层`:解决用何种信息来传输比 阅读全文
posted @ 2023-06-13 19:45 Tod4 阅读(160) 评论(0) 推荐(0) 编辑
摘要: ### 计算机网络(六)运输层 - 计算机网络体系中的`物理层`、`数据链路层`以及`网络层`共同解决了**将主机通过异构网络互联起来所面临的问题**,**实现了主机到主机的通信** - 但是在计算机网络中**真正进行通信的实体是位于通信两端主机中的进程** - **如何为运行在不同主机上的应用进程 阅读全文
posted @ 2023-06-12 19:45 Tod4 阅读(89) 评论(0) 推荐(0) 编辑
摘要: #### 计算机网络(五)网络层 #### 1 网络层概述 - 网络层的主要任务是实现**网络互连**,进而实现**数据包在网络之间的传输** - 实现网络层任务,需要解决的问题: - 网络层需要向上层运输层提供**可靠的还是不可靠的服务**(即**是否能够解决网络包传输过程的误码、乱序、丢失问题* 阅读全文
posted @ 2023-06-07 18:40 Tod4 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 计算机网络(四)数据链路层 1 数据链路层概述 2 点对点通信数据链路层最基本、最重要的三个问题 2.1 封装成帧 封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使之成为帧 帧头和帧尾含有重要的控制信息 ​ 如以太网V2的MAC帧: ​ PPP的帧格式: 数据链路层将上层交付的协议数据 阅读全文
posted @ 2023-06-01 19:13 Tod4 阅读(114) 评论(0) 推荐(0) 编辑
摘要: #### [1110. 删点成林](https://leetcode.cn/problems/delete-nodes-and-return-forest/) 给出二叉树的根节点 root,树上每个节点都有一个不同的值。 如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一 阅读全文
posted @ 2023-05-30 13:04 Tod4 阅读(7) 评论(0) 推荐(0) 编辑
摘要: ### 计算机网络概述 #### 因特网 `网络`:许多计算机通过`交换机`连接在一起 `互联网(internet)`:许多网络通过`路由器`连接在一起 `因特网(Internet)`:全球最大的互联网,网络通过TCP/IP协议进行通信 ##### 因特网发展过程 分组交换网络 -> 互联网 -> 阅读全文
posted @ 2023-05-25 15:38 Tod4 阅读(70) 评论(0) 推荐(0) 编辑
摘要: ### 计算机网络(三)物理层 #### 1 物理层的基本概念 - 物理层就是要解决在连接计算机的传输媒体上传输**数据比特流**(比特0和比特1)的问题 - 向上一层数据链路层屏蔽各种传输媒体的差异,提供透明的比特流传输服务。 ##### 物理层协议的主要任务 #### 2 物理层下的传输媒体 ​ 阅读全文
posted @ 2023-05-25 15:38 Tod4 阅读(117) 评论(0) 推荐(0) 编辑
摘要: ### 1 OSI参考七层模型(法律上的标准) #### OSI七层模型 OSI:**开放式互连通信参考模型** 分层的原因:标准化、降低各个层之间的关联依赖 ① **应用层**:解决通过应用进程交互实现特定网络应用的问题;**能产生流量**能够**和用户交互的应用**;**与通信无关的内容就应该属 阅读全文
posted @ 2023-05-25 15:38 Tod4 阅读(241) 评论(0) 推荐(0) 编辑
摘要: JVM(五)本地方法接口和本地方法栈 1 本地方法 一个Native Method就是一个Java调用非Java代码的接口。 在定义本地方法的时候,不提供实现体 标识符native能够和除了abstract的java标识符连用 public class NativeTest{ public nati 阅读全文
posted @ 2023-05-17 18:57 Tod4 阅读(33) 评论(0) 推荐(0) 编辑
摘要: JVM(四)虚拟机栈(三)虚拟机栈面试题 1 举例栈溢出的情况? 当方法调用不停将栈帧压入虚拟机栈导致栈内空间不足而出现StackOverFlowError即是出现了栈溢出 可以通过-Xss设置栈的大小,栈的大小可以是固定的也可以是动态变化的,如果固定且超出设定值则就会出现栈溢出;如果是动态变化的, 阅读全文
posted @ 2023-05-17 18:56 Tod4 阅读(25) 评论(0) 推荐(0) 编辑
摘要: JVM(四)虚拟机栈(一)栈帧结构:局部变量表与操作数栈 1 虚拟机栈 1.1 简介 虚拟机栈出现的背景:由于跨平台性的设计,Java的指令都是根据栈来设计的,不同平台的CPU架构不同,所以不能基于寄存器。这样做的优点是跨平台,指令集更小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令 阅读全文
posted @ 2023-05-17 18:56 Tod4 阅读(234) 评论(0) 推荐(0) 编辑
摘要: JVM(三)虚拟机栈(二)栈帧结构:动态链接、方法返回地址与附加信息 1 动态链接技术 每一个栈帧,都包含着一个指向运行时常量池中该指针所属方法的引用,即方法区中的方法地址,包含该引用的目的就是为了支持当前方法能够实现动态链接。所以动态链接又称为运行时常量池中的方法引用 在java源文件被编译为字节 阅读全文
posted @ 2023-05-17 18:55 Tod4 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 运行时数据区概述及线程 简介 内存是硬盘和CPU的中间仓库和桥梁,承载着操作系统和应用程序的实时运行。JVM的内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的高效稳定运行。不同的JVM对内存的划分方式和管理机制存在着部分差异。 如下图,主要流程是类加载子系统加载字节码文件 阅读全文
posted @ 2023-05-17 18:55 Tod4 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 类加载器子系统和类加载过程 1 简介 类加载器子系统:负责从文件系统或者网络中加载字节码文件,字节码文件在文件开头有特定的文件标识(Coffee Baby)。ClassLoader只负责文件的加载,它是否可以运行由Execution Engine决定。 加载的类信息存放在内存中一块成为方法区的空间, 阅读全文
posted @ 2023-05-17 18:55 Tod4 阅读(55) 评论(0) 推荐(0) 编辑
摘要: [toc] ### JVM与Java体系结构 Java是目前应用最广泛的软件开发平台之一,是一门**跨平台的语言**,write once,runanyWhere。Java程序编译为字节码文件之后,可以被各个平台的JVM解释运行。 而JVM则是**跨语言的平台**,不仅仅支持java语言,其他提供的 阅读全文
posted @ 2023-05-17 18:55 Tod4 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1054. 距离相等的条形码 在一个仓库里,有一排条形码,其中第 i 个条形码为 barcodes[i]。 请你重新排列这些条形码,使其中任意两个相邻的条形码不能相等。 你可以返回任何满足该要求的答案,此题保证存在答案。 示例 1: 输入:barcodes = [1,1,1,2,2,2] 输出:[2 阅读全文
posted @ 2023-05-17 11:14 Tod4 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 1 NoSQl数据库 1.1 技术的发展 技术的分类: ①解决功能性问题:javase ②解决扩展性问题:框架 ③解决性能问题:redis 1.2 NoSQL数据库概述 NoSQL(Not Only SQL),不仅仅是SQL ,泛指非关系型数据库。不依赖业务逻辑存储,而是以简单的key-value键 阅读全文
posted @ 2023-05-16 19:26 Tod4 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 【每日一题】2441. 与对应负数同时存在的最大正整数 给你一个 不包含 任何零的整数数组 nums ,找出自身与对应的负数都在数组中存在的最大正整数 k 。 返回正整数 k ,如果不存在这样的整数,返回 -1 。 示例 1: 输入:nums = [-1,2,-3,3] 输出:3 解释:3 是数组中 阅读全文
posted @ 2023-05-13 10:30 Tod4 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 【单调栈】739. 每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = 阅读全文
posted @ 2023-05-11 10:58 Tod4 阅读(45) 评论(0) 推荐(0) 编辑
摘要: ### MySQL(二十三)主从复制 #### 1 主从复制概述 ##### 1.1 如何提高数据库并发能力 - 在实际工作中,常将`Redis`和`MySQL`配合使用,如果有请求的时候,首先在缓存中查找,如果存在就直接取出,不存在再访问数据库,这样就提升了读取的效率,减少了对后端数据库的访问压力 阅读全文
posted @ 2023-05-10 14:52 Tod4 阅读(41) 评论(0) 推荐(0) 编辑
摘要: ### MySQL(二十二)其他数据库日志(一)通用查询日志和错误日志 #### 1 MySQL支持的日志 ##### 1.1 日志类型 - **慢查询日志**:记录执行时间超过`long_query_time`的所有查询,方便我们对查询进行优化 - **通用查询日志**:记录所有连接的起始和终止时 阅读全文
posted @ 2023-05-09 20:24 Tod4 阅读(67) 评论(0) 推荐(0) 编辑
摘要: ### MySQL(二十二)其他数据库日志(二)bin log二进制日志 #### 1 bin log二进制日志 - bin log 即 binary log,二进制日志,也叫做变更日志 - 它记录所有更新数据的DDL和DML语句,但是不包含没有修改数据的语句(如Select、show等),以`事件 阅读全文
posted @ 2023-05-09 20:24 Tod4 阅读(141) 评论(0) 推荐(0) 编辑
摘要: MySQL(二十一)MVCC多版本并发控制 1 什么是MVCC MVCC(Multiversion Concurrency Control)多版本并发控制。即通过数据行的多个版本管理来实现数据库的并发控制,使得在InnoDB事务隔离级别下执行一致性读操作有了保障。 就是为了查询一些正在被其他事务更新 阅读全文
posted @ 2023-05-09 13:56 Tod4 阅读(125) 评论(0) 推荐(0) 编辑
摘要: [TOC] ### MySQL(二十)锁(二)表锁、行锁与页级锁 ### 从操作粒度的锁类型划分:表级锁、行级锁和页锁 ​ 为了提高数据库的并发度,每次锁定的数据范围越小越好,理论上只锁定当前操作的数据的方案会获得最大的并发度,但是管理锁也是很耗费资源的事情(涉及锁的获取、检查和释放),因此需要在` 阅读全文
posted @ 2023-05-09 13:56 Tod4 阅读(127) 评论(0) 推荐(0) 编辑
摘要: ### MySQL(二十)锁(三)乐观锁与悲观锁 显式锁和隐式锁 #### 1 从对待锁的态度划分:乐观锁、悲观锁 - 从对待锁的态度划分,可以将锁划分为乐观锁和悲观锁,可以看出这两种锁是两种**对待数据并发的思维方式**。 - **乐观锁和悲观锁并不是锁,而是锁的设计思想** ##### 1.1 阅读全文
posted @ 2023-05-09 13:56 Tod4 阅读(114) 评论(0) 推荐(0) 编辑
摘要: ### MySQL(十九)MySQL事务日志(二)UndoLog #### 1 undo 日志概述 ​ `redo log`是事务`持久性`的保障,而`undo log`则是事务`原子性`和`一致性`的保证,如上图,在事务中更新数据的前置操作其实是需要将数据写入到 `undo log` 方便回滚。 阅读全文
posted @ 2023-05-09 13:55 Tod4 阅读(136) 评论(0) 推荐(0) 编辑
摘要: ### MySQL(二十)锁(一)锁概述、S锁和X锁 #### 1 概述 - **`锁`是计算机协调多个线程或进程并发访问某一资源的机制**。 ​ 在程序开发过程中会存在多线程同步的问题,当多个线程并发访问某个数据的时候,尤其是一些敏感的数据(如金额、订单等),就需要保证**这个数据在任何时刻都最多 阅读全文
posted @ 2023-05-09 13:55 Tod4 阅读(291) 评论(0) 推荐(0) 编辑
摘要: ### MySQL(十八)MySQL事务(二):事务的隔离级别 ​ MySQL是一个`客户端/服务器`架构的软件,可以有若干个客户端与之连接,连接上之后都可以被称作是一个会话,每个客户端都可以在自己的会话中向服务器发出请求语句,一个请求语句可能是事务的一部分,**因此对于服务器来说需要同时处理多个事 阅读全文
posted @ 2023-05-09 13:54 Tod4 阅读(42) 评论(0) 推荐(0) 编辑
摘要: ### MySQL(十九)MySQL事务日志(一)RedoLog ​ 事务的四种特性:`原子性`、`一致性`、`持久性`和隔离性都是基于什么机制实现的? - 事务的隔离性由`锁机制`实现 - 而事务的`原子性`、`一致性`和`持久性`则由事务的 `redo` 和 `undo` 日志来实现的 - `r 阅读全文
posted @ 2023-05-09 13:54 Tod4 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 8 392. 判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 进阶: 如果有大量输入的 S,称作 S1, S 阅读全文
posted @ 2023-05-08 10:46 Tod4 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 5 1143. 最长公共子序列 给定两个字符串 text1 和 text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符 阅读全文
posted @ 2023-05-06 13:30 Tod4 阅读(25) 评论(0) 推荐(0) 编辑
摘要: ### MySQL事务(一):事务的概述与使用 #### 1 数据库事务概述 ​ **事务是数据库区别于文件系统的重要特性之一**,当我们有了事务就会让数据库始终保持`一致性`,同时我们还能通过事务的机制`恢复到某个时间点`,这样可以保证已提交到数据库的修改不会因为系统崩溃而丢失。 ##### 1. 阅读全文
posted @ 2023-05-04 18:05 Tod4 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 【动态规划】123. 买卖股票的最佳时机 III 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入:prices = [3 阅读全文
posted @ 2023-05-04 10:25 Tod4 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 【动态规划】309. 最佳买卖股票时机含冷冻期 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。 阅读全文
posted @ 2023-05-03 13:54 Tod4 阅读(39) 评论(0) 推荐(0) 编辑
摘要: ### 查询优化(二) #### 1 覆盖索引 ##### 什么是覆盖索引 ​ 看下面的例子,对于联合索引age_sno_name,当查询字段较少时能够使用索引,而字段较多的时候只能进行文件排序,这是由优化器判断通过**索引加回表**或者**直接文件排序**的成本来决定的。**这种一个索引包含了满足 阅读全文
posted @ 2023-05-02 17:04 Tod4 阅读(50) 评论(0) 推荐(0) 编辑
摘要: ### 查询优化(一) #### 1 关联查询优化 ##### 数据准备 ```sql CREATE TABLE `type` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `card` INT(10) UNSIGNED NOT NULL, PRI 阅读全文
posted @ 2023-05-02 14:12 Tod4 阅读(58) 评论(0) 推荐(0) 编辑