- 浏览: 289517 次
- 性别:
- 来自: 北京
最新评论
-
Ann-phei:
wooding老师,有没有出书计划呀,是否方便加我QQ详聊呀 ...
2016年书架整理 -
可乐瓶里的小辣椒:
Storm目录贴 -
可乐瓶里的小辣椒:
...
TCP编号系统 -
woodding2008:
tivan 写道反压的你有进行测试过吗?有做功能测试,没有做性 ...
Storm1.0.x新功能调研 -
tivan:
反压的你有进行测试过吗?
Storm1.0.x新功能调研
文章列表
[置顶] Linux目录贴
- 博客分类:
- 操作系统
Linux进程管理Linux进程调度Linux中断和中断处理Linux内核同步Linux内核数据结构Linux内存管理Linux页高速缓存和页回写Linux页表
IP头部结构IP分片TCP/IP协议封装与DemultiplexingIP 差错控制运输层协议 TCP头部结构TCP状态转换TCP中的窗口TCP拥塞控制TCP的计数器TCP差错控制TCP编号系统TCP选项TCP流量控制
[置顶] Zookeeper 目录贴
- 博客分类:
- Zookeeper
Zookeeper Session机制
Zookeeper 磁盘IO高问题
Zookeeper 测试
[置顶] Storm目录贴
- 博客分类:
- Storm
目前我在Strom平台这些方面踩过坑,简单总结一下。
Storm平台监控[上]Storm平台监控[下]监控Storm Worker的系统资源情况Storm1.0.x新功能调研Storm任务常见问题总结Storm 反压机制Storm消息可靠处理
Storm TickTuple 意外停止Storm Worker进程挂起导致漂移 Storm worker进程发生死锁Storm worker端口冲突Storm心跳风暴导致Zookeeper IO问题Storm Spout emit 问题异常导致 storm worker 重启Storm Worker网络连接泄漏Storm常用配置参数 ...
爱奇艺建成全球领先流量防刷系统 维护公平公正内容生态
腾讯基于用户画像大数据的电商防刷架构
继爱奇艺、优酷土豆之后,腾讯终对刷量痛下狠手
视频刷量软件
修改/dev/shm空间大小
- 博客分类:
- 操作系统
/dev/shm默认情况下为物理内存大小的50%,遇到空间紧张时可以扩大。
vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Wed Dec 21 20:56:58 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=57ceaac5-c1a8- ...
丛林法则:华尔街大鳄的“狠”秘诀
- 博客分类:
- 职场
时机未到前充分忍耐
伟大的成功者都能充分地看到自身的不足--至少是当下尚不成熟的方面,然后耐心地去改进,潜心积蓄实力,等待着未来的机会,而不会急于冒进。要想克服赢的渴望与输的恐惧,耐心地等待机会 ...
狠关键:怎样才能对自己狠一点
- 博客分类:
- 职场
我赢了因为我敢于进场!
人生中遇到的每一件事情,做出的每一次尝试,都有撞到南墙甚至输得一塌糊涂的风险,就看你是不是有勇气来承受暂时的失败。如果你抚摸着满是伤痛的胳膊,告诉自己只要再试几次,坚硬的 ...
重排序是指编译器和处理为了优化程序性能而对指令序列进行重新排序的一种手段。
数据依赖
如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分为下列3中类型。
名称
代码示例
说明
写后读
a=1;b=a;
写一个变量之后,再读这个位置
写后写
a=1;a=2;
写一个变量之后,再写这个变量
读后写
a=b;b=1;
读一个变量之后,再写这个变量
上面的3中情况,只要重排序两个操作的执行顺序,程序的执行结果就会被改变。编译器和处理器在 ...
Java线程之间的通信对程序员完全透明,内存可见性问题很容易困扰Java程序员。
Java内存模型
并发编程模型的两个关键问题,线程之间如何通信及线程之间如何同步,通信是指线程之间使用什么机制来交换信息。在命令式编程中,线程之间的通信机制由两种:共享内存和消息传递。
在共享内存的并发模型里,线程之间共享程序的公开状态,通过写-读内存中的公共状态进行隐式通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须通过发送消息来显示进行通信。
Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式进行 ...
Java并发机制的底层实现原理
- 博客分类:
- 并发编程
Java代码在编译后会变成Java字节码,字节码被类加载器加载到JVM执行字节码,最终需要转化为汇编指令在CPU上执行,Java中所使用的并发机制依赖于JVM的实现和CPU指令。
volatile的应用
在多线程并发编程中synchronized和volatile都扮演着重要的角色,volatile是轻量级synchronized,它在多处理开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。如果volatile变量修饰符的使用恰当的话,它比synchronized的使用和执行成本更低,因 ...
并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。在并发编程时,如果希望通过多线程执行任务让程序运行得更快,会面临非常多的挑战,比如:上下文的切换问题、死锁问题、以及受限制于硬件和软件资源限制问题。
上下文切换
即使单核处理器也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停切换线程执行,让我们感觉多个线程是同时执行的,时间片一般是几十毫秒。
CPU通过时间片 ...
书架上的书有很多,有的只看了目录,有的只看了很少的内容,为了避免成为目录党,整理一下2016年已经看过的书以及下一阶段要看的书,目的是督促自己要把看书计划落实下来,同时简单回顾一下看书过程中的收获 ...
虽然应用程序操作的对象是映射到物理内存之上的虚拟内存,但是处理器直接操作的却是物理内存。所以当应用程序访问一个虚拟地址时,首先必须将虚拟地址转化成物理地址,然后处理器才能解析地址访问请求。地址的转换工作需要通过查询页表才能完成,地址转换需要将虚拟地址分段,使每段虚拟地址都作为一个索引指向页表,而页表项则指向下一级别的页表或指向最终的物理页面。
Linux中使用三级页表完成地址转换。利用多级页表能够节约地址转换需要占用的存放空间。如果利用三级页表转换地址,即使是64位机器,占用的空间也很有限。但是如果使用静态数组实现页表,那么即便在32位机器上,改数组也将占用巨 ...
Linux页高速缓存和页回写
- 博客分类:
- 操作系统
页高速缓存(cache)是Linux内核实现磁盘缓存。它主要用来减少对磁盘I/O操作。是通过把磁盘中的数据缓存到 物理内存中,把对磁盘的访问变为对物理内存的访问。
磁盘高速缓存有两个重要因素:第一,访问磁盘 ...