`
waterdh
  • 浏览: 96592 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
asprise体验版过期后,再次使用会不停的弹出确认框要求你打开网页购买license。 我们可以通过修改注册表来取消这一限制, 运行->regedit->查找->asprise 删除注册项。   更彻底的方法: 直接修改dll文件 http://bbs.chinapyg.com/viewthread.php?tid=12050
   本文经历的事情发生在2008年    本人比较懒,碰到问题才会想到去解决, 一次偶然的机会,发现线上环境的tomcat自从把连接方式改成nio以后,时不时的发现有服务器CPU占用100%的情况。很奇怪的现象,为整个系统带来了不稳定因素,需要尽快解决。于是去网上查找资料,但是没有找到现成的答案。    定下心来自己分析,先需要知道tomcat中的线程在干什么,于是找到了jstack命令。 命令格式:jstack ${pid}      其中pid可以通过jps命令获得。    于是我们可以得到当前应用中工作线程的堆栈, 各个线程分别在做什么 , 比如很多线程都执行在 ...
/** *原创: *Author:Water.DH(黄俊杰) *Date   :2010-04-18 */ 前言: Velocity作为一款简单易用的web应用模板框架,深受广大java开发者的喜爱,更多资讯使用搜索"Velocity";来获得。 场景:     Web应用在开发阶段,是不需 ...
首先,先明确下synchronized的几个关键点: A.无论synchronized关键字加在方法上还是对象上,他取得的锁都是对象,而不是把一段代码或函数当作锁――而且同步方法很可能还会被其他线程的对象访问。 B.每个对象只有一个锁(lock)和之相关联。 C.实现同步是要很大的系统开销作为代价的,甚至可能造成死锁,所以尽量避免无谓的同步控制。   synchronized可以加在方法上,也可以加在对象上,通常理解为,只有持有了锁才可以进行对应代码块的执行。   java.util.concurrent.locks包下面提供了一些锁的实现,有读写锁,公平锁等。   将s ...
Tokyo Cabinet 是日本人 平林幹雄 开发的一款 DBM 数据库,该数据库读写非常快,哈希模式写入100万条数据只需0.643秒,读取100万条数据只需0.773秒,是 Berkeley DB 等 DBM 的几倍, 反正是相当的快。   而Tokyo Tyrant(翻译成中文是:东 ...
     本文主要是根据classloader的特性,结合实际产品环境中遇到的问题,来探讨下JAVA应用中局部模块热部署的可行性。      我们知道,一些web应用提供了自动检测装载webapp的功能,但大部分的时候,就是相当于重新启动了一遍Webapp,存储在内存中的数据也会丢失,并不能灵活地满足需要。而OSGI框架,虽然也提供了模块的热部署,但为了用热部署而将应用限制在OSGI的框框中,有些时候得不偿失。于是想根据实际需要来定制classloader,灵活地指定哪些类重载,哪些类不需要。      言归正传,进行我们的实践,这里先简单介绍下JAVA的classloader机制:    ...
在很多时候,一台memcached server中的数据,需要被不同语言的客户端访问。 在理想的情况下,一种语言写,其他语言读可能不会造成一些兼容的问题。 日前遇到了java和php共享数据的问题,php写入的时候,java可以读取;java写入的,php读取时候数据解析有误。 分析memcached中的数据: telnet memcache-srv1 11211 get key[enter] 发现php写入,和java写入的数据存在一点差异。 php:VALUE key 1 250 java:VALUE key 0 250    大家发现了吧,就是一个状态位不一致导致。在java中 ...
Canvas中屏幕适配是比较头疼的事情,我们必须使用程序来动态的根据屏幕大小来判断以及处理适配问题,下面介绍了长字符串显示时候自动换行的实现。   首先是把字符串每一行进行分割,存放到Vector中。 /** * 按字节数把字符串分组,支持中文 */ public static Vector splitStr(Font f, String str, int length) { if (str == null) return null; Vector result = new Vector(); char[] tempChar = str.toCharAr ...
最近有个项目下需要接收POST过来的XML数据包,在struts中的Action方法中,调用request.getInputStream() 发现无法读到任何数据。 以下是POST数据的程序代码: URL url = new URL(urlBuf); HttpURLConnection httpURLConnection = (HttpURLConnection) url .openConnection(); httpURLConnection.setDoOutput(true); httpURLConnection.setDoInput(true); h ...
这里只描述下如何设置机器人的头像,并且传输给用户。 1.使用CHG指令告诉MSN服务器你更换了头像     例如: CHG 15 NLN 1610612736 [ MSNObjectStr ]   CHG指令格式不介绍了,[msnobjectStr]字符串的生成,这里给出代码,最终需要urlencode下: public class MSNObject { private String creator; private String type; private String sha1d; private String sha1c; private String ...
最近学习了解了下MSN机器人头像显示部分的资料,协议资料地址http://msnpiki.msnfanatic.com/index.php/MSNC:Display_pictures 在MSN协议中,图像显示采用的是p2p协议。 下面这段代码用于解析和生成p2p数据包中的BinaryHeader部分。 /** * */ package com.msnbot.entity; /** * @author jjhuang * */ public class BinaryHeader { private int sessionId; ...
我算是个AXIS2的初学者,以前用它来调用.net环境下的ws,几乎每遇到困难。用工具一路生成(XMLBeans绑定),然后就在程序中直接调用,因此也没有对其作深入的了解。 最近项目需要调用WCF架构下发布的ws,很不顺利,走了很多弯路,现在稍微有了点头绪...... 使用最新版本的axis2携带的工具根据wsdl生成java代码,生成步骤网上有很多介绍,很简单的,我用的是Intellij IDEA的插件,稍微配置下搞定了。 注意:axis2版本一定要1.2以上的,否则会出错,之前版本并不能很好的兼容soap1.2规范。尝试过XFire最新版本1.2.6,不过很可惜,生成不了代码,而其动态调用的 ...
从WSDL生成客户端和服务端 原文地址: http://xfire.codehaus.org/Client+and+Server+Stub+Generation+from+WSDL 这片导航将一步一步地引导你为一个服务创建客户端.这个过程还同样适用于创建服务端. 完整的Example可以在distribution版本的"examples/geoip-client"文件夹中找到 限制 生成中有几个限制点需要注意 需要java 5.0环境,因为其使用了JSR 181 规范 不支持RPC/Encoding ...
   最近在学习XFire,调用.net发布的webservice,生成客户端代理的过程中出现了一些NollPointerException,问题很可能出现在wsdl文档中。查找了一些资料作全面检查,作了简单的翻译,不足之处请谅解。 Web service客户端可以从一个WSDL文件用Ant task来创建。创建一个客户端服务需要2步。 首先,你需要使用XMLBeans来根据WSDL文档生成types,然后使用XFire自带的生成器来创建客户端代码。 不幸的是,这个流程并不适合RPC/Encoded service, 不管怎样,rpc/encoded文档仍然可以由之前片断的重要方法中手动构造 ...
Global site tag (gtag.js) - Google Analytics