自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 征服flume之三——使用log4j输出日志到flume

接下来的几篇文章,我们将逐步学习使用各种方式对日志进行采集。本文讲述的是如何使用log4j直接输出日志到flume。先上干货,再讲理论!1、flume配置文件[code="property"]agent.sources = so1agent.channels = c1agent.sinks = s1# For each one of the source...

2016-02-24 15:00:41 613

原创 征服flume之二——flume-NG安装

1、将编译后的 apache-flume-1.7.0-SNAPSHOT-bin.tar.gz 包上传至linux服务器2、修改 flume-env.sh 配置文件,主要是添加java环境[code="java"]# Licensed to the Apache Software Foundation (ASF) under one# or more contributor li...

2016-02-24 11:40:36 686

原创 征服flume之一——flume-NG的编译

[b]关于flume NG[/b]Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。当前Flume有两个版本Flume 0.9X版本的统称Flume-og,Flume1.X版本的统称Flume-ng。由于F...

2016-02-22 17:40:31 399

原创 多线程countDownLatch方法介绍

CountDownLatch介绍CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。在一些应用场合中,需要等待某个条件达到要求后才能做后面的事情;同时当线程都完成后也会触发事件,以便进行后面的操作。 这个时候就可以使用CountDownLatch。本文主要介绍CountDownLatch的一个具体使用——字符串敏感字过...

2016-01-21 15:10:35 186

原创 Kafka与Spring的集成

