- 博客(44)
- 收藏
- 关注
转载 netty日志LoggingHandler怎么用
经常会有人问,为什么我没有收到包。为什么半天才收到包。各种问题,却没粘任何代码和日志,让别人无法帮助他分析问题,自己也陷入迷茫。其实netty自带一个日志记录的Handler,叫LoggingHandler,这个Handler使用netty的日志框架打印日志,而netty默认的日志是java的日志框架java logger,而java的日志框架默认级别是INFO级别,所以需要我们在pipeli...
2016-07-29 16:55:06 23055 1
原创 16进制几个字符是一个字节
问16进制 6e69 占用几个字节 16进制中,两个字符是一个字节,一个字符的话,是一个字节。 例如:A是一个字节,AA是一个字节,AAA是两个字节,AAAA是两个字节。 不过,16进制能够出现的字符(不区分大小写)是:1,2,3,4,5,6,7,8,9,0,A,B,C,D,E,F 6e69 占用 两个字节 ch.pipeline().addLast...
2016-07-29 15:49:16 27282
原创 Netty5 Protobuf通信 解决半包
本文整合网上资源 给出了完整版本 对于高负载、高并发的网络应用,自己开发nio服务端,难度比较大、稳定性不能保证。于是选择nio框架netty+protobuf。netty对于消息编码和解码、半包读写问题支持很好;protobuf支持多语言,编码后消息小利于存储和传输。版本:java7 netty5 protobuf-java-2.5.0maven 依赖
2016-07-28 17:37:45 2322
原创 netty5 LengthFieldBasedFrameDecoder实例(解决半包)
1,使用LengthFieldPrepender编码,LengthFieldBasedFrameDecoder解码的netty传输可以解决半包粘包2 代码部分tcpserverpackage com.bimatrix.revit.nettyTest;import io.netty.bootstrap.ServerBootstrap;import io.netty.chan
2016-07-28 14:08:32 5177 4
转载 netty 粘包问题处理
一般TCP粘包/拆包解决办法定长消息,例如每个报文长度固定,不够补空格使用回车换行符分割,在包尾加上分割符,例如Ftp协议消息分割,头为长度(消息总长度或消息体长度),通常头用一个int32表示复杂的应用层协议netty的几种解决方案特殊分隔符解码器:DelimiterBasedFrameDecoder客户端发送消息String message = "netty
2016-07-27 18:13:13 1584
原创 eclipse彻底修改工程名字
拷贝过来的工程要换个名字 url的路径也要跟着换换名字的方法步骤1、修改项目目录下:.project文件 GZELearning2、项目右键属性 --> Web Project Settings --> Context root 3、修改项目目录下:.settings\org.eclipse.wst.common.component
2016-07-27 11:33:26 1612
转载 linux shell 指令 诸如-d, -f, -e之类的判断表达式
文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]-f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]-L filename 如果 filename为符号链接,
2016-07-26 16:55:44 1832
原创 Linux shell自动监控tomcat宕机重启
参考网上例子 整了个 linux 的自动检测tomcat宕机的shell脚本以后就可以自己重启了 出了问题。。(有时间放到linux定时任务计划里面)\下面检测的是一个工程里面的图片 来检测tomcat 是否正常echo 001 这种打断点使用的 可以自己去掉#!/bin/bash#author: flyerNOL=$(ps -ef |grep tomcat|
2016-07-26 16:50:48 3901
原创 linux shell if 语句写法
if true; then echo aaa if true; then echo bbb else echo ccc fi echo end fi输出为:aaabbbend
2016-07-26 12:08:24 702
转载 tomcat7 生产环境优化(有些JVMtomcat5 6上的参数被取消了)
TOMCAT的优化基本分为两个方面:一、JVM参数的优化二、TOMCAT自身的配置 一、JVM参数的优化 在/bin目录下的catalina.sh头部加入 写道JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=GBK -server -Xms1024m -Xmx1024m
2016-07-25 16:34:52 1273
原创 shell调用自定义函数及传参
1 单个参数#!/bin/bash function LoopPrint() { count=0; while [ $count -lt $1 ] ; do echo $count; let ++count; sleep 1; done return 0; }read...
2016-07-25 12:20:26 70206 1
转载 优化Java堆大小的5个技巧
本文作者Pierre是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE、中间件和JVM技术。根据他多年的工作实践经验,他发现许多性能问题都是由Java堆容量不足和调优引起的。下面他将和大家分享非常实用的5个Java堆优化技巧。1.JVM:对难以理解的东西产生恐惧感千万不要以为,通过配置,调优,就可以排除那些你所不明白的问题。有些人认为Java程序员不需要知道内部
2016-07-25 10:00:08 589
转载 tomcat的maxThreads、acceptCount(最大线程数、最大排队数)
omcat 6的Connector配置如下 其中最后两个参数意义如下: maxThreads:tomcat起动的最大线程数,即同时处理的任务个数,默认值为200 acceptCount:当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100 这两个值如何起作用,请看下面三种情况 情况1:接受一个请求,此时tomcat起动的线程
2016-07-22 17:10:14 1516
原创 本地缓存和中央缓存 同步数据思路
能走本地缓存的数据,比走中央缓存服务器要节省时间,也减轻中央缓存服务器的压力如何同步本地缓存, 中央缓存服务器的数据方法有一些1 比较好的一个 各个服务器订阅mq服务器上一个专门更新中央缓存到本地缓存的mq队列 比如 tongbuMQ 这样有更新数据来了,各个服务器都订阅 自己修改本地缓存2 如果是经常不改变的数据 本地缓存
2016-07-22 16:00:42 3383
转载 tomcat配置文件server.xml详解
元素名属性解释serverport指定一个端口,这个端口负责监听关闭tomcat 的请求shutdown指定向端口发送的命令字符串servicename指定service 的名字Connect
2016-07-21 18:54:31 526
原创 MAT使用的几张图例技巧
下面三个是内存泄漏可能性比较大的地方problem suspect 1problem suspect 2problem suspect 3点击detail 可以看详细在dominator_tree 可以对象按照group by package 分类 便于查看那部分代码出问题选中一个节点 右键查看with inc
2016-07-21 17:32:24 5590 1
转载 Linux IO实时监控iostat命令详解
简介iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 语法iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -
2016-07-21 16:31:23 1015
转载 jstack对线程信息的分析
jstack 是sun JDK 自带的工具,通过该工具可以看到JVM 中线程的运行状况,包括锁等待,线程是否在运行执行 jstack [pid] ,线程的所有堆栈信息"http-8080-10" daemon prio=10 tid=x0a949bb60 nid=0x884 waiting for monitor entry [...]"http-8080-10" 这个线程处
2016-07-21 15:15:00 694
转载 retained heap shallow heap 区别及介绍
原文:http://plumbr.eu/blog/how-much-memory-what-is-retained-heap我将需要多少内存?当你构建一个解决方案,创建一个数据结构或者选择一个算法时这个问题你可能问过自己或者别人.请问这个图是否适合在我的3G堆上,它包含1,000,000条边并且我使用HashMap存储它?我可以使用标准的集合API来构建我的自定义缓存解决方案或者他们带来的开销
2016-07-21 14:32:41 3318
原创 加速页面显示 压缩html js css
带宽略慢 加载网页比较慢 压缩前端文件来处理链接http://tool.oschina.net/jscompresshttp://tool.lu/html/压缩后一般可以好个10%-20%
2016-07-21 10:43:02 1340
原创 guava试水一篇
@Controller@RequestMapping("/")@SuppressWarnings("unchecked")public class NavController extends GenericController { @Autowired private RevitNewEntityService revitNewEntityService ; LoadingCa
2016-07-20 18:53:00 690
转载 Guava Cache使用笔记
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。 实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。 2.Guava Cache的load方法不能返回null,否则抛异常 Guava Cache的get方法先在本地缓存中取,...
2016-07-20 18:47:32 13782 1
转载 使用Spring Cache
本人用的是Spring3.2,所以如果你用的是其他版本,则本文不能保证完全正确。Spring的cache是在Spring-context中实现的,你额外的引入的spring-context包即可。[html] view plain copy dependency> groupId>org.springfram
2016-07-20 14:02:09 1419
转载 MySQL性能优化的最佳20+
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1.为查
2016-07-19 18:57:26 633
转载 linux wget 命令用法详解
Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器Linux wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器。如果我们使用虚拟主机,处理这样的事务我
2016-07-19 18:32:51 1371
转载 /bin,/sbin,/usr/sbin,/usr/bin 目录之简单区别
/bin,/sbin,/usr/sbin,/usr/bin 目录 这些目录都是存放命令的,首先区别下/sbin和/bin: 从命令功能来看,/sbin 下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统,/bin下存放一些普通的基本命令,如ls,chmod等,这些命令在Linux系统里的配置文件脚本里经常用到。 从用户权
2016-07-19 17:40:33 506
转载 shell自定义函数及参数调用解析
与其它的脚本语言一样,bash同样支持函数。本文为大家介绍在bash中定义与使用函数的方法,有需要的朋友可以参考下一、定义函数复制代码代码如下:function fname(){statements;}或复制代码代码如下:fname(){statements;}二、调用函
2016-07-19 16:19:34 963
转载 Linux awk命令
awk工作流程是这样的:先执行BEGING,然后读取文件,读入有/n换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域,随后开始执行模式所对应的动作action。接着开始读入第二条记录······直到所有的记录都读完,最后执行END操作。简介awk是一个强大的文本分析工具,相对于grep的查找,sed
2016-07-19 12:04:37 436
原创 shell一个实例$(($a+1))
#/bin/basha=1a=$($a+1)echo $a输出root@Server:/home/bowen# ./startup.sh./startup.sh: 行 3: 1+1: 未找到命令#/bin/basha=1a=$(($a+1))echo $a输出root@Server:/home/bowen# .
2016-07-19 11:23:29 1576
转载 我的一些简单的shell脚本实例
下小的shell实例,虽然很小,但所有的大的程序都是由小的模块堆积起来的,程序员一定要懂得一种脚本的书写,而我,只会在linux下工作,所以就只能写linux的shell脚本了,呵呵,本文会陆续更新,给自己加油!1.模拟linnux登录shell#/bin/bashecho -n "login:" read nameecho -n "password:"read p
2016-07-18 18:46:30 786
原创 文件类型CRLF line terminators导致sh文件不能执行
两个相同内容的sh 文件一个可以执行 一个不可以以上查看file类型 发现有区别 可以执行的那个sh 是我直接拷贝了tomcat的执行文件过来 把相同内容粘贴进去的 可以执行根据网上一篇文章 描述查看 cat -v 看文件具体内容换行符不同 导致出错具体文字内容转载如下CRL
2016-07-18 17:38:21 3573
转载 Linux 下 查看以及修改文件权限
[ruby] view plain copy 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- [ruby] view plain copy 其中: 最前面那个 - 代表的是类型 中间那三
2016-07-18 16:47:10 1700
原创 eclipse的静态资源文件夹缓存问题
resources 文件夹是静态资源,modelTest下面有三个模型,一开始文件夹只显示了JWLD_A_AM,加载资源页面时候http://localhost:9080/XXXweb/resources/modelTest/JWLD-A-BM/manifest.json 可以出来json内容但是http://localhost:9080XXXweb/resources/model
2016-07-14 15:31:16 1930
原创 js中使用jstl中的值
$(".bm-bim-load").click(function() { var name="${projectItem.prjName}"; alert(name); startWBIMViewer(); });
2016-07-13 15:08:26 1102
原创 javascript获取点击<li>标签里的值
思路利用 li 的onclick 事件 来获取 具体参考下面例子 为li对象添加单击事件→事件触发后利用innerHTML获取li的文本。实例演示如下:1、HTML结构<ul id="test"> <li>Glen</li> <li>Tane</li> <li>John&
2016-07-08 18:39:12 8091
转载 如何查看Linux磁盘空间大小
如何查看Linux磁盘空间大小一、df命令;df是来自于coreutils软件包,系统安装时,就自带的;我们通过这个命令可以查看磁盘的使用情况以及文件系统被挂载的位置;举例:[root@localhost beinan]# df -lhFilesystem容量已用可用已用%挂载点/dev/hda8 11G 6.0G 4.4G 58% //de
2016-07-08 15:47:01 1147
原创 linux 快速分析JVM信息
打印出JVM信息如下2016-07-07 11:38:52Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.79-b02 mixed mode):"Attach Listener" daemon prio=10 tid=0x00007f83b0014000 nid=0x527d runnable [0x00000
2016-07-07 18:41:46 1266
转载 log4j.xml配置详解
注:本资料通过网络查找然后整理而成首先要对配置文件的各个参数进行说明,这样才能合理的进行配置。参数意义说明:配置根Logger[html] view plain copy其语法为: log4j.rootLogger = [ level ] , appenderName1, appenderName2, …
2016-07-07 17:32:13 830
原创 nginx静态代理配置
nginx.conf静态资源 和tomcat服务分离server { listen 80 default; server_name _; index index.html index.htm index.jsp; root /alidata/server/apache-tomcat-7.0.62/webapps; location ~ .
2016-07-06 19:45:49 5547
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人