10 2018 档案

摘要:二叉搜索树 二叉搜索树(BST)又称为二叉查找树、二叉排序树。 1.特征 二叉搜索树首先是一棵二叉树; 对任意节点,如果其左子树不为空,则左子树上任意节点的值均不大于它的根节点的值; 如果其右子树不为空,则右子树上任意节点的值均不大于它的根节点的值; 任意节点的左右子树也分别是二叉搜索树。 2.中序 阅读全文
posted @ 2018-10-31 22:32 bkycrab 阅读(145) 评论(0) 推荐(0)
摘要:计算机网络分层 OSI七层协议:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP四层协议:网络接口层、网际层、运输层、应用层。 常说的五层协议:物理层、数据链路层、网络层、运输层、应用层。 网络层 涉及协议:IP、ICMP、ARP、RARP、RIP 运输层 涉及协议:TCP 阅读全文
posted @ 2018-10-31 16:08 bkycrab 阅读(148) 评论(0) 推荐(0)
摘要:树的术语 根节点、父节点、子节点、兄弟节点 叶子节点、分支节点 节点的度:即节点的分支数 树的度:节点的度的最大值 节点的层数:树的层数 树的链式存储 采用二叉链表的形式:数据域+左孩子节点+右孩子节点 package com.tree; public class TreeNode{ private 阅读全文
posted @ 2018-10-30 20:57 bkycrab 阅读(171) 评论(0) 推荐(0)
摘要:顺序查找 最简单的从头开始对比查找。 折半查找 要求:有序数组 思想:将n个元素分成大致相同的两半,取中值和值x比较,如果相等则找到,如果值x小于中值,则只在数组的左半部分继续搜索值x;如果值x大于中值,则只在数组右半部分继续搜索值x 复杂度:最坏情况下需要O(logN)时间 代码如下: int b 阅读全文
posted @ 2018-10-30 19:39 bkycrab 阅读(1449) 评论(0) 推荐(0)
摘要:MVC模式 MVC(Model-View-Controller)是一种架构型的模式,是一种程序设计理念,该理念将软件结构分为三层:模型层、视图层、控制层。 模型层:包含数据和行为的数据模型,提供要展示的数据。 视图层:进行模型的展示,呈现与用户交互的界面。 控制层:接收用户请求并委派给模型进行处理, 阅读全文
posted @ 2018-10-30 11:17 bkycrab 阅读(160) 评论(0) 推荐(0)
摘要:数据库完整性 关系数据库的三大完整性: 实体完整性:定义主键,检查其是否唯一(默认在主键上自动创建索引,避免全表扫描比较),是否为空。 参照完整性:定义外键,可以为空但不能为错误的值。其中,对参照表进行插入元组或者修改外码值可能破坏被参照表的完整性,拒绝处理; 对被参照表删除元组或者修改主码值可能破 阅读全文
posted @ 2018-10-29 14:45 bkycrab 阅读(119) 评论(0) 推荐(0)
摘要:事务 1.概念 事务是用户定义的一个数据库操作序列,这些操作要么全做,要么不做。在关系数据库中,一个事务是一条SQL语句、一组SQL语句或者整个程序。 2.ACID特性 事务具有以下4个特性: 原子性:一个事务中的所有操作,要么全部完成,要么全部不做。 一致性:在事务开始之前或者完成之后,数据库的完 阅读全文
posted @ 2018-10-26 11:02 bkycrab 阅读(155) 评论(0) 推荐(0)
摘要:笔试实例 以MySQL为例,制作一个简单的表profit如下: T1 分别求1991年以及1992年第一季度的金额总和,效果如下: sql语句实现: 其中用到了聚集函数SUM()以及GROUP BY子句,表示按照年份分组后求和展示。 T2 将一维表转变成二维表,效果如下: sql语句实现: T3 按 阅读全文
posted @ 2018-10-25 14:44 bkycrab 阅读(166) 评论(0) 推荐(0)
摘要:面向切面编程(AOP) 1.横切关注点 在软件开发中,把散布在应用各处的功能称为横切关注点,比如日志、安全。 通常横切关注点是与我们的业务逻辑相互嵌套的,而AOP就是为了将横切关注点和业务逻辑分离。 2.切面 横切关注点可以模块化为特殊的类,这些类称为切面,它是通知和切点的结合。如下图所示: 切面取 阅读全文
posted @ 2018-10-11 20:55 bkycrab 阅读(154) 评论(0) 推荐(0)
摘要:由于在笔试中遇到写sql语句的题目,犯了低级错误,这里学习并总结一下,遇到相关的继续更新。。。 数据定义 1.创建数据库 2.创建空表 需要指明表明、字段名及其属性 3.创建索引 在表或者表的常用列上创建索引加速查询。 4.删除索引 mysql中 5.创建视图 视图定义后可以当作基本表使用。 组成视 阅读全文
posted @ 2018-10-10 20:31 bkycrab 阅读(298) 评论(0) 推荐(0)
摘要:三报文握手 1.概述 TCP是面向连接的协议。TCP建立连接的过程叫做握手,握手需要在客户和服务器之间交换三个TCP报文段,即我们说的“三次握手”(严格讲是一次握手过程中交换了三个报文)。 2.过程 一开始客户端和服务器端中的TCP进程都处于关闭状态,假设客户端主动打开连接,服务器端被动打开连接;这 阅读全文
posted @ 2018-10-09 15:14 bkycrab 阅读(1456) 评论(2) 推荐(1)
摘要:数据库种类 在当今互联网,数据库分为关系型数据库和非关系型数据库(NOSQL)。 关系型数据库 1.介绍 关系数据库系统是支持关系模型(关系数据结构、关系操作集合、关系完整性约束)的数据库系统。 使用二维表格的形式表示复杂的数据结构;通过SQL结构化查询语句存取数据;ACID理论,保持数据一致性。 阅读全文
posted @ 2018-10-07 10:49 bkycrab 阅读(176) 评论(0) 推荐(0)
摘要:死锁 两个线程对两个同步对象具有循环依赖时,就会发生死锁。即同步嵌套同步,而锁却不同。 线程饿死和活锁虽然不像死锁一样是常见的问题,但是对于并发编程的设计者来说就像一次邂逅一样。当所有线程阻塞,或者由于需要的资源无效而不能处理,不存在非阻塞线程使资源可用。JavaAPI 中线程活锁可能发生在以下情形 阅读全文
posted @ 2018-10-04 09:48 bkycrab 阅读(126) 评论(0) 推荐(0)
摘要:线程同步概念 同步是用来解决多线程的安全问题的,在多线程中,同步能控制对共享数据的访问。如果没有同步,当一个线程在修改一个共享数据时,而另外一个线程正在使用或者更新同一个共享数据,这样容易导致程序出现错误的结果。 线程同步方式 同步的三种表现形式: 同步代码块 可以指定需要获取哪个对象的同步锁,使用 阅读全文
posted @ 2018-10-04 09:41 bkycrab 阅读(141) 评论(0) 推荐(0)
摘要:基本概念 1.并发编程模型 线程之间的通信机制有两种:共享内存和消息传递。Java的并发采用的是隐式的共享内存模型。 Java内存模型(JMM)是围绕着在并发过程中如何处理原子性、可见性和有序性来建立的。 原子性:基本数据类型的访问读写是具备原子性的(针对long和double有非原子性协定),sy 阅读全文
posted @ 2018-10-03 17:13 bkycrab 阅读(194) 评论(0) 推荐(0)