摘要: 三报文握手 1.概述 TCP是面向连接的协议。TCP建立连接的过程叫做握手,握手需要在客户和服务器之间交换三个TCP报文段,即我们说的“三次握手”(严格讲是一次握手过程中交换了三个报文)。 2.过程 一开始客户端和服务器端中的TCP进程都处于关闭状态,假设客户端主动打开连接,服务器端被动打开连接;这 阅读全文
posted @ 2018-10-09 15:14 bkycrab 阅读(1395) 评论(2) 推荐(1) 编辑
摘要: 数据库种类 在当今互联网,数据库分为关系型数据库和非关系型数据库(NOSQL)。 关系型数据库 1.介绍 关系数据库系统是支持关系模型(关系数据结构、关系操作集合、关系完整性约束)的数据库系统。 使用二维表格的形式表示复杂的数据结构;通过SQL结构化查询语句存取数据;ACID理论,保持数据一致性。 阅读全文
posted @ 2018-10-07 10:49 bkycrab 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 死锁 两个线程对两个同步对象具有循环依赖时,就会发生死锁。即同步嵌套同步,而锁却不同。 线程饿死和活锁虽然不像死锁一样是常见的问题,但是对于并发编程的设计者来说就像一次邂逅一样。当所有线程阻塞,或者由于需要的资源无效而不能处理,不存在非阻塞线程使资源可用。JavaAPI 中线程活锁可能发生在以下情形 阅读全文
posted @ 2018-10-04 09:48 bkycrab 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 线程同步概念 同步是用来解决多线程的安全问题的,在多线程中,同步能控制对共享数据的访问。如果没有同步,当一个线程在修改一个共享数据时,而另外一个线程正在使用或者更新同一个共享数据,这样容易导致程序出现错误的结果。 线程同步方式 同步的三种表现形式: 同步代码块 可以指定需要获取哪个对象的同步锁,使用 阅读全文
posted @ 2018-10-04 09:41 bkycrab 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 基本概念 1.并发编程模型 线程之间的通信机制有两种:共享内存和消息传递。Java的并发采用的是隐式的共享内存模型。 Java内存模型(JMM)是围绕着在并发过程中如何处理原子性、可见性和有序性来建立的。 原子性:基本数据类型的访问读写是具备原子性的(针对long和double有非原子性协定),sy 阅读全文
posted @ 2018-10-03 17:13 bkycrab 阅读(186) 评论(0) 推荐(0) 编辑
摘要: Collections工具类 1. 提供大量方法用于操作集合,比如排序,查找,替换 2. 同步控制 提供synchronizedXxx()方法将指定集合类包装成线程同步的集合。 3. 设置不可变集合 提供三个方法返回一个不可变的集合 emptyXxx() singletonXxx() unmodif 阅读全文
posted @ 2018-09-29 20:39 bkycrab 阅读(157) 评论(0) 推荐(0) 编辑
摘要: Set集合总览 集合元素无序、不重复,三个实现类都是线程不安全的,最好在创建时通过Collections工具类的synchronizedSortedSet方法来包装Set集合,防止对set集合的意外非同步访问。 HashSet类 1. 底层数据结构是哈希表(是一个元素为链表的数组) 和红黑树,按Ha 阅读全文
posted @ 2018-09-29 20:38 bkycrab 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Map集合总览 1. 保存映射关系key value键值对,键唯一,值可以重复,Map和Set的实现类相似 2. Entry是Map的内部类 3. Map接口中常用的方法: void clear() Set keySet(),返回Map中key组成的Set集合 Object put(Object k 阅读全文
posted @ 2018-09-29 20:36 bkycrab 阅读(120) 评论(0) 推荐(0) 编辑
摘要: Queue集合 1. 模拟队列先进先出(FIFO),不允许随机访问元素 2. Queue接口定义的方法: //void add(Object e) boolean offer(Object e),加入队列尾部,比add安全 //Object element(),获取队列头部元素 Object pee 阅读全文
posted @ 2018-09-29 20:35 bkycrab 阅读(142) 评论(0) 推荐(0) 编辑
摘要: List集合总览 1. 元素有序,可重复,可通过索引访问 2. 增加了通过索引操作集合的方法,如: Object get(int index) Object remove(int index) void sort(Comparator c) void replaceAll(UnaryOperator 阅读全文
posted @ 2018-09-29 20:34 bkycrab 阅读(127) 评论(0) 推荐(0) 编辑