- 博客(74)
- 问答 (2)
- 收藏
- 关注
使用httpclient返回 header too long
最近些的爬虫请求某代理网站时运行几天就会持续报错400,header too long,google无答案,于是看了下源码,主要原因为cookie的累积导致(可以理解为你的浏览器很久没有清理缓存),以下为排查过程,解决方案见文章最后。httclient请求调用链路:org.apache.http.impl.client.InternalHttpClient#doExecut...
2017-07-14 17:14:34
1824
Jackson json 处理全大写或不规范的JSON
面对不遵守驼峰命名规则的接口咋办?当然首先要吐槽一下,不过接口是别人定的,虽然看着不爽但还是得去适配,比如cardNumber,他返回的叫{CARDNUMBER:''}。 通过对API的研究可以通过@JsonProperty以及@JsonAutoDetect来实现。 先看代码@JsonAutoDetect(JsonMethod.FIELD)public class Mem...
2014-10-22 14:11:40
1943
Java通过浏览器请求头(UserAgent)获取手机机型
方案一:正则表达式通过观察规律,得出以下表达式:;\s?([^;]+?)\s?(Build)?/ Java代码:Pattern pattern = Pattern.compile(";\\s?(\\S*?\\s?\\S*?)\\s?(Build)?/"); Matcher matcher = pattern.matcher(userAgent); String ...
2014-09-20 15:38:54
4630
1
TOMCAT7 生产环境优化
TOMCAT的优化基本分为两个方面:一、JVM参数的优化二、TOMCAT自身的配置 一、JVM参数的优化 在/bin目录下的catalina.sh头部加入 写道JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=GBK -server -Xms1024m -Xmx1024m -XX:NewSize=512m ...
2014-05-28 16:33:27
390
CMPP3.0 CMPP2.0 java实现
实现了连接、短信收发、webpush,支持长短信。 本代码为cmpp3.0的实现,cmpp2.0只需要根据协议将里面的参数改掉即可。 CMPP2.0我正在改动中,改完再上传。 关于socket连接个数,网关是有限制的,1个长连接基本能满足需求,网关对于一条通道的发送速率也是有限制的。 模拟网关是不支持长短信的测试的。...
2013-05-13 11:49:49
3019
3
原创 纯java从apk文件里获取包名、版本号、icon
简洁:不超过5个java文件依赖:仅依赖aapt.exe支持:仅限windows 功能:用纯java获取apk文集里的包名,版本号,图标文件【可获取到流直接保存到文件系统】原理:比较上一篇文章里通过反编译然后解析AndroidManifest.xml的方式,此种方式更加简单,通过模拟执行aapt截取cmd输出并整理获取信息。 附件为源码,test/demo 为演示,...
2013-04-27 17:42:04
366
原创 nginx配置
#user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info; #pid logs/nginx.pid; events { wo...
2013-02-27 13:22:41
208
原创 java从apk文件里获取包名、版本号
测试代码: package org.apkinfo.test;import java.io.IOException;import java.util.ArrayList;import org.apkinfo.api.GetApkInfo;import org.apkinfo.api.domain.ApkInfo;public class GetApkInfo...
2012-12-11 15:36:58
492
原创 再次写给我们这些浮躁的程序员
再次写给我们这些浮躁的程序员 2010年初写过一篇博客(我们是一群和平年代充满浮躁与抱怨的程序员),一年过去了,社会好像更浮躁,也有网友问我这方面的问题,于是有了下面这篇文章,再次写给我们这些刚入行浮躁的程序员,如何成长,以下是列出了一些成长的心得,我们不必每条都去实践,但是优秀的程序员成长过程中总会实践里面的几条。 多做项目,多思考不要害怕做事,刚毕业的同学最缺的就是工...
2012-09-06 17:18:11
133
原创 【好用小插件】Eclipse 文件浏览器 ExploreFS 以及 EsayExplore
效果:选中一个文件,右键点击插件生成的菜单直接跳到文件系统。 1.ExploreFS这款超小的插件(6k)的目的是让你能够在本地的文件管理器打开包含被选中的文件的文件夹,来查看被选中的文件(译者注:有个类似的eclipse插件 easyexplorer)。它为包视图、资源视图和任何的查看文件或者class文件的视图里添加了右键菜单 "Open in File System".特别的...
2012-06-19 19:04:33
215
原创 什么是slf4j以及什么情况下用slf4j不用log4j
SLF4J不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志系统。 实际上,SLF4J所提供的核心API是一些接口以及一个LoggerFactory的工厂类。从某种程度上,SLF4J有点类似JDBC,不过比JDBC更简单,在JDBC中,你需要指定驱动程序,而在使用SLF4J的时候...
2012-02-21 16:04:17
183
原创 [非常简单]Linux下启动java程序的通用脚本sh(可用作开机启动service脚本)
如果未设置JAVA_HOME环境变量,需要手动指定#JDK所在路径 JAVA_HOME=/root/JDK/jdk1.6.0_24 RUNNING_USER、APP_HOME、APP_MAINCLASS、CLASSPATH根据自己项目的情况修改即可。如果在windows下编辑上传到linux,注意用dos2unix命令转换文件格式,不然会报错。写道#!/bin/sh #该脚本...
2011-11-07 09:24:30
671
史上最具有内涵的程序猿面试题目
序员文史综合题目一,选择题(皆为单选): 1,以下谁是二进制思想的最早提出者? a,伏羲;b,姬昌;c,莱布尼茨;d,柏拉图。 2,以下哪个概念和公孙龙的《指物论》中的“指”字含义相近? a,变量;b,数组;c,对象;d,指针。 3,蔺相如,司马相如;魏无忌,长孙无忌。下列哪一组对应关系与此类似? a,PHP,Python;b,JSP,servlet;c,java,javascript;d...
2011-07-07 11:14:15
186
2年经验面试复习大纲【欢迎补充】
前言:由于最近换工作,需要面试,为了加深自己复习的印象,同时也分享下自己的心得,特把自己认为重要的一些要点记录下来。先列出大纲,再将详细内容逐步补充上来。如果觉得有需要补充的童鞋欢迎留言。 一.前端Javascript基于对象(注意不是面向对象)的编程方式,常用框架jquery、Ext,Ajax的本质。 JavaScript定义“类”、“函数”的语法是一样的,而且这...
2011-05-18 17:02:36
149
程序员的无线互联创业陷阱
从目前的情况看,无线互联的应用充满了机会,但在这些机会中隐藏了很多陷阱。作为技术开发能力强大的程序员,如何辨别这些机会和陷阱呢,这里给大家提供一些基本的判断。一、应用开发是面向现在还是面向未来?绝大多数程序员在开发应用的时候,只看到目前技术是什么状态、用户是什么需求,而没有更多地看未来是什么样子,这就导致在开发应用的时候,更多的是面向现在(甚至面向过去)进行开发,解决的是用户当下的需...
2011-04-21 19:58:30
151
在技术与业务之间纠结
回想以前的热血、叛逆、冲动,如今已经退却了不少,在我自己的努力下,我实现了自己的愿望,愿望,没错,远没有理想这么伟大。我天天对着电脑,用一段段代码表达着自己的意愿,记录着自己的激情。刚开始的时候,我可以为了一个技术难题而彻夜难眠,为了敲完一段程序而把晚饭推迟几个小时,而当一切都完成的时候,那种成就感与喜悦让我似乎忘却了饿意。 我没有钱,也没有背景,可至少我还有一份自己喜欢的工作...
2011-04-14 15:14:52
191
Linux shell语法小结
1、 set命令当没有参数的时候,列出系统中所有的自定义变量值;当有参数的时候,重置基本参数如$1、$2等。如set `date` 将date命令的输出当作输入参数; 2、let命令 执行算术运算。功能如i=j+1,shell语法为: let “i=$j+1”,等同于 ‘expr’。 后者只能作用于整数,如 i=`expr $i+1`; 如果使...
2011-04-11 15:03:11
170
WindowsXP下通过硬盘安装Ubuntu实现双系统2种方法对比分析
首先是一种适合新手的方法,这种方法把Ubuntu当作一个软件安装到WINDOWS的分区,优点是速度快,过程简单,不容易对分区和文件造成损害,缺点是性能低,依赖WINDOWS分区,不是真正意义的双系统。 菜鸟版 一. 首先是下载Ubuntu下载地址:http://www.ubuntu.com 二. 下载完后用winrar进行解压。...
2011-04-01 15:11:05
172
Linux下的CVS权限配置
虽然SVN现在已经是主流,但CVS仍然是很多公司的选择,由于考虑到移植可能会产生的风险,最终我们还是决定继续使用CVS,而随着人员的增多,权限的细粒度管理就更加重要。一下文章摘自互联网,经过本人的验证,基本可以操作。 CVS是一个很成熟的版本控制系统,它是开源世界的杰作,并且已经成为开源组织使用的标准版本控制系统,在几乎所有的开源项目中得到应用。 也正是由于CVS产生...
2011-03-31 15:56:37
212
IEInspector HTTP Analyzer v5.x 注册机
这软件有什么用呢?firebug大家都知道吧,里面有个网络选项卡,这个可以监听电脑上一切网络连接的数据交互,而且很智能,当然还有其它的邪恶功能,对于我们开发者来说最好的地方就是用来分析一个网站的业务流程中的数据流。一定要先下载Full版的才能注册,如果下载的是试用版(Trial)的就没有地方填注册号。建议去官网下载:[url]http://www.ieinspector.com/dow...
2011-02-22 10:44:16
224
linux mysql安装
1、解压安装包#tar zxvf mysql-5.1.31.tar.gz2、设置MYSQL用户组#groupadd mysql#useradd mysql -g mysql3、安装Mysql#./configure --prefix=/usr/local/mysql --with-extra-charsets=utf8 --with-plugins=all#make...
2011-02-21 08:44:59
194
刨根问底session
摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答。 [b]一、术语session[/b] 在我的经验里,session这个词被滥用的程度大概仅次于tr...
2010-06-29 15:10:10
113
jquery ajax 跨域解决方案【1分钟】
背景,由于登录服务器和应用服务器不在一个域,所以必须跨域进行登录验证,而AJAX本身是不能跨域的,但jquery提供了默认的解决方案。第一步,服务端:[code="java"]String callback=request.getParameter("callback");JSONObject jb = JSONObject.fromObject(result);// 更改...
2010-06-08 10:53:45
156
原创 《新白娘子传奇》隐藏惊天秘密-白素贞的身世之谜
相信大家都知道,俺们的小白是千年蛇妖来着,但是“人是人他妈生的,妖是妖他妈生的”,按此道理,咱们的小白也应该有自己的爹娘不是?可整部电视剧从头到尾对小白的具体身世只字未提,只是模糊的交代了个在峨眉——青城山一带修行。那么小白的爹娘到底是谁呢?小白又是从何而来呢?为什么她要称自己是小白呢?小青为什么只跟白素贞?每天接待很多人的祝福的观音大士为什么只救这个妖精呢?为什么阎王爷不追究小白擅闯阎王殿的罪责...
2010-06-04 17:09:18
642
String StringBuffer StringBuilder
这篇文章讲的很好,推荐下:三分钟理解Java中字符串(String)的存储和赋值原理[url]http://heis.iteye.com/blog/561472[/url]下面是自己写的测试类,实践是检验真理的唯一标准。[quote]/** * JDK:1.6 * 运行结果: * 1.equalString():true true false String...
2010-05-31 15:56:09
150
HTTPCLIENT 基本应用 解决编码乱码问题
先看代码,方便以后复制,就不作为code格式了。package com.amazon.commons;import java.io.IOException;import java.util.HashMap;import java.util.Map;import org.apache.commons.httpclient.DefaultHttpMethodRetryH...
2010-02-23 14:34:12
268
原创 一个漂泊在外的应届毕业生写给农民工父亲的忏悔信
爸,昨天你问我存了多少钱,我说存了有八千多。你有点不高兴,说工作都大半年了,三千二一个月,怎么也得存一万五,我没敢吱声。爸,我是真的不敢说,其实我现在卡里只有五百块不到,房租三百块过几天也要交了,桌上只有几袋方便面,唯一拿得出台面的估计就是我前天买的漫画书《我是白骨精》了。爸你肯定又要骂我乱花钱,可你也知道,我从小就喜欢画画,这漫画书我实在是忍不住才花钱的。爸,我对不住你,我不该撒谎。上...
2010-01-27 11:10:56
256
原创 JavaScript 深入学习 笔记
本文主要记录一些JavaScript的比较值得注意的特性。1.with用法:用于简化代码。例子:function test(){document.write("Welcome to China");document.write("Welcome to Beijing");document.write("Welcome to Shanghai");}等价于:...
2010-01-07 13:18:20
214
你猜alert(''==0)的结果会是什么?
[b]Javascript 中的false,零值,null,undefined和空字符串对象[/b]在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象--false、0、空字符串、null和undefined。这几个对象很容易用错,因此在使用时必须得小心。类型检测我们下来看看他们的类型分别是什么: alert(typeof(false)...
2009-12-24 16:42:39
411
The content of element type "package" must match "...
在编写后台登陆模块时,将许多默认的设置放在一个名为default的package里。然后再定义其他package继承该包。之前我的struts.xml配置如下 ...
2009-12-21 16:29:20
218
SVN 搭建 之傻瓜式教程
由于看到很多问答在问SVN服务器搭建方式,我就将本人的心得贴出来,平时我重装系统都是按照下面的步骤进行操作,一共7步,非常简单!Windows下SVN服务器搭建 1.从http://subversion.tigris.org/files/documents/15/44102/svn-win32-1.5.4.zip下载subversion;2.将下载好的zip包进行解压,例如解压到:...
2009-12-04 16:36:55
144
MyEclipse freemarker 插件 plugins (附件:插件打包下载)
安装方法详见:MyEclipse 7.1装SVN插件 subeclipse:[url]http://energykey.iteye.com/blog/421342[/url]下载好后在myeclipse下建立一个文件夹,我的是叫freemarker.把下载下来的文件解压后plugins放到刚刚建立的文件夹下,然后按照上面链接给出的文章操作。最后把features放到comm...
2009-11-12 19:37:54
119
SVN使用教程之-分支/标记 合并 subeclipse
首先说下为什么我们需要用到分支-合并。比如项目demo下有两个小组,svn下有一个trunk版。由于客户需求突然变化,导致项目需要做较大改动,此时项目组决定由小组1继续完成原来正进行到一半的工作【某个模块】,小组2进行新需求的开发。那么此时,我们就可以为小组2建立一个分支,分支其实就是trunk版【主干线】的一个copy版,不过分支也是具有版本控制功能的,而且是和主干线相互独立的,当然,到最后我们...
2009-11-09 11:06:05
298
eclipse jvm terminated. exit code 1 解决方法
这问题遇到好几次了,两次都是因为装了IE7!!!本来好好的,装完IE7就打不开ECLIPSE了。下面是解决方法。找到eclipse安装目录下的eclipse.ini,打开,将[code="java"]-Xms40m-Xmx256m[/code]这里的改小,上面是我修改后的配置。原来是512,这里是配置JVM内存分配的,xms是最小值,xmx是最大值。如果还不行,...
2009-11-05 09:30:07
343
原创 java.lang.OutOfMemoryError: PermGen space
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同...
2009-10-28 13:36:08
144
apache+tomcat+mod_jk整合配置虚拟主机
经过几天的google和测试,终于配置成功了。以javaeye信誉担保,以下配置绝对真实有效。如果你经过了漫长的google还是无法配置成功,那么,很高兴地告诉你,这里有你想要的。由于网上很多文章已经过时,而且许多网站转来转去使文章乱七八糟,看得我们眼花缭乱,不知道该听谁的。接下来你需要做的,就是跟着我一步一步做。值得注意的是,为了测试效果,你的域名解析一定要配置正确,比如...
2009-10-27 17:15:35
208
原创 程序员,应该掌握的英语词汇
程序员,应该掌握的英语词汇 卷首语:“英语”不需要专业,因为它只是工具...... 本文选自《Java程序员,上班那点事儿》 有时候如果应聘到了一个有外资背景的公司或者这个公司的很多人都有海外或外资工作背景时,你也许还会用到一些日常工作交流时候的词汇。 比如我们看一下某主管开会时的发言: 小王,请你尽...
2009-10-12 16:21:40
156
关于session、invalidate()、request.getSession(boolean)的一点实验
今天发现jboss给我丢出了一个错误。"Session already invlidated!"于是开始寻找这个BUG的原因,后来发现时我代码里有一句session.invalidate();由于session是有效期的,也就是说web容器会在有效期到了之后把到期的session彻底清除。但是我写这段代码的时候显然并没有考虑到这个。所以当一个失效的session被我执行inva...
2009-09-02 12:22:13
880
用计算机语言表白
我能抽象出整个世界...但是我不能抽象出你...因为你在我心中是那么的具体...所以我的世界并不完整...我可以重载甚至覆盖这个世界里的任何一种方法...但是我却不能重载对你的思念...也许命中注定了 你在我的世界里永远的烙上了静态的属性...而我不慎调用了爱你这个方法...当我义无返顾的把自己作为参数传进这个方法时...我才发现爱上你是一个死循环......
2009-08-18 10:01:53
709
Struts2 action execute 不执行
注意:本文并非validate()方法执行后不执行execute();跟踪断点发现execute没有执行,于是纳闷了,因为struts2 默认的执行方法就是execute啊,而且其他action 都是这样的,原来是可以执行的,但现在执行不了了,对比新旧文件发现,在同一个包(package)下,不能同时使用默认execute和显示声明method="XX"的方式。如果要同时使用,就另...
2009-07-16 09:33:39
350
空空如也
求教java正则表达式零宽断言【正则表达式解析html】
2010-10-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人