[b]producer[/b][code="java"]public class KafkaServiceImpl implements KafkaService { private Producer inner; private Properties properties; public void setInner(Producer inner) { ...

2016-01-15 16:10:37 269

原创 基于jquery mobile+websocket+protocol buffer的IM开发

第一次研究有关web端的框架,结合工作需要,决定搞一个基于websocket+protobuffer的聊天demo。闲话少叙,上干货![b]关于jquery mobile[/b]jQuery Mobile 是用于创建移动 Web 应用的前端开发框架。jQuery Mobile 可以应用于智能手机与平板电脑。jQuery Mobile 使用 HTML5 & CSS3 最小的脚本来...

2016-01-15 10:46:05 356

原创 linux操作系统下 Jenkins+SVN+Maven+Tomcat 自动集成环境搭建

一、准备工作jdk(jdk1.7.0_65.zip)Maven(apache-maven-3.1.1-bin.tar.gz)tomcat(apache-tomcat-7.0.64.tar.gz)jenkins.war二、安装jdk、maven、tomcat2.1 jdk将 jdk1.7.0_65.zip 解压到 /usr/local/jdk1.7.0_65修改环...

2016-01-05 15:59:49 502

原创 Linux下SSH免密码登录(root)

配置主机A无密码登录主机A,主机Beg:A:192.168.113.181B:192.168.113.182在主机A上执行如下: 1. [code="java"]$ssh-keygen -t rsa -P '' [/code]--------------------然后一直按回车键,就会按照默认的选项将生成的密钥保存在.ssh/id_rsa文件中 2. [code="rub...

2016-01-05 15:06:05 320

原创 redhat下mysql安装与使用

1、安装(1)查看是否安装 yum list installed mysql*(2)查看现有安装包 yum list mysql*(3)安装mysql服务器端 yum install mysql-dev yum install mysql-server(4)安装mysql客户端(可选) yum...

2015-10-23 16:49:13 124

原创 基于netty4.0+spring的游戏完整架构

之前写过一篇和本文类似的博客,不过原博客是基于netty3.x实现的,今天整理了一份基于4.0的完整系统分享给大家,希望能对大家有所帮助。架构细节原博客都有,请参照 [url]http://cpjsjxy.iteye.com/blog/1587601[/url]propholder.xml[code="java"] config/pro...

2014-11-13 17:54:08 829 1

原创 java游戏架构那点事儿(四)

本节主要和大家聊聊消息处理的细节。1、java的字节序这是一个不经常遇到的问题,写在这里以备不时之需。字节序是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序。 Little endian:将低序字节存储在起始地址 Big endian:将高序字节存储在起始地址所谓的JAVA字节序指的是在JAVA虚拟机中多字节类型数据的存放顺序,JAVA字节序是Bi...

2014-10-21 15:19:51 141

原创 java游戏架构那点事儿(三)

本节主要介绍游戏架构的核心,多线程——ThreadPoolExecutor!线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。每个 ThreadPoolExecutor 还维护着一些基本的统计数据,如完成的任务数。建议程序员使用较为方便的 Executors 工...

2014-10-21 14:21:38 159

原创 java游戏架构那点事儿(二)

从本节开始,我将逐步对架构的各个环节进行展开讲解。这一节主要讲[b]消息的接收与发送 [/b]。在说具体的消息接收发送前,先说明一下netty的工作流程(请不熟悉netty的同学参考[url=http://cpjsjxy.iteye.com/blog/1587601]使用netty+spring搭建游戏框架[/url])。Netty是一个基于事件的NIO框架。在Netty中,一切网...

2014-10-18 11:24:43 167

原创 java游戏架构那点事儿(一)

从今天起,我会陆续在这里总结一下这几年来关于游戏服务器端框架的这点事儿。首先,要说明的是,我不是什么大牛,也不是什么砖家,就是一个普普通通的IT民工,此文仅就游戏服务器框架进行了技术性总结,如有不同观点,欢迎拍砖。+++++++++++++++++++++++++++++++华丽分割线++++++++++++++++++++++++++++++++++补一张netty框架图...

2014-10-17 16:43:30 401 1

原创 tcp 连接关闭详解

[b]主动发起关闭TCP链接端状态转换图[/b][img]http://dl2.iteye.com/upload/attachment/0098/9714/b71bad93-e6c3-39e0-ac3f-0e113874ef65.png[/img]上图是tcp连接主动关闭端的状态转换图:(1)应用层调用close函数发起关闭连接请求(2)发送FIN到对端,关闭写通道,自己进入F...

2014-07-10 14:48:35 313

原创 twemproxy支持的redis命令

https://raw.github.com/twitter/twemproxy/master/notes/redis.mdKeys Command Command Supported Format ...

2014-07-10 13:42:21 516

原创 twemproxy配置详解

twemproxy的配置信息填写在nutcracker.yml之中,默认的查找位置是在conf目录下,也可以通过-c参数指定。nutcracker.yml的例子:[code="java"]redis1: listen: 10.18.129.48:11299 redis: true hash: fnv1a_64 distribution: ketama ...

2014-07-10 13:40:58 808

原创 基于twemproxy的redis分布式应用

根据以往的测试结论,单个redis的实例的内存总量最好控制在8G以内(最大不能超过20G),而实际上应用对redis的内存的需求可能会远远大于8G,因此需要一个保持redis server性能不下降,但可以有效扩充redis server的容量的方案。twemproxy是一个恰当的选择。[b]简介[/b]twemproxy,也叫nutcraker。是一个twtter开源...

2014-07-10 12:04:14 102

原创 Linux下Java线程状态分析

在Linux上输入top进入top后按【shift】+【H】组合键,按线程方式查看线程ID、CPU消耗状况等通过这种方式获取耗CPU的线程后查看ThreadDump文件做进一步分析获取ThreadDump的方法: [code="java"]jstack -l pid >jstack.log[/code] [code="java"]"Attach Listener" ...

2014-06-11 14:39:33 1257

原创 游戏中掉落系统的设计

[b]掉落的分类[/b]1、 固定掉落2、 随机掉落(包含分组随机和组内随机两种情况)3、 条件掉落(在一定条件下才会产出的掉落,比如任务道具)下面举例说明一种最复杂的情况: 击杀关底BOSS即可获得200W金币,并有几率获得橙色宝剑(共6种)、护具(共4种)或头盔(共3种)中的两种(甚至多种),如果你的运气足够好,每种装备可能都不止一个哦!当然如果你是奉乔帮主的命而来,你...

2014-05-22 15:27:37 1671

原创 Linux系统安装Groovy环境

Linux系统安装 Groovy环境GVM (the GroovyenVironment Manager)This tool makesinstalling Groovy on any Bash platform (Mac OSX, Linux, Cygwin, Solaris orFreeBSD) very easy.Simply open a newterminal and ent...

2014-04-11 14:11:24 1088

游戏中的爱恋

俗话说:恋爱中的男人智商为0。当玩家与你的游戏真正谈上恋爱时,那么朋友,你的春天马上就要来了!那么,如何让玩家迅速的恋上你的游戏,并坠入爱河无法自拔呢?首先,当玩家选择了你的游戏时,你们的恋爱之旅就开始了!无论玩家是一见钟情还是早有祈盼,异或是身材出众或者能力超强,至少他在忙忙游戏icon中选择了点你出台!也许这就是缘分吧!当然,如果你想促成这场恋爱,第一次见面尤其重要!不要和我说...

2013-06-08 15:43:06 130

原创 多服务器部署脚本的实现

当游戏开服数较多时,部署就成了问题。今天简单研究了利用ssh-keygen+scp的分发部署模式,将关键部分做个简单记录。一、关于ssh-keygenssh 是一个专为远程登录会话和其他网络服务提供安全性的协议。默认状态下ssh链接是需要密码认证的,可以通过添加系统认证(即公钥-私钥)的修改,修改后系统间切换可以避免密码输入和ssh认证。ssh-keygen 用于为ssh生成、管理...

2013-05-31 16:04:54 291

原创 这些年,那些事儿!

[list=1][*][size=large][b]游戏体验[/b][/size][img]http://dl.iteye.com/upload/attachment/0084/2049/1b80f78e-2c96-388f-b3a2-53adbe63ed91.jpg[/img][table]||[/table][img]http://dl.iteye.com/uplo...

2013-05-09 13:57:23 88

原创 飞信免费发短信API接口调用方式

飞信免费发短信API接口调用方式(通过HTTP访问以下网址、支持GET和POST):http://sms.api.bz/fetion.php?username=您的移动飞信登录手机号&password=您的移动飞信登录密码&sendto=接收短信的飞信好友手机号(也可以是你自己的手机号)&message=短信内容...

2013-02-21 10:24:23 451

原创 redis 主从同步配置方案

今天研究了redis主从同步部分的配置,在这里留个备忘!闲话少续,上配置!这是redis-master.conf[code="java"]daemonize yespidfile /var/run/redis-master.pidport 6379timeout 0loglevel verboselogfile stdoutdatabases 16s...

2012-12-18 16:04:54 181

原创 java面试整理(1)

1. short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1;有错吗?对于short s1 = 1; s1 = s1 + 1;由于1是int类型,因此s1+1运算结果也是int 型,需要强制转换类型而short s1 = 1; s1 += 1;可以正确编译,因为s1+= 1;相当于s1 = (short)(s1 + 1);其中有隐含的强制类型...

2012-12-04 15:44:48 78

原创 mysql 1418 无法创建函数的解决方法

ErrorCode:1418ThisfunctionhasnoneofDETERMINISTIC,NOSQL,orREADSSQLDATAinitsdeclarationandbinaryloggingisenabled(you*might*wanttousethelesssafelog_bin_trust_function_creatorsvariable)(0mstaken) ...

2012-11-16 14:32:07 174

原创 一个适用于CentOS下的Redis启动脚本

[code="java"]#!/bin/sh## redis - this script starts and stops the redis-server daemon## chkconfig: - 85 15# description: Redis is a persistent key-value database# processname: redis-s...

2012-11-07 10:20:38 86

原创 redis 配置方案

cd /usr/local/src wget http://redis.googlecode.com/files/redis-2.2.10.tar.gzcd redis-2.2.10make prefix= 指定安装路径,也可以是默认默认配置文件在当前目录下 cp redis.conf 也可以直接使用下面配置文档命令说明:redis-server redis服...

2012-11-07 10:16:54 69

原创 Redis数据备份与恢复

Redis提供了两种持久化选项,分别是RDB和AOF。默认情况下60秒刷新到disk一次[save 60 10000 当有1w条keys数据被改变时],Redis的数据集保存在叫dump.rdb一个二进制文件,这种策略被称为快照。也可以手动调用Save或BGSAVE命令的:[code="python"]/usr/local/bin/redis-cli -h 127.0.0....

2012-11-07 10:15:52 704

原创 [转]需求分析的故事——如何练就需求分析的火眼金晴?

话说小P刚刚加入到一个项目组里面,项目经理安排他做需求分析,小P一听需求分析就有点不乐意,心里嘀咕:“需求有什么分析的啊?客户要什么给什么呗,简直是浪费我这个人才!”虽然不乐意,但毕竟工作还是要做,很快小P接到了的第一个需求,客户打电话来说“我要一只羊”,小P一听就觉得太简单了,简单的写了一下需求“XXX客户需要一只羊”,然后就交给同样是新手的小Q去处理,小Q也觉得很简单,直接抓了一只羊就...

2012-08-27 17:49:44 114

原创 Java并发之——同步与原子性

每一个线程自顾自的做自己的工作固然好。但是线程之间经常会相互影响(竞争或者合作),比如多个线程需要同时操作一个资源(比如一个对象)。这个时候,如果不进行同步,就可能会引发难以预料的错误。举一个《thinking in java》第四版中的例子。有一个EvenGenerator类,它的next()方法用来生成偶数。如下:[code="java"]public class EvenGe...

2012-08-27 13:08:11 139

原创 对redis数据持久化的一些想法[转]

数据持久化通俗讲就是把数据保存到磁盘上,保证不会因为断电等因素丢失数据。redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式。先介绍下这两种dump方式再讲讲自己遇到的一些现象和想法,前面的内容是从网上整理出来的。Snapshottin...

2012-08-27 11:14:41 67

原创 j2ee项目性能分析工具jwebap使用简介

今天突发奇想的对j2ee项目的性能监控来了兴趣,索性找找资料研究一下!可能很多朋友在性能优化方面都有很多困扰:程序在哪方面存在缺陷?sql哪里有瓶颈?哪个请求最频繁?哪个请求耗时最长……从某种意义上说,解决问题并不是特别困难的事儿,但如何发现问题的问题会经常困扰着我。今天给大家介绍一款j2ee项目性能监测工具:jwebap!通过简单的研究,发现这东西还是挺好用的,哈哈!一、...

2012-07-30 16:05:10 288

原创 基于netty的websocket开发小结

WebSocket是html5规范新引入的功能,用于解决浏览器与后台服务器双向通讯的问题,使用WebSocket技术,后台可以随时向前端推送消息,以保证前后台状态统一,在传统的无状态HTTP协议中,这是“无法做到”的。WebSocket提出之前,为了解决后台推送消息到前台的需求,提出了一些解决方案,这些方案使用已有的技术(如ajax,iframe,flashplayer,java appl...

2012-07-27 18:03:52 643

原创 maven使用杂记——不断更新中

1、项目中用到log4j是常有的事儿,但是记得加载log4j时因为版本选择不同出现的小异常![b]Missing artifact javax.jms:jms:jar:1.1[/b]原因是log4j在1.2.15及以上版本更换了协议,与jms冲突。解决办法有两种:一是使用1.2.14版本,二是手动下载jms.jar,安装到maven本地仓库中去[code="java"] ...

2012-07-27 15:25:18 85

原创 maven+eclipse搭建webapp总结

最近对maven进行了试探性的研究,今天对其进行总结!感谢[url=http://snowolf.iteye.com/]snowolf[/url] 同学的大力支持!基础的maven介绍与配置请参见 [url=http://snowolf.iteye.com/blog/953735]Maven零散笔记——常用配置[/url],这里仅对一些容易出现问题的地方进行说明!一、别忘了修改project文...

2012-07-27 13:09:24 85

原创 用jfreechat制作图形报表

最近对jfreechat制作图形报表进行了总结,将一些要点记录下来,以备不时之需! JFreeChart是JAVA平台上的一个开放的图表绘制类库。它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计。JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter pl...

2012-07-27 09:00:32 180

原创 spring集成log4j配置信息

spring中集成log4j并非难事,只需要在web.xml中添加下面一段代码:[code="xml"] log4jConfigLocation classpath:log4j.properties log4jRefreshInterval 60000 [/code]将log4j.properties文件放在classp...

2012-07-17 14:32:31 73

空空如也

空空如也

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

TA关注的人

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