java面试题(一)
摘要:一、面向对象的特性有哪些? 封装(Encapsulation):将数据和方法封装在一个类中,通过访问修饰符控制数据的访问权限,提高程序的安全性和可维护性。 继承(Inheritance):将多个类共有的属性和方法抽象出一个父类,通过子类继承父类的方法实现代码复用。 多态(Polymorphism):
阅读全文
Linux学习笔记
摘要:一、有哪些查看日志的命令? tail:用于查看最后几行文件的内容,常用于查看日志文件的尾部新添加的内容。例如:tail -f /var/log/system.log 会实时输出system.log文件的末尾。 less:用于查看大型文本文件的内容,可以按页或行进行查看,支持上下翻页、搜索等功能。例如
阅读全文
计算机网络(一)
摘要:一、HTTP长连接和短连接的区别? 长连接:在一个TCP连接上可以发送多个数据包,但是如果没有数据包发送时,也要双方发检测包以维持这个长连接。短连接:当双方需要数据交互的时候,就建立一个TCP连接,本次交互完之后就断开这个连接。 Socket心跳包机制:像心跳一样,每隔固定时间向服务器发送一个包,以
阅读全文
Redis学习笔记(一)
摘要:一、基本概念 Redis是一个开源的存储键值对的非关系型数据库,是内存数据库,用作数据库、缓存、消息队列和分布式锁。Redis提供了数据结构,如string、hash、list、set、zset、bitmap、hyperloglog、GEO、stream。Redis具有不同级别的磁盘持久性,并通过R
阅读全文
MySQL事务隔离级别
摘要:一、事务的四大特性 原子性(Atomicity):事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用; 一致性(Consistency):执行事务前后,数据保持一致,例如转账业务中,无论事务是否成功,转账者和收款人的总额应该是不变的; 隔离性(Isolation):
阅读全文
执行一条update会发生什么?
摘要:1、和查询语句一样也会走一遍连接器、解析器、预处理器、优化器、执行器 2、执行器在更新数据前,会先查看buffer pool中是否存在要更新的数据,如果不存在则从磁盘加载到buffer pool,存在则进行修改 3、innodb把旧值写入undo log 4、innodb把新值写到buffer po
阅读全文
MySQL索引
摘要:一、索引介绍 1、索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。 2、优缺点: 使用索引可以大大加快 数据的检索速度(大大减少检索的数据量), 这也是创建索引的最主要的原因 创建索引和维护索引需要耗费许多时间。 索引需要使用物理文件存储,也会耗费一定空间。 3、分
阅读全文
执行一条select语句会发生什么
摘要:查询语句的执行流程如下:连接数据库,权限校验 >查询缓存 >分析器 >预处理器 >优化器 >权限校验 >执行器 >存储引擎 MySQL 的架构共分为两层:Server 层和存储引擎层,Server 层负责建立连接、分析和执行 SQL。存储引擎层负责数据的存储和提取。 1、连接数据库 通过连接器,客户
阅读全文
从输入URL到页面加载发生了什么?
摘要:1、首先进行DNS域名解析,目的是找到对应的ip地址 DNS解析过程: 首先搜索浏览器自身的DNS缓存 》没有找到则去本机的host文件中找 》发起DNS递归查询,先查本地域名服务器———》com顶级域名服务器———》根域名服务器 直到最后本地域名服务器得到google的IP地址并把它缓存到本地,供
阅读全文
SpringBoot学习笔记
摘要:1、基本概念 SpringBoot是基于Spring的开源开发框架,通过起步依赖和自动配置等特性简化了Spring的开发和部署。 1、起步依赖指的是引入预定义的一组依赖项集合,无需手动管理每个依赖项的版本,可以减少配置工作和依赖项冲突的问题。 <dependency> <groupId>org.sp
阅读全文
设计模式(三)行为型
摘要:1、策略模式 和桥梁模式很相似,但桥梁模式的耦合更低,结构更复杂一些。 2、观察者模式 观察者模式是一种行为型设计模式,当一个对象发生改变时,所有依赖它的对象都会得到通知并自动更新。这种模式也被称为发布-订阅模式或者消息机制。 观察者模式包含以下几个角色: Subject(主题):被观察的对象,它维
阅读全文
设计模式(二)结构型
摘要:1、代理模式 创建一个代理对象来控制对另一个对象的访问,以提供额外的功能或限制。 1 public interface FoodService { 2 Food makeChicken(); 3 Food makeNoodle(); 4 } 5 6 public class FoodServiceI
阅读全文
Spring MVC学习笔记
摘要:1、基本概念 Spring MVC 是 Spring 中的一个很重要的模块,主要赋予 Spring 快速构建 MVC 架构的 Web 程序的能力。 MVC 是模型(Model)、视图(View)、控制器(Controller)的简写,其核心思想是通过将业务逻辑、数据、显示分离来组织代码。 Sprin
阅读全文
Spring学习笔记
摘要:1、基本概念 Spring: 开源的轻量级的java开发框架,目的是提高开发人员的开发效率以及系统的可维护性。 核心功能是支持IOC(控制反转)和AOP(面向切面编程) 可以很方便地对数据库进行访问、可以很方便地集成第三方组件(电子邮件,任务,调度,缓存等等)、对单元测试支持比较好、支持 RESTf
阅读全文
设计模式(一)创建型
摘要:1、单例模式 饿汉模式(最简单):类加载的时候就创建对象,线程安全 public class Singleton { // 首先,将构造方法 私有化 private Singleton() {}; // 创建私有静态实例,意味着在类加载就会进行创建 private static Singleton
阅读全文
操作系统(一)基本概念
摘要:1、基本概念 操作系统(OS):管理计算机硬件与软件资源的程序。 内核(Kernel):操作系统的核心部分,负责系统的内存管理、硬件设备的管理、文件系统管理以及应用程序的管理。是连接应用程序和硬件的桥梁。 硬件:CPU、控制器、存储器、输入/输出设备 软件:分为系统软件和应用软件,操作系统输入系统软
阅读全文
十大经典排序算法总结
摘要:排序算法可以分为: 内部排序:数据记录在内存中进行排序。 外部排序:因排序的数据很大,内存不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序、计数排序、桶排序。 其中比较类排序有:冒泡排序、快速排序、
阅读全文
八大常见的数据结构(二)树、堆、散列表、图
摘要:一、树 1.基本概念 用来模拟具有树状结构性质的数据集合。 连接的节点具有父子关系,和图相比树能表示节点间的层次关系。 2、名词解释 节点的度:一个节点子树的个数 树的度:一个树中,所有节点的度的最大值就成为树的度 根节点:树的第一层的节点,也是没有双亲的节点 高度/深度:从根开始到最多层次,最底下
阅读全文
八大常见的数据结构(一)数组、链表、栈、队列
摘要:1、数组 数组是用于储存有限个相同类型数据的集合。 数组中的各元素的存储是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起。 可通过数组名和下标进行数据的访问和更新。下标从0开始。 2、链表 链表是一种物理存储单元上非连续、非顺序的存储结构。 链表相较于数组,除了数据域,还增加了指针域。链表
阅读全文