八股文
文章平均质量分 91
Yousaiyin
这个作者很懒,什么都没留下…
展开
-
数据结构与算法
1.二叉搜索树1.非空左子树的所有键值小于其根节点的键值2.非空右子树的所有键值大于其根节点的键值3.左右子树都是二叉搜索树二叉搜索树的应用场景:如果是没有退化称为链表的二叉树,查找效率就是lgn,效率不错,但是一旦退换称为链表了,要么使用平衡二叉树,或者之后的RB树,因为链表就是线性的查找效率。2.红黑树的定义红黑树是一种二叉查找树,但在每个结点上增加了一个存储位表示结点的颜色,可以是RED或者BLACK。通过对任何一条从根到叶子的路径上各个着色方式的限制,红黑树确保没有一条路径会比其他路径长原创 2021-08-04 22:10:46 · 339 阅读 · 0 评论 -
MySQL
索引1.什么是索引索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。25.为什么引入索引?为了提高数据查询的效率。索引对数据库查询良好的性能非常关键,当表中数据量越来越大,索引对性能的影响越重要。26.Mysql有哪些常见索引类型?数据结构角度B-Tree索引 哈希索引 R-Tre原创 2021-08-05 09:26:38 · 352 阅读 · 0 评论 -
多线程
锁1.关键字synchronized我们可以回顾一下synchronized的使用,synchronized释放锁的时机有以下几种:当执行完代码块中的代码,释放锁;当代码抛出异常,释放锁;当调用锁的wait方法,释放锁;synchronized关键字也有三种局限性:synchronized关键字无法响应中断,如果线程未获得锁,便会一直地尝试去获得锁,不会响应中断,lock锁的lockInterruptibly()方法能让线程响应中断,同时tryLock可以加入时间参数,若一定时间内未原创 2021-08-04 22:09:27 · 365 阅读 · 0 评论 -
Linux
Linux 概述1. 什么是LinuxLinux是一套免费使用和自由传播的类似Unix操作系统,一般的WEB项目都是部署都是放在Linux操作系统上面。 Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。2. Windows和Linux的区别Windows是微软开发的操作系统,民用操作系统,可用原创 2021-08-04 22:12:44 · 653 阅读 · 0 评论 -
JVM
1.说一下 JVM 的主要组成部分?及其作用?类加载器(ClassLoader)运行时数据区(Runtime Data Area)执行引擎(Execution Engine)本地库接口(Native Interface)组件的作用: 首先通过类加载器(ClassLoader)会把 Java 代码转换成字节码,运行时数据区(Runtime Data Area)再把字节码加载到内存中,而字节码文件只是 JVM 的一套指令集规范,并不能直接交个底层操作系统去执行,因此需要特定的命令解析器执行引擎(Exe原创 2021-08-04 22:12:11 · 230 阅读 · 0 评论 -
java框架
Spring/Spring MVC1.为什么要使用 spring?spring 提供 ioc 技术,容器会帮你管理依赖的对象,从而不需要自己创建和管理依赖对象了,更轻松的实现了程序的解耦。spring 提供了事务支持,使得事务操作变的更加方便。spring 提供了面向切片编程,这样可以更方便的处理某一类的问题。更方便的框架集成,spring 可以很方便的集成其他框架,比如 MyBatis、hibernate 等。2. 解释一下什么是 aop?aop 是面向切面编程,通过预编译方式和运行期动态代原创 2021-08-04 22:11:19 · 173 阅读 · 0 评论 -
计算机网络
计算机网络1.什么是TCP/IP和UDPTCP/IP即传输控制/网络协议,是面向连接的协议,发送数据前要先建立连接(发送方和接收方的成对的两个之间必须建 立连接),TCP提供可靠的服务,也就是说,通过TCP连接传输的数据不会丢失,没有重复,并且按顺序到达UDP它是属于TCP/IP协议族中的一种。是无连接的协议,发送数据前不需要建立连接,是没有可靠性的协议。因为不需要建立连接所以可以在在网络上以任何可能的路径传输,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。2.TCP的连原创 2021-08-04 22:10:08 · 636 阅读 · 0 评论 -
操作系统
操作系统简介篇1.线程与进程的区别简而言之,一个程序至少有一个进程,一个进程至少有一个线程.线程的划分尺度小于进程,使得多线程程序的并发性高。另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同原创 2021-08-04 22:08:23 · 2782 阅读 · 0 评论 -
Java基础
java基础1.如何理解java面向对象 我的理解是:面向对象是向现实世界模型的自然延伸,这是一种”万物皆对象”的编程思想。在现实生活中的任何物体都可以归为一类事物,而每一个个体都是一类事物的实例。每个对象都具有各自的状态特征(也可以称为属性)及行为特征(方法),java就是通过对象之间行为的交互来解决问题的。 面向对象就是把构成问题的事物分解成一个个对象,建立对象不是为了实现一个步骤,而是为了描述某个事物在解决问题中的行为。 类是面向对象中的一个很重要的概念,因为类是很多个具有相同属性原创 2021-08-04 22:07:46 · 1725 阅读 · 0 评论