-
Java Concurrent P1
第一章 JAVA并发编程(基础篇)1. 线程安全是怎么产生的 JVM内存模型:可见性和原子性。 2. 认识线程安全 定义:当多个线程访问某一个类、对象或方法时,这个类、对象或方法都能表现出与单线程执行时一致的行为,那么这个类、对象或方法就是线程安全的。 线程安全问题都是由全局变量及静态变量引起的。若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则的话就可能...…
-
Java SQL-DATETIME
JAVA杂谈:如何匹配数据库中的DATETIME类型1. Java.sql.Date类a) 继承关系 b) 实施细节 c) 日期格式 utilDate: Thu Nov 01 11:15:35 CST 2018 type = java.util.Dated) 能否直接匹配数据库的DATETIME类型 不能,需要经过转化,详见2、3、4。e) 转化为毫秒(ms) utilDate.getTime(): 1541042135041 type = long2. 第一种转化方式 ...…
-
Java BNASummary
第四章 总结 属性\模型 阻塞BIO 非阻塞NIO 异步AIO blocking 阻塞并同步 非阻塞但同步 非阻塞并异步 线程数(server:client) 1:1 1:N 0:N 复杂度 简单 较复杂 复杂 吞吐量 低 ...…
-
Java AIO
第三章 AIO1. AIO概述 AIO 也叫NIO2.0 ,是一种非阻塞异步的通信模式。在NIO的基础上引入了新的异步通道的概念,并提供了异步文件通道和异步套接字通道的实现。2. AIO的设计原理 AIO的核心思想是:去主函数等待时间。异步channel API提供了两种方式监控/控制异步操作(connect, accept, read,write等)。第一种方式是返回java.util.concurrent.Future对象,检查Future的状态可以得...…
-
Java NIO
第二章 NIO1. NIO概述 NIO 全称New IO,也叫Non-Block IO 是一种非阻塞同步的通信模式。NIO是对BIO的补充和完善,目的在于提升IO的处理效率。2. NIO的设计原理 客户端和服务器之间通过Channel通信。NIO可以在Channel进行读写操作。这些Channel都会被注册在Selector多路复用器上。Selector通过一个线程不停的轮询这些Channel。找出已经准备就绪的Channel执行IO操作。NIO 通过一个...…
-
Java BIO
第一章 BIO1. BIO概述 BIO 全称Block-IO是一种阻塞同步的通信模式。何为阻塞同步?以数据读取过程为例,阻塞指的是等待数据准备的过程,而同步指的是数据从内核拷贝至进程的阶段。BIO的特点为模式简单,使用方便,但并发处理能力低,通信耗时,依赖网速。2. BIO的设计原理 服务器通过一个Acceptor线程负责监听客户端请求和为每个客户端创建一个新的线程进行链路处理。典型的一请求一应答模式。若客户端数量增多,频繁地创建和销毁线程会给服务器打开很...…