自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

从form的enctype属性到Content-Type再到request.getInputStream()

还是一个异常引发的故事:需要实现一个手机客户端行为分析的需求,手机客户端需要上传一些数据文件。手机客户端通过http协议post方式上传数据文件的时候,我们发现在服务器端无法通过request.getInputStream()获取到相应的数据,调用request.getInputStream()读取数据里头啥都木有。经过各种尝试我们注意到如下的情况:1.在不做任何修改的情况...

2012-01-07 13:49:00 205

Linux SSH使用公钥私钥实现免登陆 以及 登陆失败、公钥失效的处理

写shell免不了要远程执行shell命令,自然就要实现免登陆。免登陆的原理: 首先说明一下处理机制: 1.非对称密钥就是一对密钥-公钥和私钥。 2.私钥由系统中没个人自己持有,一般保存在自己的电脑里或u盘里。 3.公钥则在网络上传递,就是可以传递给通信中的对方,也就意味这可以被黑客截获。 4.用某个人的私钥加密的数据只有用那个人的公钥解密,同样用公钥加密的数据也只有用...

2011-11-01 15:41:00 315

Linux WEB服务器CMWAP访问缓慢问题备忘

WAP页面访问速度慢的问题已经基本解决,目前WAP页面访问速度已经正常。原因是经过优化后的Linux内核参数在CMWAP访问时会出现问题。影响CMWAP访问的两个参数是:net.ipv4.tcp_tw_reuse=1表示开启重用。允许将TIME-WAITsockets重新用于新的TCP连接,默认为0,表示关闭;net.ipv4.t...

2011-10-31 10:53:00 161

Linux下实现秒级定时任务的两种方案(crontab 每秒运行)

第一种方案,当然是写一个后台运行的脚本一直循环,然后每次循环sleep一段时间。while true ;docommandsleep XX //间隔秒数done第二种方案,使用crontab。我们都知道crontab的粒度最小是到分钟,但是我们还是可以通过变通的方法做到隔多少秒运行一次。以下方法将每20秒执行一次crontab -e* * * *...

2011-10-30 12:53:00 164

linux下普通用户如何使用80端口启动程序

大家都知道默认情况下linux的1024以下端口是只有root用户才有权限占用,于是我们的tomcat,apache,nginx等等程序如果想要用普通用户来占用80端口的话就会抛出permission denied的异常。解决办法有两种:1.使用非80端口启动程序,然后再用iptables做一个端口转发。2.假设我们需要启动的程序是nginx,那么这么做也可以达到目的。...

2011-09-05 16:44:00 232

再谈应用环境下的TIME_WAIT和CLOSE_WAIT

昨天解决了一个HttpClient调用错误导致的服务器异常,具体过程如下:http://blog.csdn.net/shootyou/article/details/6615051里头的分析过程有提到,通过查看服务器网络状态检测到服务器有大量的CLOSE_WAIT的状态。 在服务器的日常维护过程中,会经常用到下面的命令: netstat -n | awk '/^tcp/...

2011-07-21 10:50:00 1503 1

HttpClient连接池抛出大量ConnectionPoolTimeoutException: Timeout waiting for connection异常排查...

今天解决了一个HttpClient的异常,汗啊,一个HttpClient使用稍有不慎都会是毁灭级别的啊。这里有之前因为route配置不当导致服务器异常的一个处理:http://blog.csdn.net/shootyou/article/details/6415248里面的HttpConnectionManager实现就是我在这里使用的实现。 问题表现:tomcat后台日志发现...

2011-07-18 20:11:00 3467 1

tomcat环境下服务器文件句柄耗尽(Too Many Open Files)的问题排查

 转载注明出处,谢谢~http://blog.csdn.net/shootyou  前段时间帮助公司解决了一次tomcat环境服务器的异常,今天有时间过来总结一下。 问题的表现:tomcat服务在重启之后,短时间内会承受大量访问,由于这个时候缓存还没建立,每次访问都将消耗一定资源(数据库连接或者文件IO),并发量在2000左右的时候tomcat服务开始抛出大量T...

2011-07-01 11:48:00 202

使用Gem install安装starling出错 ERROR: http://gems.rubyforge.org/ does not appear to be a rep

starling是一个ruby写的开源的消息队列服务器,具体介绍和安装可以参见:http://www.ooso.net/archives/506 今天为服务器安装starling的时候出现了下面的异常。简单说下解决方法。 执行gem install memcache-client starling的时候出现了:ERROR: http://gems.rubyforge.org...

2011-06-08 13:01:00 154

异常处理:Page directive has invalid attribute: trimDirectiveWhitespaces

