摘要:
良好的数据库逻辑设计和物理设计是数据库高性能的基础,所以对于数据库结构优化是很有必要的 数据库结构优化目的: 1、减少数据的冗余 2、尽量避免在数据插入、删除和更新异常 例如:有一张设计不得当的学生选课表 查询结果: 插入异常: 如果表中某个实体依赖另一个实体而存在,想添加一门语文课,但是依赖学生、 阅读全文
摘要:
上一篇文章写了栈的相关知识,而本文会讲一下队列 队列是一种特殊的线性表,在尾部插入(入队Enqueue),从头部删除(出队Dequeue),和栈的特性相反,存取数据特点是:FIFO Java中queue源码: queue直接继承Collection,有6个基本方法实现增删查的功能 单向队列: PS: 阅读全文
摘要:
栈: 英文名stack,特点是只允许访问最后插入的那个元素,也就是LIFO(后进先出) jdk中的stack源码: public class Stack<E> extends Vector<E> { //继承Vector,Vector和ArrayList几乎相同,都是通过数组保存数据,只不过方法有S 阅读全文
摘要:
影响数据库性能的因素: 1、硬件环境:CPU、内存、存盘IO、网卡流量等 2、存储引擎的选择 3、数据库参数配置(影响最大) 4、数据库结构设计和SQL语句 MySQL采用插件式存储引擎,可以自行选择,但同时如何选择也成了问题,本文会介绍存储引擎的特点,以及如何选择 MySQL体系结构: Serve 阅读全文
摘要:
在前两篇博客,学习了ArrayList和LinkedList的源码,地址在这: Java集合(五)--LinkedList源码解读 Java集合(四)--基于JDK1.8的ArrayList源码解读 这篇文章,对比一下ArrayList和LinkedList和Vector,主要是前面两个,因为Vec 阅读全文
摘要:
首先看一下LinkedList基本源码,基于jdk1.8 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializabl 阅读全文
摘要:
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { private static final long serial 阅读全文
摘要:
在上一节,介绍了字节流的基本使用,本节介绍一下字符流的使用 Reader: 我们可以发现Reader和InputStream的方法相差不大,是定义字符输入流的抽象类 Writer: FileReader、FileWriter: BufferedReader、BufferedWriter: 新增了ne 阅读全文
摘要:
I/O流分类: InputStream和Read的子类都有read(),用来读取单个字节或字节数组 OutputStream和write的子类都有write(),用来写入单个字节或字节数组 一般都是通过装饰器Decorator模式叠加多个对象提供所期望的功能。创建单一的流,却需要创建多个对象 Inp 阅读全文
摘要:
RandomAccessFile: 翻译过来就是任意修改文件,可以从文件的任意位置进行修改,迅雷的下载就是通过多个线程同时读取下载文件。例如,把一个文件分为四 部分,四个线程同时下载,最后进行内容拼接 RandomAccessFile实现了DataOutput和DataInput接口,说明可以对文件 阅读全文