摘要: 操作系统八股 1. 你了解IO多路复用么? 我们熟悉的 select/poll/epoll 内核提供给用户态的多路复用系统调用,进程可以通过一个系统调用函数从内核中获取多个事件。 select/poll/epoll 是如何获取网络事件的呢?在获取事件时,先把所有连接(文件描述符)传给内核,再由内核返 阅读全文
posted @ 2024-04-23 22:11 flameHknight 阅读(19) 评论(0) 推荐(0) 编辑
摘要: Linux问题集合 1. Linux下如何定位死锁? 如果你想排查你的 Java 程序是否死锁,则可以使用 jstack 工具,它是 jdk 自带的线程堆栈分析工具。 在 Linux 下,我们可以使用 pstack + gdb 工具来定位死锁问题。 pstack 命令可以显示每个线程的栈跟踪信息(函 阅读全文
posted @ 2024-04-23 21:13 flameHknight 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 消息队列专题 1.总体介绍 我们知道操作系统中的进程通信的一种很重要的方式就是消息队列。我们这里提到的消息队列稍微有点区别,更多指的是各个服务以及系统内部各个组件/模块之前的通信,属于一种 中间件 。 简单来说:中间件就是一类为应用软件服务的软件,应用软件是为用户服务的,用户不会接触或者使用到中间件 阅读全文
posted @ 2024-03-31 15:28 flameHknight 阅读(15) 评论(0) 推荐(0) 编辑
摘要: JAVA八股 JVM 1. 运行时数据区域 JDK1.7和JDK1.8有区别: 线程私有的 程序计数器:是当前线程所执行的字节码的行号指示器,唯一一个不会出现 OutOfMemoryError 的内存区域 java虚拟栈:随着线程的创建而创建,随着线程的死亡而死亡。 局部变量表 主要存放了编译期可知 阅读全文
posted @ 2024-03-27 23:09 flameHknight 阅读(77) 评论(0) 推荐(1) 编辑
摘要: Docker八股 1.容器、虚拟机 一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。 容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。 容器化软件适用于基于 Linux 和 Windows 的应用,在任何环境中都能 阅读全文
posted @ 2024-03-26 23:25 flameHknight 阅读(117) 评论(0) 推荐(0) 编辑
摘要: Mysql八股 1. 执行一条sql,都发生了什么过程? 执行一条 SQL 查询语句,期间发生了什么? 连接器:建立连接,管理连接、校验用户身份; 查询缓存:查询语句如果命中查询缓存则直接返回,否则继续往下执行。MySQL 8.0 已删除该模块; 解析 SQL,通过解析器对 SQL 查询语句进行词法 阅读全文
posted @ 2024-03-26 22:32 flameHknight 阅读(101) 评论(0) 推荐(0) 编辑
摘要: 黑马点评项目问题 1.你是如何实现手机号登录功能的? 首先单体项目考虑使用基于session登录。 首先是用户输入手机号,然后点击发送验证码,服务端收到这个请求之后,校验手机号是否不符合(前端也会校验),然后生成验证码(随机6位数),保存验证码到session中,然后把验证码发送给客户端。 客户端根 阅读全文
posted @ 2024-03-12 20:18 flameHknight 阅读(975) 评论(0) 推荐(0) 编辑
摘要: 1.数据库表你是怎么设计的? 分为员工表、用户表、分类表、菜品表、套餐表、套餐菜品对应表、口味表、购物车表、订单表、订单详细表、地址表。 为什么用逻辑外键,而不用数据库自带的外键? 数据库通过外键来保证数据的完整性一致性,外键的缺点--对海量数据,性能低,因而使用逻辑外键来保证数据的完整性和一致性, 阅读全文
posted @ 2024-03-12 20:16 flameHknight 阅读(587) 评论(0) 推荐(1) 编辑