- 博客(6)
- 收藏
- 关注
原创 七大设计原则
1. 开闭原则定义一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节。优点可以提高软件系统的可复用性和可维护性示例:假设我们有一个课程,课程有名称和价格。但是现在我们有的时候需要对这个课程进行打折出售。1. 定义一个课程接口public interface ICourse { Integer getId(); String getName(); Double getPrice();}2. java课程public class J
2021-01-02 03:13:32
181
原创 什么是数据结构和算法?
数据结构数据结构就是把数据元素按照一定的关系组织起来的集合,用来组织和存储数据数据结构的分类逻辑结构分类逻辑结构是从具体问题中抽象出来的模型,是抽象意义上的结构,按照对象中数据元素之间的相互关系分类集合结构集合结构中数据元素除了属于同一个集合外,他们之间没有任何其他的关系。线性结构线性结构中的数据元素之间存在一对一的关系主要有数组、链表、栈、队列、hash表树形结构树形结构中的数据元素之间存在一对多的层次关系主要有二叉树、AVL树、红黑树、B树、堆、Trie、哈夫曼树图形结构
2021-01-01 19:51:21
1165
原创 java 反射探究
反射的定义是一种动态获取类的内容,创建对象,以及动态调用对象的方法和操作其属性的机制。就是指在java程序运行中:给定一个类(class)对象,通过反射获取这个类(class)对象中所有的成员给定一个具体的new对象,能够调用它的所有方法以及对其所有的属性值进行获取和赋值获取class对象的4种方式类名.class对象名.getClass()Class.forName(“类的全路径”)类名.class.getClassLoader().loadClass(“类的全路径”)优缺点
2021-01-01 18:44:14
148
1
原创 一条更新语句在MySQL是如何执行的?
前言在数据库里面,我们说的update操作其实是包括了更新、插入和删除。如果我们查看过MyBatis中的源码,我们会发现Executor中只有doQuery和doUpdate方法啊,没有doDelete和doInsert方法。更新流程和查询流程有什么不同呢?基本流程是一致的,它也是要经过分析器,优化器,最后交给执行器处理。区别在于拿到符合条件数据之后的操作。啥也不说,先上图Innodb内存结构和磁盘结构图:更新流程图:1. Buffer Pool(缓冲池)首先,Innodb的数据都是放在
2020-12-26 23:25:53
157
原创 一条查询语句在MySQL中到底是如何执行的?
前言如果我们要执行一条查询语句,那么它到底在MySQL中是如何执行的呢?先给出MySQL的逻辑架构图。(来自:极客时间-MySQL实战45讲)从上图我们知道,如果我们要使用MySQL首先第一步肯定是和它建立连接。1. 连接器建立连接就需要知道MySQL都支持哪些通信协议应该如何建立连接等等。1.1 通信协议MySQL是支持多种通信协议的,可以使用同步和异步的方式,支持长连接和短连接。1.1.1 通信协议Unix SocketTCP/IP 协议1.1.2 通信类型:同
2020-12-21 15:36:10
1334
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人