摘要: 转自并发编程网 如何合理地估算线程池大小? 这个问题虽然看起来很小,却并不那么容易回答。大家如果有更好的方法欢迎赐教,先来一个天真的估算方法:假设要求一个系统的TPS(Transaction Per Second或者Task Per Second)至少为20,然后假设每个Transaction由一个 阅读全文
posted @ 2016-09-21 15:26 贴地 阅读(1546) 评论(0) 推荐(0)
摘要: VMware网络配置详解一:三种网络模式简介 安装好虚拟机以后,在网络连接里面可以看到多了两块网卡: 其 中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍 选择虚拟机网络模 式方法如下,单击Edit virtual machine set 阅读全文
posted @ 2016-07-26 08:44 贴地 阅读(171) 评论(0) 推荐(0)
摘要: 来自小老大 海量数据,找出最热门(频率最高)的某一数据,或前100的数据。一般情况下数据大小几百个G,而内存限制就1个G,完成计算。 应用场景: (1)海量日志数据,提取出某日访问百度次数最多的那个IP; (2)搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来, 假设目前有一千万个记录 阅读全文
posted @ 2016-07-07 10:47 贴地 阅读(271) 评论(0) 推荐(0)
摘要: 单例模式是最简单的设计模式,但是使用时要注意线程安全问题,以下是单例模式的几种写法,比较好的方法是基于类初始化的方式,既能实现线程安全,又可以实现延迟加载。饿汉模式可实现线程安全,但是效率可能会出现问题。还应注意双重锁的检测,由于指令重排并不能保证线程安全 一.饿汉式: public class S 阅读全文
posted @ 2016-07-07 10:37 贴地 阅读(168) 评论(0) 推荐(0)
摘要: 前段时间面试,问到了线程池,但是自己了解地没那么深入,因此稍微整理了一下。要注意阻塞队列的种类。 实现原理: 一:具体组成: 1.CorePool 2.Blockingqueue 3.ThreadPool 4.饱和策略 二:工作过程 当提交一个新任务到线程池时,处理流程如下 1.线程池判断CoreP 阅读全文
posted @ 2016-07-07 10:32 贴地 阅读(278) 评论(0) 推荐(0)
摘要: 本质是一种悲观锁 CAS: compare and swap,比较和交换,CAS有3个操作数,内存值V,旧的预期值A,要修改的新值B。当且仅当预期值A和内存值V相同时,将内存值V修改为B,否则什么都不做 乐观锁与悲观锁 : 独占锁是一种悲观锁,synchronized就是一种独占锁,它假设最坏的情况 阅读全文
posted @ 2016-07-07 10:28 贴地 阅读(720) 评论(0) 推荐(0)
摘要: 转自: 作者:xwdreamer 出处:http://www.cnblogs.com/xwdreamer 参考文献 引用文献:深入Java集合学习系列:HashMap的实现原理,大部分参考这篇博客,只对其中进行稍微修改 自己曾经写过的:Hashmap实现原理 1. HashMap概述: HashMa 阅读全文
posted @ 2016-05-16 11:01 贴地 阅读(159) 评论(0) 推荐(0)
摘要: 运行时数据区 java程序员吧内存控制的权利交给了虚拟机完成,一旦出现内存溢出或泄露,如果不了解虚拟机是怎样使用内存的,那么排查错误将非常艰难。 JVM在执行Java程序时会把所管理的内存分为若干个不同的数据区,粗略可以分为两类,线程隔离和非线程隔离。具体细分可见下图 (1)程序计数器 是一块较小的 阅读全文
posted @ 2016-04-01 20:02 贴地 阅读(145) 评论(0) 推荐(0)