1.1 MapReduce定义 MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于 Hadoop 的数据分析 应用”的核心框架。 MapReduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个 Hadoop 集群上。 1.2 Ma ...
分类:
其他好文 时间:
2021-04-05 12:32:51
阅读次数:
0
文档目录: 一、概念 二、解决方案 三、举例说明 分割线:正文 一、概念 关注数据在多线程并发时安全问题,共享数据有修改的行为。 二、解决方案 1、线程排队执行,不能并发,即线程同步机制。 2、使用synchronized(){}线程同步代码块,()内填写需要同步的共享对象 3、局部变量永远不存在线 ...
分类:
编程语言 时间:
2021-04-05 12:16:31
阅读次数:
0
#线程同步 指多个线程操作同一个资源,即并发 处理这种问题就需要用到线程同步机制,多个线程同时访问此对象会进入这个对象的等待队列,一个一个来。 同时为了保证安全,除了队列还要加上锁机制。 #通过同步解决买票问题 ...
分类:
编程语言 时间:
2021-04-05 11:43:21
阅读次数:
0
上篇文章记录到volatile在硬件层面怎么保证线程间可见性的,是通过lock锁缓存行缓存一致性协议来实现的。但是这样会有一个伪共享的问题。 首先缓存行在64bit机中一般为64字节,具体缓存行大小可以通过下面的命令查看: cat /proc/cpuinfo 假设有一个对象有两个long类型的数据x ...
分类:
编程语言 时间:
2021-04-02 13:27:35
阅读次数:
0
hashmap<K,V> hash表基于map接口的继承。这个继承提供了所有的map操作,允许空值和空键.hashmap类大致有hashtable,除了它不能并发和允许空值。这个类不能保证map的顺序,尤其是它不能保证数据的顺序一直不变。对于get和put的执行时间是常量,假如hash功能合适的分散 ...
分类:
其他好文 时间:
2021-04-02 13:21:36
阅读次数:
0
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址: https://github.com/sunshinely ...
分类:
数据库 时间:
2021-03-31 12:03:26
阅读次数:
0
前提:安装node.js 1、监控工具:# npm install clinic -g 2、压测工具:# npm i autocannon -g 3、使用监控工具启动前端服务:# clinic doctor -- node server.js 4、使用压测工具压测(并发100持续20秒):# aut ...
分类:
Web程序 时间:
2021-03-31 11:53:36
阅读次数:
0
一、调度器的由来 调度本身是指操作系统中为每个任务分配其所需资源的方法。 在操作系充中,线程是任务执行的最小单位,是系统调度的基本单元。 虽然线程比进程轻量,但是在调度时也有比较大的额外开销,每个线程都会占用几M的内存,上下文切换时也会消耗几微秒的时间,这些都是高并发的阻碍。 Go语言的诞生有一个很 ...
分类:
其他好文 时间:
2021-03-30 13:55:46
阅读次数:
0
sql与nosql数据库的选择,考虑以下几个指标: 数据量 并发量 实时性 一致性要求 读写分离 安全性 运维性 根据这些个指标,软件系统可分为 管理型系统:运营类系统,sql 大流量系统:字段多、数据量增长块,nosql 日志型系统:es 搜索型系统:es 事务型系统:sql+缓存redis 离线 ...
分类:
数据库 时间:
2021-03-30 13:17:28
阅读次数:
0
一、为何选择线程池,不用时创建线程呢? 池化技术:提前准备一些资源,在需要时可以重复使用这些预先准备的资源。常见的池化技术的使用有:线程池、内存池、数据库连接池、HttpClient 连接池。 线程池作为池化技术的一种实践,本质上也是同样的思想,提前备好资源以备不时之需。因此,线程池相比较任务出现再 ...
分类:
编程语言 时间:
2021-03-29 12:47:30
阅读次数:
0