问题整理,工作总结
iteye_9747
这个作者很懒,什么都没留下…
展开
-
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
正则表达式学习
前一段时间看了一下html解析,发现这个网站(http://htmlparser.sourceforge.net/)还不错, 推荐给大家。有需求的同学,可以自个儿深研一番,当然如果有更好的也别忘了推荐给我。:-) 另外我还看了一下java中的正则表达式,发现正则强大是很强大就是掌握起来太麻烦了。 比如在java中“\” 本身就是一个转义符, 所以要表示一个'...原创 2013-01-31 12:28:59 · 68 阅读 · 0 评论 -
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 阅读 · 0 评论 -
web游戏性能分析
目前暂定游戏处理指令周期为8s,玩家平均在线/峰值 = 0.6,用户的每个指令分为3部分,设置过滤头,权限验证,指令处理其中前两者的处理时间为 4ms,如果指令处理时间为10ms的话8000/14= 571 * 0.6 = 342(平均在线人数,以下同) ======================================================通过计...原创 2013-02-04 18:22:28 · 132 阅读 · 0 评论 -
页面游戏的流量分析
Wap流量主要有以下几个部分构成1、网络通讯信息头2、页面内容,页面内容按其表现形式又分为: 2.1 普通文字。通常中文是2个字节,英文是1个字节,一页即便100个文字,也才200B。 通常文字的影响不会太大,最多也就几十~几百个字节 2.2 连接。影响因数1、连接数 2、URL地址长度。采用相对URL可以有效减少字节数 2.3 图片。我们的图片大小多数在...原创 2013-02-04 18:35:07 · 121 阅读 · 0 评论 -
游戏性能分析辅助工具
要分析游戏的性能,比如掌握以下两点:1、玩家请求的时间间隔,以此来确定指令处理周期;2、指令处理时间。围绕需求,写了三个脚本帮助分析:第一个脚本:分析玩家请求间隔... | awk -f user_reqInterval_stat.awk 分析文本格式: dd:mm:ss userId如:09:53:48 [sessionId(1)]展示结果:请求最快的几个连接、平...原创 2013-02-04 20:29:26 · 150 阅读 · 0 评论 -
资源更新方式比较和简要工具
问题描述:资源大小18M+,主要是图片,文件数1800+,采用Http下载下载方式比较: pc上测试 手机,wifi测试 不压缩,短连接 11s左右 4.2m 不压缩,长连接 6.8s左右 压缩 1.8s左右 10~11s明显采用压缩的方...原创 2013-03-01 10:09:15 · 100 阅读 · 0 评论 -
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 阅读 · 0 评论 -
mysql不同版本数据之间的同步工具+常用指令
升级数据库时,通常需要将旧版本中的数据同步到新版本的mysql服务中。对于MyISAM格式的,通常直接copy数据文件,然后修改文件权限(chown -R mysql:mysql data)就能解决问题。但是对于innodb格式的,这种方式是行不通的。于是我写了一个工具方便数据的备份。操作步骤如下:1、启动新的mysql服务 #:bin/mysqld_safe --port...原创 2013-03-14 17:56:13 · 263 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 评论 -
spring+ibatis批处理解决
为了实现日志批处理提交,这几天详细研究了ibatis的事务和批处理。直接上代码,然后说结论吧。spring版本3.1 + ibatis2.3.4配置[code="java"] [/code]java代码:[code="java"]/*** * ibatis的批处理必须放...原创 2013-03-27 20:58:57 · 110 阅读 · 0 评论 -
批量修改数据库表的存储引擎类型的脚本
如下:[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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
同一个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 阅读 · 0 评论 -
数据库配置优化
存储引擎主要是: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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
iptables使用实践
1、现象:164的外网网卡坏了,内网网关正常临时解决方案: 在165的虚拟网卡上绑定164的ip,通过165收发164的消息,通过内网进行消息转发具体步骤:165上配置:iptables -t nat -A PREROUTING --dst remoteIP.164 -p tcp -m tcp --dport 29301 -j DNAT --to-destination l...原创 2013-01-18 11:55:19 · 90 阅读 · 0 评论 -
比较难查找的死循环(java)
项目的开发人员找到我说游戏挂掉了。症状:1、客户端能跟服务器创建连接,但是服务器对收到的消息不进行业务逻辑处理 2、cpu和内存均正常。本能的觉得出现了死锁。于是jstack查看堆栈信息,没发现死锁。查看线程状态[code="java"]# grep "java.lang.Thread.State" 12432.txt | sort | uniq -c ...原创 2013-05-20 16:35:59 · 263 阅读 · 0 评论 -
liunx下通讯协议监控
tcpdump是linux下非常强大的协议层分析工具,结合它可以对网络通讯进行监控,定位网络相关的bug非常方便,比如:客户端和服务器是否创建了连接,客户端发送了消息,服务器没有解析,还是客户端压根就没有发送消息 。。。。比如我想监控同指定ip的通讯内容[code="java"] tcpdump host ip_X -xx[/code] 或指定端口的通讯[code="ja...原创 2013-05-22 17:42:33 · 80 阅读 · 0 评论 -
复制文件的脚本(linux+windowx)
功能:把指定文件夹(不包括)下的所有东西复制到指定文件夹下。 在产品发布的时候,某些不共享的配置文件可以通过此脚本在项目第一次发布的时候生成。windows版本(当前目录下resources)[code="java"]rem @echo off::cd ../../..echo cdset root_dir=%cd%\..\..\..echo %root_...原创 2013-06-06 16:36:08 · 193 阅读 · 0 评论 -
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 阅读 · 0 评论 -
消息压缩和解压缩
无线开发时,一方面出于给玩家节省流量的考虑,一方面为了加快网络传输速度,需要对过大的消息进行。消息字节大小小于256的压缩就没有太大意义,建议对大于1k的消息进行压缩处理,具体数据可以根据自己的业务进行设定。参考java代码如下[code="java"] /** * 对消息进行压缩,并返回压缩后的字节数组 * * @param bodyBuf * @r...原创 2013-06-19 16:42:36 · 153 阅读 · 0 评论 -
Btrace实战
btrace可以对是针对java平台的一个动态追踪工具。简单点说就是可以在不停服务的情况下,对现网数据进行追踪分析和定位。最近为了定位一个jvm进程退出时java进程的运行情况,我学习了下btrace的使用。例子:分析指定类中方法的调用和返回情况。代码:[code="java"]package com.sun.btrace.samples;import com.sun.bt...原创 2013-08-22 16:36:05 · 104 阅读 · 0 评论 -
子网掩码错误导致的问题
背景: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 阅读 · 0 评论 -
开发经验、流程总结
1、原则: 代码应该尽早提交提交前提:所提交的代码不会影响其他业务,不会影响其他人的使用。2、正确的开发流程:策划设计需求--->技术阅读需求文档-->技术同策划沟通,深入理解需求--》双方确认无误指定研发计划,开始研发--》研发完成后--》测试或策划对功能进行验收--》验收通过,测试发布准许上线通知--》技术做好上线前的准备,随时准备上线(在不影响其他业务或玩家使用的前提...原创 2013-09-09 17:41:26 · 89 阅读 · 0 评论 -
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 阅读 · 0 评论 -
spring中bean的更新方法及在不同环境下的问题
如果spring中bean的配置信息是放在xml中,如果修改了bean的配置信息,如果在不重启服务器的前提下生效?我的办法是用ApplicationContext重新读取指定的配置文件,然后更新一下所有bean。[code="java"] ApplicationContext applicationContext = new ClassPathXmlApplicationConte...原创 2013-09-25 20:21:03 · 228 阅读 · 0 评论 -
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 · 316 阅读 · 0 评论 -
Tomcat启动参数修改
CATALINA_OPTS="-server -Xms1024M -Xmx4096M -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:HeapDumpPath=$CATALINA_BASE/log/heap.h...原创 2012-12-29 18:40:51 · 223 阅读 · 0 评论 -
linux下的常用指令集
同步服务器时间查看时间服务器ipcat /etc/ntp.conf 加到crontab里[root@server-171 tomcat-loginportal]# crontab -l0 */5 * * * ntpdate 0.centos.pool.ntp.org查看操作系统位数getconf LONG_BIT 在文件中匹配name_cn=的行下面增加...原创 2013-01-05 18:40:04 · 105 阅读 · 0 评论 -
性能分析指令集
查看进程19347的线程数pstree -p -A -a -n 19347 定位进程19347各线程资源使用情况(如cpu使用率)top -H -p 19347内存procinfo free块的大小 块可能为不同的容量。块的大小一般为1024、2048、4048byte。可通过tune2fs或dumpe2fs获得:引用[root@rfgz ...原创 2013-01-05 18:41:30 · 113 阅读 · 0 评论 -
在线编辑html的网站
提供给产品人员使用,方便其生成html代码http://kindeditor.net/demo.php原创 2014-02-11 11:34:32 · 203 阅读 · 0 评论 -
大量close_wait以及调用ip地址错误获取方法引发的故障
记录一下这几天帮助兄弟项目组解决的几个问题工程:网关服务器,业务逻辑少,操作不费时问题:大量的Close_wait,访问速度较慢分析&解决:1、close_wait是TCP/IP协议中被动关闭方收到Fin后没有发送Fin导致 项目采用了mina框架,服务器被动关闭时会生成一个异常,调用exceptionCaught()方法, 在该方法中,服务器调用关闭方法ses...原创 2014-05-12 17:43:03 · 298 阅读 · 0 评论 -
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 阅读 · 0 评论