我们经常会在JSP页面上使用:<%@ page trimDirectiveWhitespaces="true" %>这个命令可以使jsp输出的html时去除多余的空行(jsp上使用EL和tag会产生大量的空格和空行)。 但是这个命令是从JSP2.1规范以后才得到支持。所以在tomcat 6.0之前的版本上如果使用这个命令就会抛出异常:Page directive h...

2011-05-21 11:36:00 750

HttpClient4.X 升级 入门 + http连接池使用

转载请注明出处,谢谢~http://blog.csdn.net/shootyou/archive/2011/05/12/6415248.aspx 在一次服务器异常的排查过程当中(服务器异常排查的过程我会另起文章),我们决定使用HttpClient4.X替代HttpClient3.X或者HttpConnection。为什么使用HttpClient4?主要是HttpConnection...

2011-05-12 17:09:00 105

使用Nginx转发真实头信息

使用Nginx作为反向代理服务器的时候会发生这种情况。 客户端请求 -> Nginx转发 -> tomcat服务器  默认配置的情况下,tomcat服务器拿到的头信息都会变成Nginx服务器代理之后的头信息,例如Host将会变为Nginx服务器的IP。 那么tomcat服务器在分析服务器日志的时候就拿不到真实客户端的ip了。所以需要在nginx配置...

2011-04-20 10:41:02 138

tomcat集群环境下,JSP页面更新同步,页面展示未更新 的问题排查

背景:企业环境下使用域名轮询 + 多台tomcat 来平衡负载,tomcat之间共享数据库,因为没用到session所以并没有做tomcat集群的配置。多个tomcat之间会使用rsync文件同步来同步工程文件,举例说来就是,用一台服务器作为主服务器,一旦主服务器上的jsp文件更新那么会定时同步到其他服务器上去。问题描述:主服务器上jsp页面更新,主服务器访问页面更新生效,从服务器访问...

2011-04-08 18:41:00 134

JSP自定义标签的页面解析生命周期及线程安全

问题描述:使用JSP自定义标签时,发现标签内的私有变量在页面第一次请求之后就不会发生变化了。而且不同的页面同样的标签变量值不一样。问题猜想:原以为JSP自定义标签在JSP编译的时候会被new出来,但是看样子JSP在编译的时候用了缓存池来存放解析后的标签的对象。并且这个缓存池针对同一个页面是共享的。问题原因跟踪:查看JSP编译成的servlet代码,发现标签的实例果然不是new出...

2011-03-16 19:37:00 112

转帖:MySQL锁表机制分析

为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制。一、概述MySQL有三种锁的级别:页级、表级、行级。MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-levellocking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),...

2011-03-10 16:22:00 78

MYSQL异常处理日志:主从库同步延迟时间过长的分析

问题描述:程序上表现为对 主库 更新操作之后,从 从库 查询数据没发生改变。怀疑是主从库同步延迟导致。上从库查看主从同步状态,发现Seconds_Behind_Master时间长达一千多秒。正常情况下主从库延时个十几秒还可以容忍,一千多秒显然就有问题了么。。。问题分析:我们在一个MYSQL实例上创建了四五个Database,其中一个Database数据量和压力都比较大,从 从库的pro...

2011-03-10 16:18:00 117

MYSQL远程访问速度缓慢的解决和分析

问题发生的场景:MYSQL安装在Linux下,本地和远程都有应用访问MYSQL,本地访问MYSQL很流畅,但是远程访问非常之缓慢,基本上到了几分钟才响应的地步。SSH连接稳定,ping了下发现无丢包,排除网络问题。那么可能就是MYSQL的设置问题了。查阅资料发现可以这么配置:[mysqld]skip-name-resolve该选项用于禁用DNS解析,连接速度会快很多。不过,这样的话...

2011-01-25 16:39:00 134

Tomcat 中响应头信息(Http Response Header) Content-Length 和 Transfer-Encoding 之种种

欢迎转帖,But请注明出处谢谢: http://blog.csdn.net/shootyou/archive/2011/01/13/6135669.aspx 先说说原理:客户端(PC浏览器或者手机浏览器)在接受到Tomcat的响应的时候,头信息通常都会带上Content-Length ,一般情况下客户端会在接受完Content-Length长度的数据之后才会开始解析。而在Tomcat上...

2011-01-13 17:15:00 180

最全面 Nginx 入门教程 + 常用配置解析

个人整理资料,转帖注明出处,谢谢~Nginx介绍和安装一个简单的配置文件模块介绍常用场景配置进阶内容参考资料 == Nginx介绍和安装 ==Nginx是一个自由、开源、高性能及轻量级的HTTP服务器及反转代理服务器,其性能与IMAP/POP3代理服务器相当。Nginx以其高性能、稳定、功能丰富、配置简单及占用系统资源少而著称。Nginx 超...

2010-12-23 10:49:00 100

