自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 并发和并行的区别:吃馒头的比喻

并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务。前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生.并发性(concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生。并行(parallelism)是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并

2013-11-21 00:20:50 1163

转载 Java直接内存访问的技巧

ava被设计成一个安全,可管理的环境,然而 Java HotSpot有一个后门,提供了对低级别的,对直接内存和线程的操作。这个后门是—-sun.misc.Unsafe。这个类在JDK中有广泛的应用,例如,java.nio和java.util.concurrent。很难想象在日常开发中使用这些危险的,不可移植和未经校验的API。然而,Unsafe提供一种简单的方法来观察HotSpot JVM内部的一

2013-11-20 00:55:08 1728

转载 TCP/IP重传超时--RTO

概述:本文讨论主机在发送一个TCP数据包后,如果迟迟没有收到ACK,主机多久后会重传这个数据包。主机从发出数据包到第一次TCP重传开始,RFC中这段时间间隔称为retransmission timeout,缩写做RTO。本文会先看看RFC中如何定义RTO,然后看看Linux中如何实现。本文旨在分享:当遇到了TCP层问题改如何去查找、阅读文档,该如何去在Linux源码中寻求答案。1. 起

2013-11-19 00:07:23 1591

转载 代码和产品发布的几种方式

最近有几个朋友提起”灰度发布"这个概念和相关的问题。想解释一下几种具体的发布方式(具体名称中文翻译不一定正确)、他们的优缺点和实现难点。这几种方式都可以作为快速运营的软件或者web服务公司逐步发布新代码或者新产品,边尝试边改进的方法,这些方法可以避免一次发布里面某个产品/代码的漏洞对网站产生瞬间毁灭性的后果。 这几种方式各有优缺点和难点,根据实际情况一个公司可能使用不同的方法做不同

2013-11-18 21:56:17 955

转载 Java应用运维

对于互联网产品或长期运行的产品而言,运维工作非常重要,尤其是在产品复杂了以后,在这篇blog中就来说下Java应用的运维工作(ps:虽然看起来各种语言做的系统的运维工作都差不多,但细节上还是会有很多不同,so本文还是只讲Java的)。苦逼的码农按照需求开发好了一个全新的Java Web应用,该发布上线给用户用了,要把一个Java Web应用发布上线,首先需要搭建运行的环境,运行的环境需要有

2013-11-18 21:52:41 1349

转载 常见的Java问题排查方法

以下是Java应用在运行时常见的一些问题,总结了运行时黑盒方式的一些排查方法,也希望看到的同学能给予补充,无论是补充碰到的问题,还是补充解决方法。类装载的相关问题写过Java代码的同学估计都碰到过ClassNotFoundException/NoClassDefFoundError/NoSuchMethodException(还有一个常见的ClassCastException就不在这里

2013-11-18 21:51:01 1889

转载 通过blktrace, debugfs分析磁盘IO

前几天微博上有同学问我磁盘util达到了100%时程序性能下降的问题,由于信息实在有限,我也没有办法帮太大的忙,这篇blog只是想给他列一下在磁盘util很高的时候如何通过blktrace+debugfs找到发生IO的文件,然后再结合自己的应用程序,分析出这些IO到底是谁产生的,最终目的当然是尽量减少不必要的IO干扰,提高程序的性能。blktrace是Jens Axobe写的一个跟踪IO请

2013-11-18 21:42:03 1472

转载 cpu iowait高排查的case

在之前的常见的Java问题排查方法一文中,没有写cpu iowait时的排查方法,主要的原因是自己之前也没碰到过什么cpu iowait高的case,很不幸的是在最近一周连续碰到了两起cpu iowait的case,通过这两起case让自己学习到了很多系统层面的知识,也许这些知识对于熟悉系统的人来说没什么,不过对于写Java的同学我觉得还是值得分享下(由于Java基本不用于存储类型的场景,所以

2013-11-18 21:40:50 9790

转载 某应用出现启动后集群中部分node成功,部分node失败

解决过程:1、失败的node抛出的是NoClassDefFoundError,这些node在环境上和应用包上是完全一致的,因此猜想是classloader装载class时出现了什么问题;2、在启动参数上增加了-XX:+TraceClassLoading,想看看成功的node和失败的node是不是从第一个地方加载的相应的类,悲催的是成功的node加上了这参数后启动超慢,于是只好放弃;3、

2013-11-18 20:39:23 1062

转载 Timing Wheel 定时轮算法

最近自己在写一个网络服务程序时需要管理大量客户端连接的,其中每个客户端连接都需要管理它的 timeout 时间。通常连接的超时管理一般设置为30~60秒不等,并不需要太精确的时间控制。另外由于服务端管理着多达数万到数十万不等的连接数,因此我们没法为每个连接使用一个Timer,那样太消耗资源不现实。最早面临类似问题的应该是在操作系统和网络协议栈的实现中,以TCP协

2013-11-17 23:01:29 1139

转载 zookeeper项目使用几点小结

背景  前段时间学习了zookeeper后,在新的项目中刚好派上了用场,我在项目中主要负责分布式任务调度模块的开发,对我自己来说是个不小的挑战。  分布式的任务调度,技术上我们选择了zookeeper,具体的整个分布式任务调度的架构选择会另起一篇文章进行介绍。   本文主要是介绍自己在项目中zookeeper的一些扩展使用,希望可以对大家有所帮助。  项目中

2013-11-03 11:06:52 1094

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除