摘要: 一、软件开发设计原则:(七大原则) 开闭原则:软件实体对扩展开放、对修改关闭(用抽象构建架构,用实现扩展细节) 单一职责原则:类或接口的职责要单一、只做一件事,保证功能的单一性、纯洁性 依赖倒置原则:要针对抽象层编程,而不要针对具体实现类编程 接口隔离原则:一个接口不要包含过多的职责,应合理划分,跟 阅读全文
posted @ 2020-03-06 01:38 Zeki_Chen 阅读(221) 评论(0) 推荐(1) 编辑
摘要: 一、网络模型 网络模型一般是指OSI七层参考模型和TCP/IP四层参考模型。这两个模型在网络中应用最为广泛。 提问:各层的网络协议有哪些?(以下只是部分) 应用层:HTTP、SMTP、SSH 传输层:TCP、UDP 网络层:IP、路由表 网络接口层:以太网 二、TCP/IP协议数据流 三、TCP连接 阅读全文
posted @ 2020-02-28 00:00 Zeki_Chen 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 一、JVM内存分配与回收 下图为堆内存结构图(注意:元数据区(MetaData )实际上不属于堆): 1、对象优先在Eden区分配 大多数情况下,对象在新生代中Eden区分配。当Eden区没有足够空间进行分配时,JVM将发起一次Minor GC。 提问:Minor GC和Full GC有什么不同呢? 阅读全文
posted @ 2020-02-25 22:06 Zeki_Chen 阅读(365) 评论(2) 推荐(0) 编辑
摘要: 一、类加载过程 类加载:类加载器将.class字节码文件加载进Java虚拟机的内存中。 加载:在硬盘上查找并通过IO读入字节码文件 连接:执行校验、准备、解析(可选)步骤 校验:校验字节码文件的正确性 准备:给类的静态变量分配内存,并赋予默认值 解析:类加载器载入类所引用的其他所有类 初始化:对类的 阅读全文
posted @ 2020-02-22 15:27 Zeki_Chen 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 一、JVM整体架构 1、JVM(Java虚拟机):指以软件的方式模拟具有完整硬件系统功能、运行在一个完全隔离环境中的完整计算机系统,是物理机的软件实现。常用的虚拟机有VMWare、Virtual Box、Java Virtual Machine。 2、JVM由三个主要的子系统构成 类加载子系统 (即 阅读全文
posted @ 2020-02-20 01:12 Zeki_Chen 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 一、概述 1、锁的定义 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除了传统的计算资源(如CPU、RAM、IO等)的争用以外,数据也是一种供需要用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从 阅读全文
posted @ 2020-02-16 21:35 Zeki_Chen 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 创建 test 测试表 CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `c1` varchar(10) DEFAULT NULL, `c2` varchar(10) DEFAULT NULL, `c3` varchar(10) 阅读全文
posted @ 2020-02-15 13:26 Zeki_Chen 阅读(286) 评论(0) 推荐(1) 编辑
摘要: 一、何为explain执行计划? 使用explain关键字可以模拟优化器执行SQL语句,从而知道MySQL是如何使用索引来处理你的SQL查询语句以及连接表,可以分析查询语句或是结构的性能瓶颈,帮助我们选择更好的索引和写出更优化的查询语句。(说白了,就是优化SQL的工具) 二、如何使用explain? 阅读全文
posted @ 2020-02-13 19:40 Zeki_Chen 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 一、何为索引? 1、索引是帮助数据库高效获取数据的排好序的数据结构。 2、索引存储在文件中。 3、索引建多了会影响增删改效率。(一张表最多允许建16个索引) (下面这张图为计算机组成原理内容,每查询一次索引节点,都会进行一次磁盘IO读取,即要寻道和旋转) 二、MySQL索引结构为什么是B+树? My 阅读全文
posted @ 2020-02-11 14:46 Zeki_Chen 阅读(528) 评论(0) 推荐(0) 编辑