292013
 

1概述

Windows Storage Server 2008(以下简称WSS2008)是Windows Server 2008系列中的存储服务器版本,是企业级的文件服务器平台,支持多Administrator文件存储相关的优化特性、副本管理,以及iSCSI功能。简单来说,就是可以在普通的服务器上,安装上WSS2008,可以作为iSCSI存储服务器来说。而在以前,存储服务器的硬件、软件成本都非常的昂贵,有了WSS2008,构建低成本、易于管理的存储服务器成为可能。本节将介绍WSS2008iSCSI服务器和搭配Windows下的类LVM工具DiskPart实现可动态扩展的分布式存储服务。 继续阅读 »

272013
 

Windows下运行Hadoop,通常有两种方式:一种是用VM方式安装一个Linux操作系统,这样基本可以实现全Linux环境的Hadoop运行;另一种是通过Cygwin模拟Linux环境。后者的好处是使用比较方便,安装过程也简单。在这里咱们就来看看第二种方案:如何再Windows下快速安装一个Hadoop环境,并结合Eclipse开发环境研究和调整Hadoop代码。

整个安装过程包括以下三大步骤:

  1. 安装和配置Cygwin(http://cygwin.com/install.html)
  2. 安装和配置Hadoop-1.2.1(http://hadoop.apache.org/docs/stable/cluster_setup.html)
  3. 安装和配置Eclipse开发环境 继续阅读 »
062013
 

public static enum Thread.Stateextends Enum<Thread.State>线程状态。线程可以处于下列状态之一:

1.NEW
至今尚未启动的线程的状态。

2.RUNNABLE
可运行线程的线程状态。处于可运行状态的某一线程正在 Java 虚拟机中运行,但它可能正在等待操作系统中的其他资源,比如处理器。

3.BLOCKED
受阻塞并且正在等待监视器锁的某一线程的线程状态。处于受阻塞状态的某一线程正在等待监视器锁,以便进入一个同步的块/方法,或者在调用 Object.wait 之后再次进入同步的块/方法。

4.WAITING
某一等待线程的线程状态。某一线程因为调用下列方法之一而处于等待状态:

  • 不带超时值的 Object.wait
  • 不带超时值的 Thread.join

 

LockSupport.park
处于等待状态的线程正等待另一个线程,以执行特定操作。 例如,已经在某一对象上调用了 Object.wait() 的线程正等待另一个线程,以便在该对象上调用 Object.notify() 或 Object.notifyAll()。已经调用了 Thread.join() 的线程正在等待指定线程终止。

5.TIMED_WAITING具有指定等待时间的某一等待线程的线程状态。某一线程因为调用以下带有指定正等待时间的方法之一而处于定时等待状态:

  • Thread.sleep
  • 带有超时值的 Object.wait
  • 带有超时值的 Thread.join
  • LockSupport.parkNanos
  • LockSupport.parkUntil

6.TERMINATED
已终止线程的线程状态。线程已经结束执行。

注意:在给定时间点上,一个线程只能处于一种状态。这些状态是虚拟机状态,它们并没有反映所有操作系统线程状态。

052013
 

ffmpeg / avconv是通用的视频/音频编解码命令行工具。

通用是既指他们可以处理各种各样的编码的视频和音频,转换成各种需要的格式,又指他们是跨平台的工具,可以运行在Linux、Windows、MacOS X等操作系统上。

avconv和ffmpeg的渊源颇深。ffmpeg是FFmpeg项目的命令行编解码工具;avconv是Libav项目中用来代替ffmpeg的命令行编解码工具。2012年1月下旬Libav项目决定抛弃掉ffmpeg, 完全用avconv代替之,因此Libav项目的命令行编码器只有avconv。

事实上,avconv和ffmpeg是基本一致的,avconv只是对原 ffmpeg的某些选项做了些微调,并且规范了一些行为。此外,FFmpeg项目也在不断吸收Libav项目的更新,因此两者的行为几乎一样。具体的差别看这里我们下面主要用ffmpeg来做例子

特别说明:ffmpeg和avconv的选项经常变化,本文用的是ffmpeg version N-37208-g01fcbdf和avconv version N-32611-gd55b06b。我们使用时需要结合具体版本。也就是说,这个笔记可能会很快过时…
继续阅读 »

202013
 

1. 概述

对于软件版本管理工具,酷讯决定摒弃CVS而转向Git了。

为什么要选择Git? 你真正学会使用Git时, 你就会觉得这个问题的回答是非常自然的。然而当真正需要用文字来回答时,却觉得文字好像不是那么够用。

其实,关键的问题不在于如何回答这个问题。 问题的关键是公司已经决定使用它了。那么,我们的程序员们!
请开动你们的浏览器,请拿出你的搜索引擎工具,去自己发掘答案吧。在这里,我只能给你们一个最朦胧的感觉。

Git和 CVS、SVN不同,是一个分布式的源代码管理工具。Linux内核的代码就是用Git管理的。它很强,也很快。它给我们带来的直接好处有: 继续阅读 »