Python Django 第一步:安装配置 windows环境

最近学习Python的开发,先收藏三篇安装入门,有时间补上心得。http://www.ibm.com/developerworks/cn/linux/l-django/http://hi.baidu.com/yobin/blog/item/3c7a39f3f466e555342acc05.htmlhttp://canbeatle.iteye.com/blog/204739http:...

2010-12-19 13:33:00 67

MySQL 主从同步操作文档

 MySQL 主从同步操作文档取自 NSOP-WIKI目录1 同步原理说明2 同步设置基本步骤(以下设置均涉及my.cnf文件的修改)2.1 设置主服务器:启用bin-log日志、同步帐号2.2 设置从服务器:设置需要同步的内容2.3 拷贝主服务器数据到从服务器2.3.1 方式1:停止主服务器或其中一台从服务器并拷贝数据2.3.2 方式2:在主服务器或其中一...

2010-11-22 14:52:00 88

MYSQL 主从库同步 异常处理汇总

经常处理MYSQL的主从库同步异常,现在做个总结。主从库同步失效的原因各种各样,一般都是在从库上不小心执行了写操作,也有可能从库服务器意外重启等等。进入从库执行show slave status\G看到下面两行:Slave_IO_Running:YesSlave_SQL_Running:Yes任意一个不为yes就说明同步出了问题。基本上解决的办法无外乎这么几种:1.如果是事...

2010-11-22 14:50:00 65

FLUSH TABLES WITH READ LOCK 和 LOCK TABLES 之种种

今天在解决数据库同步异常的时候用到了flush tables with read lock 这个命令,于是顺便就学习了下锁表的相关知识。1.FLUSH TABLES WITH READ LOCK这个命令是全局读锁定,执行了命令之后所有库所有表都被锁定只读。一般都是用在数据库联机备份,这个时候数据库的写操作将被阻塞,读操作顺利进行。解锁的语句也是unlock tables。2.LOC...

2010-11-22 13:02:00 92

使用Nginx如何配置Tomcat访问日志记录真实IP

使用Nginx作为反向代理时,Tomcat的日志记录的客户端IP就不在是真实的客户端IP,而是Nginx代理的IP。要解决这个问题可以在Nginx配置一个新的Header,用来存储$remote_add,然后再Tomcat获取记录这个值。1.Nginx新增配置:proxy_set_header X-Real-IP $remote_addr;可以参见:http://wiki.ngin...

2010-11-17 19:05:00 118

由Tomcat 8005端口想到的...

在阅读“tomcat启动分析” 的时候注意到server.xml配置文件有这么一行:<Server port="8005" shutdown="SHUTDOWN" debug="0"> 从配置大致可以判断这个端口大致适用于关闭tomcat。于是乎telnet 到8005端口然后执行“SHUTDOWN”(区分大小写),此时也可看到tomcat后台在解析telnet上来的命令,然...

2010-11-12 18:49:00 170

支付系统数据库设计的关键问题

支付系统的核心无疑就是充值、扣费、转账。假设现在是一个这样的账户表account(InnoDB): filedtypeinfoidbigint用户idbalancedecimal余额update_timedatetime数据更新时间 充值的时候那么下面这条语句就可以解决:UPDATE account S...

2010-07-02 12:19:00 519

M2Eclipse:Maven Eclipse插件无法搜索远程库的解决方法

使用Eclipse安装了maven插件之后,创建Maven工程,发现添加依赖“Add Dependency”的时候无法自动搜索远程库。如果不能搜索远程库那用这个插件有啥用撒。。。查遍了所有的maven配置文件都没发现问题。最后发现是插件本身的问题。原因是远程库的索引没有成功的建立。很有可能安装插件之后的某一次“Update Indexes”失败之后,导致默认的index“http:...

2010-01-27 17:29:00 155

Tomcat 自动加载

遇到的问题是,在已部署的项目中添加一个新的Jar包,需要重启Tomcat之后才能使用该Jar包。解决办法是开启Tomcat的自动加载选项。tomcat4.x 之前的版本的方法是:<Context reloadable="true" displayName="webpublish Application" docBase="ycportal" path="/ycportal" wo...

2009-05-09 16:40:00 77

Ajax 跨域请求问题

