动手用 Java 实现一个 Master - Worker

Java 中提供了几种可以选择的线程池使用, 但是都是将线程放到线程里处理就行了。对于数据放回就显得有些无力。 Master-Worker 设计的核心思想为,Master进程负责接受任务和分配任务 Master-Worker 目的在于将一个大的任务分解成若干个小任务,并行执行,提供对系统的利用率。 Master package com.fzb.worker;import java.util. ...

MINA 学习记录(三)

MINA 学习记录(三)

Mina 使用 ProtocolCodecFactory,CumulativeProtocolDecoder 处理TCP数据粘包关于数据粘包的处理可以查看这篇文章 http://blog.94fzb.com/post/nio-deal-data-stick-package 本文将讲述使用MINA 处理TCP数据粘包的处理。处理数据粘包的核心思想就是然让对端知道这一次发送了那些数据(数据的长度),对 ...

MINA 学习记录(二)

MINA 学习记录(二)

说完了简单的编写一个客户端,服务端程序后。发现MINA还是为开发者省了大量的活,那一起来看看MINA自身是怎样工作呢。 先上张MINA整体工作流程的图 先看下图中提到的接口的大体结构吧 这样可能看着还可能不太明白那还慢慢的通过追溯源码的方式来说明这个图。 public class TcpServer extends IoHandlerAdapter{ public static fin ...

MINA 学习记录(一)

做为一个程序员或多或少都有接触过网络通信,如果这个感觉这个范畴过大那就说Socket。说大点就当你访问其他的计算机就用到了网络。如果脱离网络那么计算机的功能恐怕就只能做计算了。 网络通信能做那些事? 浏览网页收发邮件玩网络游戏… 那么作为一个程序员那么需要关心就是Socket这层,因为大多语言都提供了网络通信的库,不如Java里面 java.net的包下面的内C#System.Net,C s ...

Java 解压,压缩 zip文件

项目中用到对文件解压,压缩。于是自己就编写了一段 import java.io.BufferedInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;imp ...

一些不错的技术文档

系统构建 PV百万的网站架构 豆瓣网技术架构的发展历程 晒晒你的系统架构 oschina 技术架构介绍 JavaEye+技术架构 技术资料 网易技术部的MySQL中文资料 缓存技术浅谈 Lucene+4.0+的灵活索引+API FreeMarker+中文手册 javaEE7新特性

Java 性能调优工具

Java 性能调优工具

目录 Linux 命令工具topsarvmstatiostatpidstatWindows 工具任务管理器,perfmon,Process ExplorerpslistJDK 命令行工具jpsjstatjinfojmapjhatjstackjstatdhprofJConsoleVisual VMMATMAT OQLJProfile目录Linux 命令工具 Linux平台是使用最为广泛的服务平台之一 ...

Java 并发数据结构

[TOC]因为Java提供了一些非线程安全的数据结构如HashMap,ArrayList,HashSet等。所有在多线程环境中需要使用支持并发访问操作的数据结构。 并发ListVector,CopyOnWriteArrayList 是线程安全的List。ArrayList是线程不安全的。如果一定要使用,需要:Collections.synchronizedList(List list)进行包装。C ...

FFmpeg 源码编译安装流程

FFmpeg 对于图像,语音,视频,流媒体可以说是一个难得的利器。而且对众多平台都有支持,了解到了有格式工厂,优酷桌面版都有使用到了FFmpeg 进行视频的转码。(想想当初在网吧的日子 )安装过程的一些简单记录,环境为Ubuntu 14.04 默认安装时提示 not found yasm可以使用 —disable-yasm 或者sudo apt-get install yasm 1.根据实际情 ...