压测调优之遇到的proxool问题 T4CPreparedStatement内存泄露现象现象200并发压测压10分钟左右内存吃满jmap -histo | head 20 发现有大量的Connection对象和T4CPreparedStatement以及部分Finalizer对象,dump下来分析发现Connection和PreparedStatement这些对象都是no gc root线程dump发现finalizer线程时常
reviewboard svn post-review hook 需求希望每次提交到分支上的代码自动提交到reviewboard,通过svn post-review hook脚本实现调用rbt工具发起code review。改进过程python和svn绑定问题 运维同学在使用hook脚本时发现通过源码编译出来的python和svn无法关联使用,一方面是缺少python的svn库,另一方面是缺少相应动态库。 http://stackoverflow.com/q
基于spring websocket+sockjs实现的长连接请求 1、前言页面端通常有需求想要准实时知道后台数据的一个变化情况,比如扫码登录场景,或者跳转到网银支付场景,在旧有的短轮训实现下,通常造成大量的不必要请求和查询,这里基于spring websocket+sockjs来解决该问题。2、websocketwebsocket是html5的一个新特性,目前oracle已经统一java websocket api,只要容器支持JSR356(tomcat7以上支持
记一次tomcat web应用压测调优 前言 该tomcat web应用承担集团登录注册页面功能,对性能有一定要求,由于先前没有太多相关经验(只压测过一个dubbo服务),这次调得比较艰辛,便做个记录。调优过程 由于该次部署是两个不同团队的初次合作,起初没有给运维任何tomcat配置要求,同时也没留意去确认tomcat配置,这个导致了后续压测过程各种诡异的问题。a.在压测初期,持续请求10分钟左右出现无请求进来,netstat查看
maven编译后资源文件内容发生变更问题随记 现象描述最近做的个功能需要将字体文件放入common.jar中提供读取加载字体,然后发现将字体放在web项目中编译出来的大小和common.jar编译出来的大小不同,而且放在common.jar中的无法被加载。初步猜测maven在编译过程对ttf文件做了什么手脚。解决然后一个个对比web项目和common项目的pom文件,把common多出来的build配置项一个个删除尝试,最后定为在<build>
dubbo分线程池处理同一服务请求随记 前言 最近在看release it,第二章中的案例提到底层服务被数据库阻塞后把服务线程池全部占满并导致上层应用一直阻塞,结合自己部门的线上服务考虑,比如一个服务下会http请求外部应用,根据不同参数会处理时间长短会不同,这样考虑从dubbo中间层做一个保护,比如把处理时间会很长的这种参数的请求归类到一个线程池下,其他的归类到另外一个线程池下,这样即使处理时间长的请求一直阻塞起码不影响到其他的功能。
dubbo学习过程、使用经验分享及实现原理简单介绍 一、前言部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下。二、什么是dubboDubbo是阿里巴巴提供的开源的SOA服务化治理的技术框架,据说只是剖出来的一部分开源的,但一些基本的需求已经可以满足的,而且扩展性也非常好(至今没领悟到扩展性怎么做到的)
CopyOnWriteArrayList中的set方法随记 最近一直在看并发编程网,这篇文章先记录下这个地方的理解。上下文环境移步CopyOnWriteArrayList类set方法疑惑?[java] view plaincopyprint?/** The array, accessed only via getArray/setArray. */ private volatile tr
android抓包应用(基于root权限和tcpdump) 需求先前有些手机应用,想获取接口自动化拿些数据,比如说音乐文件自动下载之类的,或者手机网络游戏上自动化战斗什么的,有些ID或者会话ID时常变动,老是在连电脑用ADB来抓包太麻烦,就想着做个简单的抓包应用,至于抓到包后如何分析那就是根据不同应用有不同操作了,这个本文就不提了。实现本文题目也提到了,是基于tcpdump来实现,(不基于它还真不知道怎么做了,网络小白一个)
JAVA APP——密码加密后端存储 一个简单的应用,从python回到JAVA,重新熟悉下JAVA,另外方面前段时间看完设计模式不用上的感觉很快就忘记了,想从设计及开发上多应用下。一、需求 平常注册的网站多了,或者小号或者账号等多了,主要怕一些网站明文传输的,很多密码都是临时的那种,但是后面要用又想不起来,故想做这么个简单应用本地将密码做RSA加密,然后根据网站域名和账号保存到远端存储上。本来是考虑用有道云笔记的
java的new String(byte[]).getBytes丢字节现象 虽然这种应用情况极少,甚至基本不会出现,但还是记录下,加深下影响吧,避免以后犯2都找不到原因。参见:Why new String(bytes, enc).getBytes(enc) does not return the original byte array?也就是当你无法确认在指定编码下所有字节能够被识别,请不要使用new String来编码,否则导致不仅该字节丢失,甚至接
freemarker模板解析----典型的访问者模式和解释器模式 折腾这篇文章也快一个小时了,转载请注明出处http://blog.csdn.net/zhouyuqwert/article/details/8682535最近因为一些需要,稍微学了下freemarker,基本使用算了解了,本以为模板解析方式同JSP相同,会先解析生成Servlet再仔细看了下源码,发现还是很大不同的,虽然最终也是解析成HTML,response.write出去,中间
python-memcached并发调用get/set时出现RunTimeError:Second simultaneous read on fileno 8 detected. 出现异常如下 RuntimeError: Second simultaneous read on fileno 8 detected. Unless you really know what you're doing, make sure that only one greenthread can read any particular socket. Consider using a poo
JAVA解析各种编码密钥对(DER、PEM、openssh公钥) 一、DER编码密钥对先说下DER编码,是因为JCE本身是支持DER编码密钥对的解析的,可以参见PKCS8EncodedKeySpec和X509EncodedKeySpec.DER编码是ASN.1编码规则中的一个子集,具体格式如何编排没有去了解,但最终呈现肯定的是一堆有规律的二进制组合而成。PKCS#8定义了私钥信息语法和加密私钥语法,而X509定义证书规范,通常都会用DER和PEM
2012 今天,外面又开始飘小雪了,去年的这时候刚刚从淘宝实习回家,家里这时候应该冷不少吧。想想今年第一年出来工作,也是得记录下这一年都干了些啥了。在淘宝实习的两个月,这时候该说是前年的11月到12月了,学到不少,各种蹭课,现在能记得起来的也只剩下notify消息中间件了。但现在对比起来,在那个时候过得并不开心,只有师兄还有几个他的朋友稍微熟络一点,显得孤独了点。今年的上半年已是学生
openstack单机ubuntu虚拟机环境安装部署经验及源码结构简单介绍(适合入门者) 参考:OneStack脚本本文主要关于近一个月对Openstack学习的一个总结,包括单机环境安装部署中出现的问题记录和源码学习的过程,适合入门者阅读。一、openstack安装部署目前看到的一个是官方的安装部署文档,一个是中文的OneStack脚本。根据两个文档都能在虚拟机Ubuntu环境搭建好环境,中间也许或出现某些问题,搜一下应该可以得到解决。因为OneStack的是中文
CryptoAPI与openssl数字签名与验证交互 昨天写过了RSA非对称加密解密的交互方式,其实数字签名也是RSA非对称加密,只不过用私钥加密的,再加上个hash摘要CryptoAPI与openssl RSA非对称加密解密(PKCS1 PADDING)交互已经提到关于证书和私钥的数据以及对象获取,这里就不再重复讨论1.openssl的签名及验证void opensslSigner::sign(EVP_PKEY* evp
CryptoAPI与openssl RSA非对称加密解密(PKCS1 PADDING)交互 (以下代码中都只做测试用,有些地方没有释放内存...这个自己解决下)1.RSA非对称的,首先提供一个供测试用的证书和私钥的数据1)pem格式的证书和私钥(公私钥是对应的)的base64编码void readPriKey(string &a){ a = "-----BEGIN RSA PRIVATE KEY-----"; a.append("MIICXQIBAAKBgQDT
openssl与cryptoAPI交互AES加密解密 继上次只有CryptoAPI的加密后,这次要实现openssl的了动机:利用CryptoAPI制作windows的IE,火狐和chrome加密控件后,这次得加上与android的加密信息交互先前有说openssl移植到android的过程,这里就不再提android如何调用openssl了, 而那一篇第9条提到的openssl与cryptoAPI兼容的两种方式感觉实现都不
NPAPI——实现非IE浏览器的类似ActiveX的本地程序(插件)调用 一.Netscape Plugin Interface(NPAPI)大致的说明可以看下官方文档Plugin本文主要针对于javascript与插件交互部分做一些交流,比如用于数字证书的操作(淘宝和支付宝的插件),用于播放的flash player插件等与javascript的交互需要用到NPAPI中的npruntime Scripting plugins下面的部分将以示例的方式
struts spring mybatis maven随记 1.目前整合struts spring mybatis使用的pom配置(2012-3-17)版本一不多就各种问题了,在maven库上下了不少版本,总出问题,这次配好就记下来先<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" x
TOMCAT使用CA签发证书配置单向和双向SSL 一.获取签发服务器证书以及CA证书1.创建本地证书密钥库以及密钥对 keytool -genkey -alias tomcat -keyalg RSA -keystore 在填写证书信息时,需要注意的是 "名字与姓氏" 或者 英文的"first- and lastname"填写服务器域名,比如填写localhost2.创建证书签发请求文件,里面包含了该文件的base6
ActiveX打包cab实现浏览器提示安装注册控件 实验前提: 1. 有一个可注册的COM组件(如ActiveX)2. 最好能有一台Windows server 2003作为证书服务器,用来申请签名代码的证书(本例使用从证书服务器申请证书签名)3. 代码签名工具实验步骤:1.编写INF安装配置文件,没怎么研究过INF的写法就不在这里做过多说明,贴个示例; Sample INF file fo
C++基于ATL工程编写安全的ActiveX控件 继前一篇关于ActiveX控件的博客之后,现在再增加一部分后续的问题如何编写一个安全的ActiveX控件ActiveX控件,用js调用时经常因为IE浏览器安全权限问题被阻止或提示等,先来看下IE权限设置,如下图,IE选项的安全标签,选择自定义级别,可以找到如下所示有一部分专门对ActiveX控件的设置,如果我们默认设置且编写一个未标记安全的控件,则会出现如下被禁
Android appWidget——每日一句应用开发 放假回家后着实无聊了点,刚好小米到手就学了下android开发,做点自己需要的应用,纯Android新人,还请高手指点。 学习加上开发这个widget前后算起来也快半个月了,目前已有一个比较完整的功能,不过还有待增加功能与代码重构等,现在先放出这个版本与朋友们交流。 效果图、源码与apk文件放在最下面,有需要的朋友自行下载。 这次做的主要一个功能是
Effective Java之接近理想的hashCode 注明:本文完全来自Effective Java,以后方便查看。理想情况下,一个散列函数应该把一个集合中不相等的实例均匀地分布到所有可能的散列值上。要想完全达到这种理想的情形是非常困难的,幸运的是,相对接近这种理想情形并不太困难。下面给出一种简单的“处方”。1.把某个非零数值,比如17,保存在一个叫result得int类型的变量中。2.对于对象中每一个关键域f,完成以下步骤:
Spring MVC中DispatcherServlet工作原理探究 下面类图将主要的类及方法抽离出来,以便查看方便,根据类的结构来说明整个请求是如何工作的主要使用到的技术有Spring的IOC容器和Servlet。假如我们要实现一个请求home.htm然后返回home.jsp视图资源则当home.htm请求到达时,我们
spring的JDBC框架中自增键的问题与cacheSize关系 public int nextIntValue() throws DataAccessException { return (int) getNextKey();}nextIntValue将调用getNextKey获取自增int值@Override
Spring使用自动代理缺少asm包的问题分析 使用BeanNameAutoProxyCreator配置自动代理时如果某个bean没有实现任何接口,比如public classMyBean{}则会报错java.lang.ClassNotFoundException:org.objectweb.asm.Typ
Spring的四种Advice源码探究 一、MethodBeforeAdvice的执行 this.advice.before(mi.getMethod(),mi.getArguments(), mi.getThis() );//调用before方法 return mi.proceed()
Spring的MethodBeforeAdvice实现原理探究&&实现一个简单的Advice 一、类结构MethodBeforeAdvice整个过程大致就是使用的jdk提供的动态代理的接口InvocationHandler和Proxy所以首先在这讨论下动态代理在这里是如何使用的1、获得动态代理动态生成的类($Proxy0.class)参考博文:http
spring源码探究---beanFactory为bean对象设置属性时涉及到的类型转换 自己想着实现一个简单点的类似Spring的beanFactory,解析下xml,通过反射调用相关的set方法来实现构建bean对象,其间遇到一个问题没找到比较好的解决方案。现在有一个简单的bean:public class MyBean{ private in
win7申请高级证书时遇到正在下载ActiveX控件的问题解决 在Windows server2003做为证书服务器时,win7申请高级证书会遇到”正在下载ActiveX控件“,可能的原因是windows server2003未安装更新补丁。从以下网址下载补丁,在windows server2003上安装后即可解决,中文版的windows server2003记得下载中文版补丁。http://support.microsoft.com/kb/922
struts2几种result type探究 可以在struts2-core-{version}.jar中找到struts-default.xml,里面列举了当前可以使用的所有result-type以及对应的class此处是struts2.2.3的
JBPM5配置mysql持久化 参考博文:http://blog.csdn.net/dcl8261425/article/details/6575797首先需要安装JBPM5和MYSQL。。。。一、修改JBPM持久化相关配置文件1、jbpm-installer/db/hibernate.
使用输出流解决在网页(JSP)中显示文档(PDF等)问题 今天看到个贴,问关于application/pdf的问题,感觉挺有意思的,顺便自己尝试了下下面给出具体代码在工程的web.xml中添加mime信息(读者可自行尝试更换成其他格式,比如word) pdf application/pdf 在servl
Set接口的iterator方法源码探究 今天在学习nio的过程时,突然发现个小细节平时都没有注意到的,大家都知道Set接口中有一个iterator方法可以进行迭代,不过估计很多人都没有太注意Iterator接口的remove方法,该方法将移除迭代器中最后一个元素(即当前迭代器指向的元素)。那么我们在使用Set的
serlvet生命周期学习笔记 serlvet生命周期应该是java web方向面试必考的问题吧!一、从API文档来看public interface ServletDefines methods that all servlets must implement. A servlet i
java分别采用dom,sax,jdom,dom4j操作xml 注明:其中某些注释部分为读写文件(与之对应的是仅仅操作字符串),或者是可替换方式,在JDOM和DOM4J中XPATH需要用到jaxen.jar一、DOM操作方式 public static void getDoc() throws ParserConfiguratio
使用Lotus Enterprise Integrator (LEI)将Domino附件移至关系数据库(图文过程) 参考IBM解决方案:http://www.ibm.com/developerworks/cn/lotus/LEI-attachments/index.html对其中某些过程进行解释下:首先需要一个空的不带任何文档的表单副本,因为在后面的LEI Virtual Do
Lotus Enterprise Integrator (LEI) Administrator连接ODBC时报错"You Pressed Break.....(省略若干字)"解决方案 在使用Lotus Enterprise Integrator (LEI) Administrator新建与ODBC的连接时,选择Data Source时出现"You pressed BREAK, but your request is still running on t
ODBC连接MySql 转自:http://shoopman.org/post/15.html由于需要共享EA项目,而暂时发现EA仅支持ODBC连接数据库,所以要解决通过ODBC连接MySql的问题了。Windows默认是没有MySql的ODBC驱动的,首先要下载ODBC驱动。Google到
解决LINQ多个DataContext查询问题 先祭奠下死去的脑细胞!调试了N长时间,没找到好的方案。在设计初未想到此问题,如果在LINQ语句中要使用到多个DataContext会出现问题问题不是很大,也许换成SQL语句很快搞定(本人死脑筋,用了LINQ就统一全部用LINQ,坚决不把其中某几个换成SQL。。。)
asp.net验证控件与onClientClick一起使用的问题 咱喜欢偷懒,懒得一个个js去写验证了,有些就用.net的验证控件了,但是提交按钮又得执行其他js,弄了半天发现如果自己写的js中存在return的就会不再执行.net验证控件了 从html代码中可以看到转化之后,先执行了return getQuestion
ScienceWord控件问题以及IE8对于base64编码图片长度限制的解决方案 首先得提下ScienceWord这个控件,ActiveX控件,公式编辑等很强大,但是安装卸载麻烦,甚至安装的时候还提示重启!只支持IE!也是只支持IE的缘故,如果连查看的页面都要使用这个控件,对加载速度有影响,而且用户没装控件的想要查看还得安装,还好6.0版本提供了转换成图片的函
调用cryptlib接口3DES对称加密、信封加密、数字签名等 #include#include #include "Base.h" //提供base64转码功能using namespace std;#include "cryptlib.h"int main(){ cryptInit(); //cryptlib调用前必须执行init,调用完必须执行end cryptEnd(); return 0;}/****cr
JS调用COM组件异常捕获问题 WIN API常见异常返回值以E_开头的,具体见下链接http://www.vckbase.com/document/viewdoc/?id=1520自定义异常信息可使用函数:CComCoClass::Error详细介绍见MSDNhttp://msdn.microsoft.com
FCKeditor for ASP.NET 那么为什么说是FCKeditor的冰冷之心呢?这不是哗众取宠,主要是说它使用起来有点麻烦,下文就详细说明如何搞定这玩意儿。1.FCKeditor的官方网站是:http://www.fckeditor.net/download 目前最新的FCKeditor 2.4.2版本。请在此页
C++调试ATL工程的ActiveX组件 在工程的属性页中设置调试选项启动的调试器:本地Windows调试器 命令: C:\ProgramFiles\Internet Explorer\iexplore.exe 这个路径需要注意的是如果是64位机,请尽量选择32位的IE调试,有可能生成的COM组件是32位的而64位的IE
C++基于ATL工程编写ActiveX控件 开发环境:VS2010开发工程:C++ATL项目开发目的:创建ActiveX实现js调用步骤:1. 创建一个ATL工程应用程序类型选择动态链接库(DLL),勾选支持COM+1.0,勾选支持部件注册器2. 选择类视图,添加接口与类如果没有找到类视图,可以在工具栏中添加上视图选择工程,右键添加类。选择ATL简单对象。输入对象信息。
编写ATL工程实现ActiveX控件调用cryptoAPI接口(五)------------获取证书转成Base64码 注:下面的代码中用了Map,Base64,log,Result等都为自定义类型,太长就不一一贴出./** * * 文件名称:CertMsg.cpp* 摘 要:* 对证书一系列操作的封装,包括查找证书,验证证书合法性等* * 作 者:周绍禹* 创建日期:2012年2月29日*/#include "StdAfx.h"#include "CertMsg.h"
C语言实现的Base64码 C里面可是没有string的,得用char*实现#include #include "Base.h"const char base[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+
编写ATL工程实现ActiveX控件调用cryptoAPI接口(四)------------Base64转码 /* * * * 文件名称:base64.cpp * 摘 要: * 当前版本:1.0 * 作 者:周绍禹 * 创建日期:2012年3月3日 */#include "stdafx.h"#include "base64.h"//-----------------------------------------------------------// 函数名称:
编写ATL工程实现ActiveX控件调用cryptoAPI接口(三)------------AES对称加密与解密 注:下面的代码中用了Map,Base64,log,Result等都为自定义类型,太长就不一一贴出./* * * * 文件名称:EncryptAES.cpp * 摘 要: * AES对称加密与AES对称解密,生成会话密钥 * 当前版本:1.0 * 作 者:周绍禹 * 创建日期:2012年3月4日 */#include "StdAfx.h"#include
编写ATL工程实现ActiveX控件调用cryptoAPI接口(二)------------信封加密与解密 注:下面的代码中用了Map,Base64,log,Result等都为自定义类型,太长就不一一贴出./* * * * 文件名称:Envelop.cpp * 摘 要: * 数字信封加密与解密 * 当前版本:1.0 * 作 者:周绍禹 * 创建日期:2012年3月4日 */#include "StdAfx.h"#include "Envelop.h"#inclu
编写ATL工程实现ActiveX控件调用cryptoAPI接口(一)------------签名与验证 注:下面的代码中用了Map,Base64,log,Result等都为自定义类型,太长就不一一贴出./** * * 文件名称:Signer.cpp* 摘 要:* 数字签名及验证* 当前版本:1.0* 作 者:周绍禹* 创建日期:2012年3月4日*/#include "StdAfx.h"#include "Signer.h"#include "Map.h"#i
openssl签名验证、信封加密解密、产生随机数、md5摘要 #include #include #include #include #include #include #include "util/Base.h"typedef unsigned char BYTE;/***产生随机数**/unsign
updatePanel的triggle导致无法加载updateProgress解决方案 首先我在updatePanel里面放了一个Button和Label,然后点击Button给Label赋值。这个是个很简单的过程了。代码我就不贴了。然后我再加了一个UpdateProgress控件,把它的AssociatedUpdatePanelID指向刚加的UpdatePanel
CryptoAPI获取3DES会话密钥值 转至:http://www.codeproject.com/KB/security/plaintextsessionkey.aspx不太会C++的异常捕获,用这代码会报try的错误,保持原创的代码直接COPY过来#include #include #define KE
openssl实现3des对称加密 转至:http://blog.csdn.net/lyjinger/article/details/1722570#include #include #include #include /****************************************
查询Active Directory(LDAP) 实验条件: 一台server2003作为证书服务器,域控制器以及AD服务器 服务器上需要安装server2003工具集,在安装包的SUPPORT/TOOLs文件夹下,SUPTOOLS.MSI为安装文件,然后找到工具集中的ldp.exe
linux一些操作,记着给自己用的 1.解压tar.bz2tar jxvf android-ndk-r5c-linux-x86.tar.bz22.linux IP可以访问域名无法访问vi /etc/resolv.conf添加, nameserver 202.106.46.1513.linux 安装deb文件sudo dpkg -i ibus-sogoupycc_0.2.5-1_i386.debibus-s
openssl移植Android使用及其相关经验分享 1. linux安装openssl库参见《精通PKI网络安全认证技术与编程实现》2.3.2节 Linux下搭建OpenSSL开发环境Linux下面解压tar.bz2文件:tar jxvf android-ndk-r5c-linux-x86.tar.bz2 2. 配置NDK的环境变量在~/.bashrc文件末尾添加:NDK=~/android-ndk-r