自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 同一个java工程打两个不同的包

目的:1、打一个普通java包,用于spring aop 2、用aspectj打一个包,用于字节码加强的实现方式实现: [code="java"] aspectj org.codehaus.mojo aspectj-maven-plugin 1.8 ...

2016-08-18 18:01:38 615

原创 AOP的三种实现

1、利用Spring AOP2、所依赖的包是普通java编译,非aspectJ编译[code="java"] org.codehaus.mojo aspectj-maven-plugin 1.8 compile test-compile 1.7 1.7 ...

2016-08-18 17:53:19 226

原创 批量替换指令

2155 find ./ -name "*.jsp" | xargs -i perl -p -i.bak -e 's/\r\n/\n/g' {}find ./ -name "*.bak" -type f -print -exec rm {} \;如果不想备份perl -pie 's/\r\n/\n/g' file

2015-09-10 14:42:29 197

原创 大量close_wait以及调用ip地址错误获取方法引发的故障

记录一下这几天帮助兄弟项目组解决的几个问题工程:网关服务器,业务逻辑少,操作不费时问题:大量的Close_wait,访问速度较慢分析&解决:1、close_wait是TCP/IP协议中被动关闭方收到Fin后没有发送Fin导致 项目采用了mina框架,服务器被动关闭时会生成一个异常,调用exceptionCaught()方法, 在该方法中,服务器调用关闭方法ses...

2014-05-12 17:43:03 298

原创 在线编辑html的网站

提供给产品人员使用,方便其生成html代码http://kindeditor.net/demo.php

2014-02-11 11:34:32 203

原创 获取class类字节数组的方法