今天需要实现这么一个页面,需要同时向四台服务器发送请求。一开始考虑在服务器端实现,但是还得自己加个HttpClient的包,后来想到Ajax刚好也可以实现这个目标,于是有了如下代码:<html><head><mce:script language="javascript"><!--var XMLHttp = { _objPoo...

2009-05-09 14:40:00 58

LinkedHashMap实现一个固定容量的基于最近最少使用算法的缓存类

固定容量的基于最近最少使用算法的LinkedHashMap.可用作简单缓存.使用方法与LinkedHashMap一致.利用LinkedHashMap实现简单的缓存,必须实现removeEldestEntry方法,具体参见JDK文档.另外还加入了一个可重入的互斥锁定.使用说明:LRU算法是LinkedHashMap本身通过双向链表来实现,当某个位置被使用(例如get操作),通过调整链表的指向...

2009-04-24 21:15:00 323

Javadoc 导出中文乱码解决

在eclipse里面,project->Generate javadoc菜单,在第三个对话框的Extra Javadoc options文本框里面加上 -encoding UTF-8-charset UTF-8用Maven导出javadoc的时候的配置: <plugin> <groupId>org.apache.maven.plug...

2009-04-24 21:08:00 158

Java clone() 影子克隆与深度克隆

以下文字转自:桔子园 http://www.blogjava.net/orangelizq/archive/2007/10/17/153573.html 现在Clone已经不是一个新鲜词语了,伴随着“多莉”的产生这个词语确实很“火”过一阵子,在java中也有这么一个概念,它可以让我们很方便的“制造”出一个对象的副本来,下面来具体看看java中的Clone机制是如何工作的? 1. Clone&a...

2009-02-28 14:46:00 77

不需要import的几种情况

1.java.lang 包提供利用 Java 编程语言进行程序设计的基础类。最重要的类是 Object(它是类层次结构的根)和 Class(它的实例表示正在运行的应用程序中的类)。 把基本类型的值当成一个对象来表示通常很有必要。包装器类 Boolean、Character、Integer、Long、Float 和 Double 就是用于这个目的。例如,一个 Double 类型的对象包含了一...

2009-02-28 14:36:00 143

finalize()方法

以下转自:孙卫琴《Java面向对象编程 》 11.4.3 对象的finalize()方法简介当垃圾回收器将要释放无用对象的内存时,先调用该对象的finalize()方法。如果在程序终止之前垃圾回收器始终没有执行垃圾回收操作,那么垃圾回收器将始终不会调用无用对象的finalize()方法。在Java的Object祖先类中提供了protected类型的finalize()方法,因此任何Ja...

2009-02-28 14:17:00 72

循环label使用

循环的label(标记)跟臭名昭著的goto有点相似,java虽然保留了goto的关键字但是没有使用它,而循环的label却是可以使用的。无论是对与for循环还是while,label都有以下规则:1.一般的continue会回到内层循环的顶端,继续执行。2.labeled continue会跳跃至label所在处,然后在label之后重新进入循环。3.一般的break会跳离循环。...

2009-02-28 13:52:00 175

assert关键字的使用

在Java中,assert关键字是从JAVA SE 1.4 引入的,为了避免和老版本的Java代码中使用了assert关键字导致错误,Java在执行的时候默认是不启动断言检查的(这个时候,所有的断言语句都将忽略!),如果要开启断言检查,则需要用开关-enableassertions或-ea来开启。assert关键字语法很简单,有两种用法:1、assert <boolean表达...

2009-02-27 19:56:00 67

static函数使用

首先请看一个错误的例子:public class P38 { /** * @param args */ public static void main(String[] args) { String a = getStr(); } public String getStr() { return new String("asd"); }} ...

2009-02-27 18:40:00 79

Java 整数类型的使用和运算

Java 的数据分为对象(引用)类型和基本(简单)类型。基本类型分为数值类型和布尔类型。数值类型分为浮点类型与整数类型。浮点类型分为float与double。整数类型分为byte,short,int,long,char。引用类型包括数组类型,接口类型,类类型。整数类型:关键字数据类型占用字节数 取值范围byte字节型1个字节 -128~127(最高位为符号位,下同)short 短整...

2009-02-22 11:35:00 96

Javadoc 的书写格式和javadoc命令的使用

JAVADOC语法 我们在开发JAVA程序中, 可以使用Javadoc来进行程序文档的整理, 当程序编写完成, 利用Java自带的JavaDoc工具就可以生成规范的API说明手册. 下面是我自己整理的一些语法:书写格式:/** <- 这里一定要用两个星号, 否则会被认为是普通注释的* ........*/public int getCount() { ....... Javadoc只能为pu...

2008-08-04 09:07:00 419

JavaDoc 书写规范

在Java程序中正确使用javadoc标记是一个良好的注释习惯,将非常有助于javadoc自动从源代码文件生成完整的格式化API文档。下面就对各种标记进行详细说明。 ◇ @author name-text 指定生成文档中的作者项,从JDK/SDK 1.0开始引入。name-text可以指定多个名字(使用,隔开)。文档注释可以包含多个类。 ◇ {@docroot} 代表产生文档...

2008-08-04 09:03:00 93

空空如也

空空如也

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

TA关注的人

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