前言: 在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 ...
分类:
其他好文 时间:
2017-09-29 21:12:52
阅读次数:
205
socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 所以,我们无需深入理解t ...
分类:
编程语言 时间:
2017-09-25 16:08:58
阅读次数:
275
基本的IO编程过程(包括网络IO和文件IO)是,打开文件描述符(windows是handler,java是stream或channel),多路捕获(Multiplexe,即select和poll和epoll)IO可读写的状态,而后可以读写的文件描述符进行IO读写,由于IO设备速度和CPU内存比速度会 ...
分类:
Web程序 时间:
2017-09-23 16:20:48
阅读次数:
192
memstoreFlushSize是什么呢? memstoreFlushSize为HRegion上设定的一个阈值,当MemStore的大小超过这个阈值时,将会发起flush请求。 它的计算首先是由Table决定的,即每个表可以设定自己的memstoreFlushSize,通过关键字MEMSTORE_ ...
分类:
其他好文 时间:
2017-09-17 22:10:10
阅读次数:
201
1、复合操作 若一个类里有多个属性状态,对每个属性使用atomic类修饰,并且一个属性更新,要在同一原子操作内更新其他所有属性,这样才是线程安全类。需要整体类的状态操作是原子的。 要保持状态的一致性,就需要在单个原子操作中更新所有相关的状态变量。 判断同步代码块的合理大小,要权衡安全性、简单性和性能 ...
分类:
编程语言 时间:
2017-09-17 15:14:44
阅读次数:
162
一 什么是存储引擎 mysql中建立的库 >文件夹 库中建立的表 >文件 现实生活中我们用来存储数据的文件应该有不同的类型:比如存文本用txt类型,存表格用excel,存图片用png等 数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。 存储引擎说白 ...
分类:
数据库 时间:
2017-09-17 13:21:02
阅读次数:
247
--add-drop--database 在每个CREATE DATABASE语句前添加DROP DATABASE语句。 --add-drop-tables 在每个CREATE TABLE语句前添加DROP TABLE语句。 --add-locking 用LOCK TABLES和UNLOCK TAB ...
分类:
数据库 时间:
2017-09-14 00:29:52
阅读次数:
323
1.目的 通过优化tomcat提高网站的并发能力。当我们今天我们将这个优化讲完之前 优化完成后看能达到什么层次。 2.服务器资源 服务器所能提供CPU、内存、硬盘的性能对处理能力有决定性影响。 硬件我们不说了 这个方面是钱越多越好是吧。 3.优化配置 3.1. 配置tomcat管理员账户 在conf ...
分类:
其他好文 时间:
2017-09-11 00:49:19
阅读次数:
261
1、不变性 某个对象在被创建后其状态就不能被修改,那么这个对象就称为不可变对象,不可变对象一定是线程安全的。不可变对象很简单。他们只有一种状态,并且该状态由构造函数来控制。 当满足以下条件时,对象才是不可变的:(1)、对象创建以后其状态就不能改变;(2)、对象的所有域都是final类型;(3)、对象 ...
分类:
编程语言 时间:
2017-09-03 23:36:02
阅读次数:
205
原文地址:http://chenzhou123520.iteye.com/blog/1863407 乐观锁介绍: 乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突... ...
分类:
数据库 时间:
2017-08-30 00:47:02
阅读次数:
254