随笔 - 1162
文章 - 0
评论 - 16
阅读 -
59万
09 2019 档案
Java 之 JDBC
摘要:一、JDBC 基础入门 1、概念 JDBC:Java DataBase Connectivity Java 数据库连接,Java 语言操作数据库。 JDBC本质:其实就是官方(Sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动 jar 包。我们可以
阅读全文
逆波兰计算器完整版
摘要:逆波兰计算器完整版 完整版的逆波兰计算器,功能包括: (1)支持+,-,*,/,() (2)支持多位数,支持小数 (3)兼容处理,过滤任何空白字符,包括空格、制表符,换页符 代码实现:
阅读全文
中缀表达式转换为后缀表达式
摘要:中缀表达式转换成后缀表达式 1、概述 可以看到,后缀表达式适合计算式进行运算,但是人却不太容易写出来,尤其是表达式很长得情况下,因此在开发中,需要将 中缀表达式转成后缀表达式。 2、具体步骤 3、案例 将中缀表达式 "1+((2+3)*4)-5" 转换为后缀表达式的过程如下: 结果为:"1 2 3
阅读全文
前缀、中缀、后缀表达式
摘要:前缀表达式(波兰表达式) 1、概念 前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前。 2、案例 3、前缀表达式的计算机求值 从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素和次顶元素),并将结果入栈;重复上述过程指导表达式最
阅读全文
DCL 管理权限
摘要:一个数据库里面有着多个用户,每个用户的权限也不仅相同。 一、查询权限 1、基本语法格式: 2、具体操作 查看 user1 用户的权限 注意:usage 是指连接(登陆)权限,建立一个用户,就会自动授予 usage 权限(默认授予)。 二、授予权限 用户创建之后,没有什么权限,需要给用户授权。 1、基
阅读全文
DCL 管理用户
摘要:DCL(Data Control Language) 使用MySQL数据库默认使用的都是 root 用户,超级管理员,拥有全部的权限。 在一个公司里面的数据库服务器上面可能同时运行这很多个项目的数据库,应该根据不同的项目建立不同的用户,分配不同的权限来管理和维护数据库。 mysqld 是 MySQL
阅读全文
栈实现逆波兰计算器(后缀表达式)
摘要:逆波兰计算器 设计一个逆波兰计算器,可以完成如下任务: (1)输入一个逆波兰表达式(后缀表达式),使用栈(stack),计算其结果。 (2)支持小括号和多位数整数。 (3)思路分析 从左至右扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(次顶元素
阅读全文
事务
摘要:一、事务的基本介绍 1、概念 如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。 2、事务的应用场景说明 一个业务操作如:转账,往往是要多次访问数据库才能完成的。转账是一个用户扣钱,另一个用户加钱。如果其中有一条 SQL 语句出现异常,这条 SQL 就可能执行失败。
阅读全文
多表查询(内连接与外连接)
摘要:一、多表查询 1、多表查询的作用 如果一条 SQL 语句查询多张表,因为查询结果在多张不同的表中,每张表取一列或多列数据。 2、多表查询的分类 3、笛卡尔积现象 (1)笛卡尔积:有两个集合A,B。取这两个集合的所有组成情况。 (2)消除笛卡尔积现象的影响:使用多表查询,需要消除无用的数据。 二、内连
阅读全文
栈实现综合计算器(中缀表达式)
摘要:实现综合计算器(中缀表达式) 1、使用栈来实现综合计算器 2、思路分析(示意图) 3、代码实现
阅读全文
栈 Stack
摘要:一、栈的介绍 1、栈的特点 (1)栈是先入后出(FILO-First In Last Out)的有序列表。 (2)栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。 允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Botto
阅读全文
数据库的备份和还原
摘要:一、备份的应用场景 在服务器进行数据传输、数据存储和数据交换,就有可能产生数据故障。 比如发生意外停机和存储介质损坏。这时,如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失,造成的损失是无法弥补与估量的。 二、备份与还原的语句 1、备份格式:DOS下,未登录的时候,这是一个可执行文件 e
阅读全文
数据库设计 — 范式
摘要:一、数据规范化 1、范式 好的数据库设计对数据的存储性能和后期的程序开发,都产生重要的影响。 建立规范的数据库就需要满足一些规则来优化数据的设计和存储,这些规则就称为范式。 设置关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的
阅读全文
表与表之间的关系
摘要:一、表关系的概念 现实生活中,实体与实体之间肯定是有关系的,如:学生和老师,学生和课程,部门和员工,每个人和自己的身份证号码等。 在设计表的时候,就应该体现出来表与表之间的这种关系。 表与表之间的三种关系: 一对多:最常用的关系,如部门和员工 多对多:学生选课表和学生表,一门课程可以有多个学生选择,
阅读全文
数据结构与算法【目录】
摘要:一、数据结构和算法 1、数据结构和算法概述 二、稀疏数组和队列 1、稀疏数组 2、队列 (1)数组模拟队列 (2)数组模拟环形队列 三、链表 1、链表介绍 2、单链表 3、单链表案例 4、双向链表 5、单向环形链表 — 约瑟夫问题 四、栈 1、栈的介绍 2、用数组模拟栈 3、前缀、中缀与后缀表达式
阅读全文
单向环形链表 —— 约瑟夫环问题
摘要:一、单向环形链表介绍 二、单向环形链表应用场景 Josephu(约瑟夫、约瑟夫环) 问题 问题描述:设编号为 1,2,...n 的 n 个人围坐一圈,约定编号为 k (1<=k<=n)的人从1开始报数,数到 m 的那个人出列,它的下一位又从1开始报数,数到 m 的那个人又出列,一次类推,直到所有人出
阅读全文
DQL 查询表中的数据
摘要:DQL 查询表中的数据:查询语句(最复杂的语句)不会对数据库中的数据进行修改,只是一种显示数据的方式 语法格式: 一、基础查询 1、查询表所有行和列的数据,使用*表示所有列 2、查询指定列 3、指定列的别名进行查询 使用别名的好处:显示的时候使用新的名字,并不修改表的结构 ① 对列指定别名 ② 对列
阅读全文
双向链表
摘要:双向链表 管理单向链表的缺点分析: 1、单向链表,查找的方法只能是一个方向,而双向链表可以向前或者向后查找 2、单线链表不能自我删除,需要靠辅助节点,而双向链表,则可以自我删除。 应用实例:使用带 head 头的双向链表实现 — 水浒英雄排行榜 双向链表如何完成遍历,添加,修改和删除的思路示意图:
阅读全文
单链表 案例
摘要:1、求单链表中有效节点的个数 代码实现: 2、查找单链表中的倒数第 K个节点 代码实现: 3、单链表的反转 思路分析图解: (1) (2) 代码演示: 4、从尾到头打印单链表 思路分析图解: 代码实现: 5、合并两个有序的单链表,合并之后的链表仍然有序
阅读全文
单链表
摘要:单链表 单链表(带头链表)的逻辑结构示意图 单链表的应用实例 使用带 head 头的单向链表实现:对水浒英雄排行榜管理,完成对英雄人物的增删改查操作。 (1)第一种方法添加英雄时,直接添加到链表的尾部。 思路分析示意图: (2)第二种方式添加英雄时,根据排名将英雄插入到指定位置(如果有这个排名,则添
阅读全文
Java 之 Junit 单元测试
摘要:Junit 单元测试 测试分类: 1、黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 2、白盒测试:需要写代码。关注程序具体的执行流程。 Junit 测试:(属于白盒测试) 步骤: 1、定义一个测试类(测试用例) 建议: ① 测试类名:被测试的类名 Test 如 Calculator
阅读全文
链表(Linked List)
摘要:链表(Linked List) 一、介绍 链表是有序的列表,它在内存中存储方式(物理存储)如下: 小结: (1)链表是以节点的方式来存储,是链式存储。 (2)每个节点包含 data 域:存储数据;next 域:指向下一个节点。 (3)如上图,链表的各个节点不一定是连续存储的。 (4)链表分带头节点的
阅读全文
数组模拟队列
摘要:数组模拟队列 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明如下图。其中,maxSize 是该队列的最大容量。 因为队列的输出、输入是分别从前后端来处理,因此需要两个变量 front 及 rear 分别记录队列前后端的下标, front 会随着数据输出而改变,而 rear 则
阅读全文
队列
摘要:队列 队列是一个有序列表,可以用数组或是链表来实现 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出。 数组模拟示意图: rear 指针代表队尾,front 指针代表对首。 数组模拟队列 链表模拟队列
阅读全文
稀疏数组
摘要:稀疏数组(sparsearray) 基本介绍 因为该二维数组的很多值是默认值 0,因此记录了很多没有意义的数据,我们可以使用稀疏数组来保存该数组。 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。 稀疏数组的处理方法是: (1)记录数组一共有几行几列,有多少个不同的
阅读全文
数据结构和算法概述
摘要:一、数据结构和算法的关系 1、数据 data 结构(structure)是一门研究组织数据方式的学科 2、程序 = 数据结构 + 算法 3、数据结构是算法的基础 二、常见的算法有 1、KMP 模式匹配 2、普利姆算法 3、佛洛依德算法 4、分支算法 5、回溯算法 三、线性结构 数据结构包括:线性结构
阅读全文
Java 之 ObjectInputStream 类
摘要:ObjectInputStream 类 1、概述 java.io.ObjectInputStream extends InputStream ObjectInputStream 反序列化流,将之前使用 ObjectOutputStream 序列化的原始数据恢复为对象,以流的方式读取对象。 2、构造方
阅读全文
Java 之 ObjectOutputStream 类
摘要:ObjectOutputStream 类 1、概述 java.io.ObjectOutputStream extends OutputStream ObjectOutputStream:对象的序列化流,作用:把对象转成字节数据的输出到文件中保存,对象的输出过程称为序列化,可实现对象的持久存储。 2、
阅读全文
Java 之 序列化流
摘要:一、序列化概述 Java 提供了一种对象 序列化 的机制。用一个字节序列可以表示一个对象,该字节序列包含该 对象的数据、对象的类型 和 对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中 持久保存 了一个对象的信息。 反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。 对
阅读全文
Java 之 Properties类 属性集
摘要:一、概述 java.util.Properties集合 extends Hashtable<k,v> implements Map<k,v> java.util.Properties 继承与 Hashtable,来表示一个持久的属性集。 Properties 可保存在流中或从流中加载,Propert
阅读全文
Java 之 IO 异常的处理【了解】
摘要:一、JDK7 前的处理 前面的 Demo 中,一直把异常抛出,而在实际中并不能这样处理,建议使用 try...catch...finally 代码块,处理异常部分。 格式: try{ 可能会产出异常的代码 }catch(异常类变量 变量名){ 异常的处理逻辑 }finally{ 一定会指定的代码 资
阅读全文
Java 之 文件过滤器
摘要:在学习过滤器之前,先来做一个案例。 题目:文件搜索,搜索 D:\java 目录中 .java 文件。 分析: 1. 目录搜索,无法判断多少级目录,使用递归,遍历所有目录 2. 遍历目录时,获取的子文件,通过文件名称,判断是否符合条件 实现: 1 public class FileDemo { 2 p
阅读全文
Java 之 递归&递归操作文件
摘要:一、概述 递归:指在当前方法内调用自己的现象。 递归的分类: 递归分为两种,直接递归和间接递归 直接递归称为方法自身调用自己 间接递归可以 A 方法调用 B 方法,B 方法调用 C 方法,C 方法调用 A 方法。 注意: 递归一定要有条件限制,保证递归能够停止下来,否则会发生栈内存溢出。 在递归中虽
阅读全文
Java 之 File类(文件操作)
摘要:三、File类中的字段信息 File 类中提供了四个类常量: public static final char separatorChar:与系统有关的默认名称分隔符。此字段被初始化为包含系统属性 file.separator 值的第一个字符。 在 UNIX 系统上,此字段的值为 '/';在 Mic
阅读全文
一入 Java 深似海【目录】-----------------------------------------【目录】
摘要:【目录】 一、计算机相关知识 1. 2. 3. 二、Java 基础语法 1、Java 语言概述 2、数据类型 & 变量与常量 & 注释 3、运算符 4、流程控制语句 之 顺序结构 5、流程控制语句 之 分支结构 6、流程控制语句 之 循环结构 三、 数组 1、数组(一)定义与访问 2、数组(二)基本
阅读全文
JavaScript 之 offset 、client、scroll
摘要:下面这三组是关于元素大小、位置相关的属性 一、offset 偏移量 1、offsetParent 该属性获取距离当前元素最近的定位父元素,如果没有定位父元素此时是 body 元素 2、offsetLeft / offsetTop 该属性获取当前元素距离 offsetParent 的横向偏移和纵向偏移
阅读全文
Java 之 IDEA 的 Debug 追踪
摘要:使用 IDEA 的断点调试功能,查看程序的运行过程。 1、在有效代码行,点击行号右边的空白区域,设置断点,程序执行到断点将停止,我们可以手动来运行程序 2、点击 Debug 运行模式 3、程序停止在断点上不再执行,而IDEA最下方打开了Debug调试窗口 4、Debug调试窗口介绍 5、快捷键F8,
阅读全文
Java 之 LinkedHashMap 集合
摘要:LinkedHashMap 概述 java.util.LinkedHashMap<k,v>集合 extends HashMap<k,v>集合 LinkedHashMap的特点: 1. LinkedHashMap集合底层是哈希表+链表(保证迭代的顺序):查询速度快 2. LinkedHashMap集合
阅读全文
Java 之 HashMap 集合
摘要:一、HashMap 概述 java.util.HashMap<k,v> 集合 implements Map<k,v> 接口 HashMap 集合的特点: 1、HashMap 集合底层是哈希表:查询速度特别的快 JDK 1.8 之前:数组+单向链表 JDK 1.8 之后:数组+单向链表 | 红黑树(链
阅读全文
Java 之 Map 接口
摘要:一、Map 接口概述 java.util.Map 接口专门用来存放键值对这种对象关系的对象。 下面比较一下 Collection 与 Map 的区别: Collection 中的集合,元素是孤立存在的(理解是为单身),向集合存储元素采用一个个元素的方式存储。 Map 中的集合,元素是成对存在的(理解
阅读全文
JavaScript 之 navigator 对象
摘要:navigator 对象可以查看用户所使用的浏览器类型和系统平台类型。 1、userAgent 通过 userAgent 可以判断用户浏览器的类型。 Chrome 浏览器效果: 2、platform 通过 platform 可以判断浏览器所在的系统平台类型。
阅读全文
JavaScript 之 history对象
摘要:location.history 对象是浏览器的一个历史对象,可以用来前进和后退。 1、back() 方法 浏览器的历史记录会记录原来的地址,这个方法将会返回到上一页。相当于浏览器上面的“后退”按钮。 2、forward() 方法 浏览器的历史记录会记录原来的地址,这个方法将会前进到上一页。相当于浏
阅读全文
JavaScript 之 location 对象
摘要:一、location 对象 location 对象是 window 对象下的一个属性,使用的时候可以省略 window 对象。 常用属性: 最常用的为 href 属性,可以是浏览器跳转到指定的页面。 常用方法: 1、assign() 委派 该方法的作用和 href 的作用一样,可以让页面跳转到指定的
阅读全文
JavaScript 之 定时器
摘要:JavaScript 里面有两个定时器:setTimeout() 和 setInterval() 。 区别: setTimeout():相当于一个定时炸弹,隔一段时间执行,并且只会执行一次就不在执行了。 setInterval(): 相当于一个闹钟,隔一段时间执行,并且会重复执行。 一、setTim
阅读全文
JavaScript 之 页面加载事件
摘要:一、onload 加载事件 onload 是 window 对象的一个事件,也可以省略 window 直接使用。 常用方式: 这个事件是等待页面加载完成之后,再执行 <script> 标签的内容。即页面上所有的元素创建完毕,并且引用的外部资源下载完毕(js,css,图片) 注意:该事件相比于在 <b
阅读全文
JavaScript 之 对话框
摘要:一、alert() 语法格式: 该对话框是弹出一个提示信息。 Chrome 浏览器的效果。 二、prompt() 语法格式: 该对话框是弹出一个可以让用户输入信息的对话框,可以通过一个变量接受用户输入的值。 Chrome 浏览器效果: 三、confirm() 语法格式: 该对话框是弹出一个供用户选择
阅读全文
JavaScript 之 BOM
摘要:一、BOM 的概念 BOM(Browser Object Model)是指浏览器对象模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。 BOM 由多个对象组成,其中代表浏览器窗口的 Window 对象是 BOM 的顶层对象,其他对象都是该对象的子对象。 二、BOM 的顶级对
阅读全文