研究jvm hotswap的过程中,有一步需要读取java class的字节流,本来想只提供一个class就好了,但是在Web项目下不通用,先记录下来,留待以后使用。[code="java"] private static byte[] loadBytes(Class cls) throws IOException { if (cls == null) return...

2013-09-26 18:04:56 1019

原创 cached过高,导致load高的问题

同事反映linux操作系统无端的大量内存被“cached”状态占用,导致JVM无法申请,CPU load持续上升的情况。 [code="java"]free -m total used free shared buffers cachedMem: 7859 7733 ...

2013-09-25 20:42:10 315

原创 spring中bean的更新方法及在不同环境下的问题

如果spring中bean的配置信息是放在xml中,如果修改了bean的配置信息,如果在不重启服务器的前提下生效?我的办法是用ApplicationContext重新读取指定的配置文件,然后更新一下所有bean。[code="java"] ApplicationContext applicationContext = new ClassPathXmlApplicationConte...

2013-09-25 20:21:03 228

原创 samba使用总结

1、安装 #rpm -qa | grep samba #yum install samba2、配置 cat /etc/samba/smb.conf [code="java"][global]workgroup = workgroupserver string = samba serversecurity = usermap to gue...

2013-09-10 14:17:16 134

原创 开发经验、流程总结

1、原则: 代码应该尽早提交提交前提:所提交的代码不会影响其他业务,不会影响其他人的使用。2、正确的开发流程:策划设计需求--->技术阅读需求文档-->技术同策划沟通,深入理解需求--》双方确认无误指定研发计划,开始研发--》研发完成后--》测试或策划对功能进行验收--》验收通过,测试发布准许上线通知--》技术做好上线前的准备,随时准备上线(在不影响其他业务或玩家使用的前提...

2013-09-09 17:41:26 89

原创 子网掩码错误导致的问题

背景:pc ip:10.X 测试机ip:1.69 1.70现象: 10.X可以连接1.69 无法连接1.70 从1.69可以连接1.70 从10.x无ping通1.70排查过程:先是怀疑防火墙错误,于是停掉70的防火墙 #service iptables stop 发现没用 于是怀疑子网掩码错误 ...

2013-09-09 16:15:26 1510

原创 小试Lua

[root@server-X lua-5.2.2]# makePlease do 'make PLATFORM' where PLATFORM is one of these: aix ansi bsd freebsd generic linux macosx mingw posix solarisSee doc/readme.html for complete instructi...

2013-09-03 17:22:22 197

原创 小试groovy

[root@server-69 groovyLearn]# cat helloworld [code="java"]#!/usr/bin/env groovyprintln("Hello world")for (a in this.args) { println("Argument: " + a)}[/code]#groovy helloworld 1 3...

2013-09-02 14:46:21 111

原创 Btrace实战

btrace可以对是针对java平台的一个动态追踪工具。简单点说就是可以在不停服务的情况下,对现网数据进行追踪分析和定位。最近为了定位一个jvm进程退出时java进程的运行情况,我学习了下btrace的使用。例子:分析指定类中方法的调用和返回情况。代码:[code="java"]package com.sun.btrace.samples;import com.sun.bt...

2013-08-22 16:36:05 104

原创 tomcat进程意外挂掉(crash)(未解决的问题)

问题:tomcat在运行过程中会莫名挂掉,表现如被Killed -9,系统中没有任何日志(命令行无Kill指令记录、/var/log/message中无OOM Killer日志、项目本地目录无core dump日志、无java crash日志、应用中记录了eixt操作,日志中没有看到该记录)。不知道大伙儿遇到过这种情况不,有啥建议不? 下面是我排查的情况: 软件环境 $ uname...

2013-08-22 16:17:09 1688

原创 ssh代理

linux下一条简单指令就能实现代理:ssh -qTfnNg -D 7070 user@remote_ipwindows代理软件Bitvise SSH Client

2013-07-05 15:34:56 100

原创 Linux下一键安装软件脚本

功能:一键安装软件。可以选择要安装的选项(如1 2 3 ),直接回车的话,默认全安装[code="java"]#!/bin/sh:/bin/bash export PATH=/usr/bin:/bin:/sbin:/usr/sbin:$PATHinit_env(){ echo "初始化环境" #yum install ncurses* gcc+ gc...

2013-07-03 11:56:40 520

原创 消息压缩和解压缩

无线开发时,一方面出于给玩家节省流量的考虑,一方面为了加快网络传输速度,需要对过大的消息进行。消息字节大小小于256的压缩就没有太大意义,建议对大于1k的消息进行压缩处理,具体数据可以根据自己的业务进行设定。参考java代码如下[code="java"] /** * 对消息进行压缩,并返回压缩后的字节数组 * * @param bodyBuf * @r...

2013-06-19 16:42:36 153

原创 log4j配置热加载

log4j热加载的原理网上说的很多,我就不多说了。主要整理一下如何定位目录以及如何设置热加载[code="java"]File f = new File("./log4j.xml"); logger.error("定位工作目录:"+f.getAbsolutePath() + "|" + new Date(f.lastModified())); String fileName = Loa...

2013-06-18 19:04:11 545

原创 复制文件的脚本(linux+windowx)

功能:把指定文件夹(不包括)下的所有东西复制到指定文件夹下。 在产品发布的时候,某些不共享的配置文件可以通过此脚本在项目第一次发布的时候生成。windows版本(当前目录下resources)[code="java"]rem @echo off::cd ../../..echo cdset root_dir=%cd%\..\..\..echo %root_...

2013-06-06 16:36:08 193

原创 项目发布脚本

原理:两个svn,一个研发svn,用于研发时使用,一个发布svn用于产品发布。实现时把研发svn的内容编译打包,发布到发布svn。脚本release.sh代码如下[code="java"]base_dir=`dirname $0`read_conf(){ dir=`dirname $0` echo `cat $dir/release.conf |grep "^[^#]"|g...

2013-06-06 16:20:29 114

原创 liunx下通讯协议监控

tcpdump是linux下非常强大的协议层分析工具,结合它可以对网络通讯进行监控,定位网络相关的bug非常方便,比如:客户端和服务器是否创建了连接,客户端发送了消息,服务器没有解析,还是客户端压根就没有发送消息 。。。。比如我想监控同指定ip的通讯内容[code="java"] tcpdump host ip_X -xx[/code] 或指定端口的通讯[code="ja...

2013-05-22 17:42:33 80

原创 比较难查找的死循环(java)

项目的开发人员找到我说游戏挂掉了。症状:1、客户端能跟服务器创建连接,但是服务器对收到的消息不进行业务逻辑处理 2、cpu和内存均正常。本能的觉得出现了死锁。于是jstack查看堆栈信息,没发现死锁。查看线程状态[code="java"]# grep "java.lang.Thread.State" 12432.txt | sort | uniq -c ...

2013-05-20 16:35:59 263

原创 java.lang.OutOfMemoryError: unable to create new native thread

[code="java"] bootstrap = new ServerBootstrap(new NioServerSocketChannelFactory( Executors.newCachedThreadPool(), Executors.newCachedThreadPool()));[/code]异常[code="java"]java.lang.OutOfM...

2013-05-16 19:50:35 298

原创 eclipse、maven、tomcat下建Dynamic web工程

在eclipse中通过svn下载的maven(java)项目是普通project项目,所以对已web project,如果要采用tomcat作为容器的话,需要做些处理(采用jetty的话没有这个问题)。 第一步:转化成web项目 properties -> project Facets 选中Dynamic Web Modules第一步:把项目的lib加入运行环境中 proper...

2013-04-18 11:56:26 58

原创 数据库配置优化

存储引擎主要是:innodb,计划提供2G内存用于Mysql运行配置文件[code="java"]skip-external-lockingkey_buffer_size = 16Mmax_allowed_packet = 1Mtable_open_cache = 512sort_buffer_size = 16Mnet_buffer_length = 8Kre...

2013-04-06 22:01:05 193

原创 批量修改数据库表的存储引擎类型的脚本

如下:[code="java"]tableList=`mysql football_log -e "show tables"`for tableName in ${tableList[*]}do case ${tableName} in Tables_in_football_log) echo "ignore Database:"${tableName...

2013-03-27 21:08:31 132

原创 spring+ibatis批处理解决

为了实现日志批处理提交,这几天详细研究了ibatis的事务和批处理。直接上代码,然后说结论吧。spring版本3.1 + ibatis2.3.4配置[code="java"] [/code]java代码:[code="java"]/*** * ibatis的批处理必须放...

2013-03-27 20:58:57 110

原创 swap过高的问题解决

[code="java"] free total used free shared buffers cachedMem: 4044464 3981928 62536 0 65720 293416-/+ buffers/cache: 3622792 ...

2013-03-26 12:08:03 497 1

原创 mysql数据备份、导入、二进制日志管理

备份通常采用定期全备+增量备份。具体内容参看mysql手册【5.9. 备份与恢复】逻辑备份 [code="java"] mysqldump -p -l -F test > test.dmp // -l 给所有表加读锁; -F 生成新的日志文件[/code]Mysql日志管理 错误日志 二进制日志(建议打开) 查询日志 慢查询日志(mysqldumpsl...

2013-03-18 18:12:24 152

原创 mysql不同版本数据之间的同步工具+常用指令

升级数据库时,通常需要将旧版本中的数据同步到新版本的mysql服务中。对于MyISAM格式的,通常直接copy数据文件,然后修改文件权限(chown -R mysql:mysql data)就能解决问题。但是对于innodb格式的,这种方式是行不通的。于是我写了一个工具方便数据的备份。操作步骤如下:1、启动新的mysql服务 #:bin/mysqld_safe --port...

2013-03-14 17:56:13 263

原创 eclipse(4.2)、subclipse(1.8.1)、maven安装过程中的问题总结

使用TortoiseSVN时没法保存用户名和密码,遂升级(1.6.16->1.7.11),为了兼容遂打算升级eclipse(3.7)中的svnkit插件,折腾了半天,发现无法升级,于是把eclipse升级到4.2,然后升级subclipse到1.8.1,然后安装maven,发现无法安装maven+svn插件,折腾半天,发现[quote]The m2e-subclipse Team Prov...

2013-03-08 10:13:56 80

原创 资源更新方式比较和简要工具

问题描述:资源大小18M+,主要是图片,文件数1800+,采用Http下载下载方式比较: pc上测试 手机,wifi测试 不压缩,短连接 11s左右 4.2m 不压缩,长连接 6.8s左右 压缩 1.8s左右 10~11s明显采用压缩的方...

2013-03-01 10:09:15 100

原创 游戏性能分析辅助工具

要分析游戏的性能,比如掌握以下两点:1、玩家请求的时间间隔,以此来确定指令处理周期;2、指令处理时间。围绕需求,写了三个脚本帮助分析:第一个脚本:分析玩家请求间隔... | awk -f user_reqInterval_stat.awk 分析文本格式: dd:mm:ss userId如:09:53:48 [sessionId(1)]展示结果:请求最快的几个连接、平...

2013-02-04 20:29:26 150

原创 页面游戏的流量分析

Wap流量主要有以下几个部分构成1、网络通讯信息头2、页面内容,页面内容按其表现形式又分为: 2.1 普通文字。通常中文是2个字节,英文是1个字节,一页即便100个文字,也才200B。 通常文字的影响不会太大,最多也就几十~几百个字节 2.2 连接。影响因数1、连接数 2、URL地址长度。采用相对URL可以有效减少字节数 2.3 图片。我们的图片大小多数在...

2013-02-04 18:35:07 121

原创 web游戏性能分析

目前暂定游戏处理指令周期为8s,玩家平均在线/峰值 = 0.6,用户的每个指令分为3部分,设置过滤头,权限验证,指令处理其中前两者的处理时间为 4ms,如果指令处理时间为10ms的话8000/14= 571 * 0.6 = 342(平均在线人数,以下同) ======================================================通过计...

2013-02-04 18:22:28 132

原创 java网络连接异常

[code="java"]try{ Socket socket = new Socket(); socket.connect(new InetSocketAddress("192.168.1.X", 22400), 50000);}catch (Exception e) { System.err.println((System.currentTimeMillis() - s...

2013-02-01 10:07:30 378

原创 正则表达式学习

前一段时间看了一下html解析,发现这个网站(http://htmlparser.sourceforge.net/)还不错, 推荐给大家。有需求的同学,可以自个儿深研一番,当然如果有更好的也别忘了推荐给我。:-) 另外我还看了一下java中的正则表达式,发现正则强大是很强大就是掌握起来太麻烦了。 比如在java中“\” 本身就是一个转义符, 所以要表示一个'...

2013-01-31 12:28:59 68

原创 Grep使用心得

Usage: grep [OPTION]... PATTERN [FILE] ... -C, --context=NUM print NUM lines of output context在查询日志时非常有用,尤其是那种日志信息写在连续几行的。 -e, --regexp=PATTERN use PATTERN as a regular expr...

2013-01-31 12:27:29 69

原创 linux下软件安装

5 vim安装./configure --with-features=huge --enable-multibyte Include multibyte editing support. 支持中文编辑系统:CentOS6.3 mysql5.6.1安装mysql:yum -y install gcc+ gcc-c++yum install ncurses...

2013-01-31 11:30:55 57

空空如也

空空如也

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

TA关注的人

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