深入浅出Zabbix 3.0 -- 第十章 Web 监控 http://www.mamicode.com/info-detail-1824545.html ...
分类:
Web程序 时间:
2018-05-28 20:18:46
阅读次数:
149
机器学习当中能深入浅出的方法第一步就是先学会用numpy了。numpy是一个第三方的开源python库,他提供了许多科学的数值计算工具,尤其是大型矩阵计算,但使用配置非常简单,结合matplotlib能够非常方便的将计算结果展示成各种图形,如点状图,折线图,散点图。 先搭建开发环境,首先到 http ...
分类:
其他好文 时间:
2018-05-27 14:48:44
阅读次数:
333
主要谈谈锁的性能以及其它一些理论知识,内容主要的出处是《Java Concurrency in Practice》,结合自己的理解和实际应用对锁机制进行一个小小的总结。 首先需要强调的一点是:所有锁(包括内置锁和高级锁)都是有性能消耗的,也就是说在高并发的情况下,由于锁机制带来的上下文切换、资源同步 ...
分类:
编程语言 时间:
2018-05-26 20:24:49
阅读次数:
180
这一节主要是谈谈读写锁的实现。 上一节中提到,ReadWriteLock看起来有两个锁:readLock/writeLock。如果真的是两个锁的话,它们之间又是如何相互影响的呢? 事实上在ReentrantReadWriteLock里锁的实现是靠java.util.concurrent.locks. ...
分类:
编程语言 时间:
2018-05-26 19:42:01
阅读次数:
266
从这一节开始介绍锁里面的最后一个工具:读写锁(ReadWriteLock)。 ReentrantLock 实现了标准的互斥操作,也就是一次只能有一个线程持有锁,也即所谓独占锁的概念。前面的章节中一直在强调这个特点。显然这个特点在一定程度上面减低了吞吐量,实际上独占锁是一种保守的锁策略,在这种情况下任 ...
分类:
编程语言 时间:
2018-05-26 18:54:39
阅读次数:
180
Semaphore 是一个计数信号量。从概念上讲,信号量维护了一个许可集。如有必要,在许可可用前会阻塞每一个 acquire(),然后再获取该许可。每个 release() 添加一个许可,从而可能释放一个正在阻塞的获取者。但是,不使用实际的许可对象,Semaphore 只对可用许可的号码进行计数,并 ...
分类:
编程语言 时间:
2018-05-26 18:45:40
阅读次数:
152
如果说CountDownLatch是一次性的,那么CyclicBarrier正好可以循环使用。它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。所谓屏障点就是一组任务执行完毕的时刻。 清单1 一个使用CyclicBarrier的例子 package xyl ...
分类:
编程语言 时间:
2018-05-26 18:44:34
阅读次数:
184
此小节介绍几个与锁有关的有用工具。 闭锁(Latch) 闭锁(Latch):一种同步方法,可以延迟线程的进度直到线程到达某个终点状态。通俗的讲就是,一个闭锁相当于一扇大门,在大门打开之前所有线程都被阻断,一旦大门打开所有线程都将通过,但是一旦大门打开,所有线程都通过了,那么这个闭锁的状态就失效了,门 ...
分类:
编程语言 时间:
2018-05-25 19:26:34
阅读次数:
167
在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition》(《UML精粹:标准对象建模 ...
分类:
其他好文 时间:
2018-05-25 13:59:37
阅读次数:
135
课程目录:4架构篇系统架构设计师视频数据优化技术Redis视频教程数据库高并发原理深入浅出MongoDB应用实战集群及系统架构深入Java程序性能调优视频深度揭秘服务器端内幕企业高并发的成熟解决方案某公司网架构设计方案架构设计文档基于SOA 思想下的百万数据架构互联网公司技术架构系列电商网站之Sol ...
分类:
编程语言 时间:
2018-05-22 22:23:22
阅读次数:
331