
java
文章平均质量分 53
lydawen
这个作者很懒,什么都没留下…
展开
-
eclipse 正则 查找替换
不得不说eclipse这个功能强大。见图: 可以将 #hello# 替换为#{hello}这里主要是用到了eclipse 查找中的正则,以及正则中的分组功能。1、查找内容中的 #(\w+)# 这其中的括号表示对这个结果分组,默认编号从1开始。2、替换内容中的 #{\1} 这里的 \1 即表示第1点中的 \w+ 这个匹配。 ...2014-11-25 17:44:09 · 170 阅读 · 0 评论 -
非eclipse java工程转换为eclipse工程
经常从网上check out来的源码因为并不是标准的eclipse工程而不方便在eclipse中进行查阅,其实要将其变成eclipse工程非常容易。 一般都是从trunk拉下来,这也是工程的根目录,里面一般会包含ant的一些构建脚本,在此目录下添加一个 .project 文件,即eclipse的项目描述文件,内容如下: <?xml version="1.0" encodi...2011-04-01 18:37:39 · 92 阅读 · 0 评论 -
约瑟夫环 面试题解
论坛看到面试题:原链接:http://www.iteye.com/topic/954262如何编程实现:输入M,N两个数,从1至N开始循环数数,每数到M输出该数值,直至全部输出。例如M是3,N是20,那么相当有20个人,1,2,3循环报数,数到3的就打印出他的序号,直到所有这20个数全部输出为止。LinkedList<Integer> a3=new Linke...2011-03-15 11:32:16 · 134 阅读 · 0 评论 -
一道关于使用List保存数据做快速检索面试题
原文:http://www.iteye.com/topic/1112278 写道有大数据量的User对象(name,sex,age)属性。 现要求直允许使用List存放,如何实现按name快速检索到对应的User对象? 主类: package com.kanmenzhu.test;import java.util.ArrayList...2011-07-17 10:26:16 · 119 阅读 · 0 评论 -
记一次简单性能调优(b/s)
本系统作为接口适配系统,前有系统,后有系统,在现场集成测试中被测试人员认为性能瓶颈制造者。虽后经测试验证发现,性能瓶颈在C系统,但毕竟出现性能问题,于是准备进行一次测试,在不考虑A,C的情况下我们的系统能达到什么样的一个能力。 用户->A系统->B系统->C系统,B系统为本系统,负责接口适配。A系统为门户系统,B为本系统负责接口适配,C系统为运营商系统。 ...2011-07-14 15:45:00 · 112 阅读 · 0 评论 -
ant 接受输入并做条件判断
最近做的项目,可能要在几个客户使用,大同小异,配置文件有出入,为了不重复劳动,基于约定[配置文件在以客户代码为名的目录下,web文件也以此区分],ant编译时根据测试人员输入来编译对应客户的目标包。ant 的脚本如下(示例) <?xml version="1.0" ?><project name="mybuild" default="task3"> <...原创 2010-11-09 16:03:21 · 237 阅读 · 0 评论 -
HashMap hashCode奇怪的实现
无意看群里有人讨论HashMap,new出来的HashMap实例hashCode都是一样的。而且循环放入键值也还是一样,都是0.细看HashMap hashCode的实现,也就是它的父类AbstractMap的代码 :public int hashCode() { int h = 0; Iterator<Entry<K,V>> i = entrySet(...2011-09-20 15:17:51 · 119 阅读 · 0 评论 -
java 运行 jar classpath配置
方法一 按照developrworks上说的: http://www.ibm.com/developerworks/cn/java/j-jar/index.html 创建可执行 JAR创建一个可执行 JAR 很容易。首先将所有应用程序代码放到一个目录中。假设应用程序中的主类是 com.mycompany.myapp.Sample。您要创建一个包含应用程序代码的 JAR ...2011-06-08 17:27:47 · 556 阅读 · 0 评论 -
openfire jvm参数配置
XMPP协议的一个服务器实现(也是目前较多使用的服务器)Openfire,这里有 3.7为例,默认的jvm启动内存配置较小,至少在我windows测试时,新生代只有1M,整个堆12M,老年代10M,永久区16M左右。在我加上GC信息后发现gc较频繁。通过修改jvm启动参数后,gc明显减少,这对提升openfire的性能还是比较明显。 修改openfire jvm启动参数方式(原文:ht...原创 2011-05-30 13:43:00 · 450 阅读 · 0 评论 -
动态修改log4j日志级别
一直是使用properties或xml来配置log4j,偶尔现场会出现“灵异”事件,即可能会偶尔出现一些异常问题,但平时的logger level都至少是info以上。因为是偶然事件,所以现场提出了可以在出问题时动态修改log级别以便输出详细信息来定位,毕竟重现不容易。 简单查看了下,核心代码就几句:org.apache.log4j.Logger.getLogger("org...2011-08-26 11:16:25 · 443 阅读 · 0 评论 -
HSQLDB 密码修改
因当前在写一个swing桌面应用,考虑到以后可能会有其他用户使用,而系统本身又涉及较多的数据统计,图表,所以需要使用数据库但使用重量级数据库是不可能的,比来比去还是用这个java源的HSQLDB,使用它的嵌入式In-Process模式。使用方法就不多说了,教程倒挺多,正因它的小巧及功能定位使得本身比较简单。1.8版本的核心包600来K,到了2.2.5就1.3M了。说了半天,改密码方法:使用管理工具...2011-08-14 21:55:42 · 626 阅读 · 0 评论 -
System.out.print(anArray) anArray=char[] 及anArray=int[] 的区别
无意看到有人在问,为什么 char[] ca={'1','2','3'};int[] ia={1,2,3};System.out.print(cs);System.out.print(ia); 得到是截然不同的结果,char[]输出了数组元素而int[]输出了引用地址,怀着好事心情,跟进一看System.out的这个out定义为: public final s...2012-02-01 15:25:57 · 129 阅读 · 0 评论 -
jvm crash core dump分析
一般会有hs_err_pidxxxxx.log这么个文件,里面记录了core dump文件在哪 在分析jvm crash 产生的core dump文件需要注意几点:1、jdk必须使用与crash所处jdk 版本完全一致,因为不同的jdk实现有差异,将会导致gdb或jstack,jmap无法加载,或无法正确加载。至少 jstack,jmap要完全正确加载,自测是需要使用同样的jdk...原创 2015-05-29 10:58:44 · 1631 阅读 · 0 评论 -
eclipse 僵死/假死 问题排查及解决
症状:使用Eclipse win 64位版本,indigo及kepler都重现了,使用tomcat 6.0.39,jdk1.6.u45及1.7u45均尝试了,也重现。重现步骤很简单,使用debug模式启动时较容易出来,debug启动tomcat,(我的是webapp)然后在页面上随便点点即发现eclipse僵死,且任何从浏览器发出的请求都卡住不能被接收执行。1、然后从任务管理器直接...2014-04-19 10:16:53 · 321 阅读 · 0 评论 -
axis 工具包使用笔记
难得用一次,做个笔记。wsdl2java -o . -s -S true -p com.kanmenzhu.blog E:\privateWorkSpace\testProject\wsdljava\wsdl2java\ServerActionSV.wsdl 此上,表示将根据指定wsdl生成java代码,同时生成服务器端代码 包名为com.kanmenzhu.blog,生成到当前...2012-09-06 15:19:56 · 197 阅读 · 0 评论 -
一次排查java占用cpu过高问题
近几天现场报故障过来,说A系统(java b/s应用,有较多后台线程处理任务)在现网占用系统资源非常严重,而服务器相对也比较强劲,8核CPU,16G内存,相对于我们的应用从硬件来说远远足够。首先,top命令看一下情况,果然名为java的进程,时不时占到500%甚至700%的cpu,mpstat -P ALL 1 ,看了一会cpu情况,8个cpu(核)也基本都没闲的时候,看来问题比较严...2012-07-31 22:21:40 · 166 阅读 · 0 评论 -
SimpleDateFormat使用不当导致时间错乱
近期一个老项目发现导入数据(节目单),存在时间错乱的问题。节目单来自文件,文件格式大概:中央五套.txt 中央五套 2011-01-01 18:30:00 CBA19:00:00 新闻联播……中央六套.txt中央六套 2011-01-0110:00:00 大漠英雄12:00:00 午间新闻…… 电视有很多频道,偶尔存在1-3人同时导入不同...2012-02-08 22:50:45 · 719 阅读 · 0 评论 -
struts1 与tomcat冲突的灵异问题
页面一个登录名,一个密码框,密码输入一个字符(数字或字母),后台action怎么样都获取不到,在request中也看不到,2个及以上就行。tomcat 5.5.35是这么个情况,经历多番周折后,换了tomcat5.5.30,居然就好了。没时间研究,只是怀疑是不是servlet版本问题...原创 2012-05-25 10:49:48 · 197 阅读 · 0 评论 -
openfire 3.7 在linux 日志目录
openfire3.7在windows下目录目录即在openfire_Home/logs目录下,除debug目录需要管理员开户外,error,warn及info日志文件都能找到。openfire在linux下是解压即用,启动后在openfire_Home/logs目录下有日志文件,但它们的大小恒定不变,即openfire未往其中写入日志。真实怀疑权限问题,修改目录权限及使用root启动应用都不行...2011-11-14 14:22:29 · 208 阅读 · 0 评论 -
控制程序运行时间或外部接口调用超时时间
经常在运行一个新线程或调用第三方接口时存在一个问题,即线程在预计的时间内没有成功结束而导致程序失控。调用第三方系统,因为网络超时或对方响应速度异常导致己方系统异常的问题在开发中时常遇到。通过下面代码旨在解决类似问题。需要注意的时,虽然返回了,但实际那个线程还是在运行的。 import java.util.Calendar;import java.u...2011-11-09 17:29:34 · 378 阅读 · 0 评论 -
EL表达式对Map操作
普通的迭代key以及value都容易,如果需要根据key提取value呢? myMap.put("hello","world");request.setAttribute("myMap",myMap);${myMap['hello']}//页面显示world 这一种也不难,另一种,就是key本身也是变量,例如迭代用户列表,要根据用户id到map中取对应的地址信...原创 2012-05-14 17:43:13 · 883 阅读 · 0 评论 -
tomcat 开放远程调试端口
1、开启远程调试端口WIN系统,在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 Linux系统,在catalina.sh里:CATA...原创 2010-10-25 16:23:42 · 336 阅读 · 0 评论 -
eclipse myeclipse工程互导
两个IDE工程互导,尤其是WEB工程互导,往往会出现导进去了,不能进行自动部署的问题。解决这个问题,主要关注两个文件,1个是工作目录下的:.project文件,它记录了需要的一些额外插件等信息,还记录着编译相关的一些IDE参数,需要关注这个文件中<natures></natures>中间的内容,e与me在这里有区别。 另外一个就是.settings目录下的org....原创 2010-10-12 10:58:55 · 131 阅读 · 0 评论 -
spring 管理 memcached (方便扩展)
最近项目中要用到缓存,无意中了解到memcached使用比较广泛,但考虑到以后其它情况(有可能换其它缓存),想了想 应该用一个更灵活的方法来管理缓存,经过资料查找和自己耐心调试,最终还是出来了(暂未过多考虑性能) 有个疑惑:这个客户端的连接池,设置连接的空闲时间短点好(n秒)还是设置时间长点好呢?(n小时)时间长了,如果并发很大是不是连接很快就满了? ...2009-11-29 20:56:42 · 86 阅读 · 0 评论 -
Glassfish 安装为windows 系统服务
(文档来源官方)http://wiki.glassfish.java.net/Wiki.jsp?page=FaqRunAsWindowsServiceZh如何将 GlassFish 作为 Windows 服务运行?Glassfish 附带一个名为 appservService.exe 的 Windows 可执行文件,它可与 Windows 服务控制器通信。其工作方式类似于 Java S...原创 2009-06-03 10:06:54 · 167 阅读 · 0 评论 -
eclipse 自动 getter setter 注释
废话不多说,在bean定义时字段一般都为private,大家又喜欢顺手将注释写在这个private上,但自动getter,setter时即使你让它自动生成注释,也不会把这个注释带过去。查阅资料,发现修改eclipse某源码可以达到功能,我修改的是3.4的源码,在3.2,3.4上测试成功,3.3,3.5的朋友可以先备份再试一下,也许也能成功。 没修改代码前,在Generate Getters...2009-10-22 18:05:34 · 147 阅读 · 0 评论 -
Spring的bug?
今天在做几个报表,s1sh,配置spring,我的 service 里的dao 都定义为形似 private TwaterDAO tWaterDao;然后习惯性用myeclipse生成get set方法,一共有四个这样的service主要是set方法:private TwaterDAO tWaterDao;public void setTWaterDao(Twater...2008-11-05 13:14:00 · 153 阅读 · 0 评论 -
jprofile 5.2.1 crack
找了N久,在老外的网站找到了,发现老外也有这玩意下载2009-10-15 10:37:50 · 91 阅读 · 0 评论 -
Subversion 与 apache2.2集成
经过多次尝试失败后,终于成功了。安装环境 XPapache 2.2 安装就不说了,subversion1.5.5下载:http://subversion.tigris.org/files/documents/15/44589/svn-win32-1.5.5.zip下载好Subversion 1.5.5,假设解压后路径为 c:\subsversion 解压后把 bin\ 下所有 dl...原创 2009-09-23 10:09:41 · 144 阅读 · 0 评论 -
tomcat 6 部署 cas3.3.1 server 访问报错。
最近在弄SSO,准备用CAS认证,教程上用的是tomcat5.5,我自己用tomcat6,结果部署后,访问https://localhost:8443/cas 报错 错误如下: HTTP Status 500 - type Exception reportmessage description The server encountered an interna...2009-09-21 10:39:09 · 133 阅读 · 0 评论 -
详细解析Java中抽象类和接口的区别(来自:java060515)
转自:http://hi.baidu.com/fanxufeng/blog/item/199086507ebc74638435244c.html 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大...原创 2008-09-23 15:40:41 · 87 阅读 · 0 评论 -
jar class 反编译工具
今天做到一个模块需要sqlserver 2k分页,想看一下hibernate是如何来分的.网上找到一个反编工具,叫XJad,国人delphi写的,于是打开软件,反编hibernate3.jar,半天没反应,过了一会提示源码已保存到。。。。 赶紧到指定目录一看,里面所有的类都反编出来,且是按目录结构放好了不过看到分页代码就傻了,原来hibernate对sqlserver2k也是top来分页...原创 2008-09-09 11:18:53 · 517 阅读 · 0 评论 -
java 3DES 支持 CBC/PKCS7Padding
很抱歉之前下载此代码包的朋友,该代码发现存在严重问题!需要在所有加/解密方法上加同步锁synchronized,否则在高并发情况下会有异常。(2010-3-27附件已更新,bug已修正) 大家都知道PKCS7Padding是C#默认的3DES填充方式,而java默认则与c#不一样,具体请搜索相关知识。 代码部分有参考网上实现,本着共享精神不敢私藏(卖弄啊)。希望对有需要的朋友有参考...2009-12-04 11:13:13 · 1223 阅读 · 0 评论 -
struts 页面叠迭复杂对象输出
因为是hibernate多表查询,表间无关系,数据懒得封装,所以查出来的结果有些特殊。 如查询用户表User(id,name...) 和成绩表Scope(userid,scope...) 得到的结果是:List<Object,Object>,实际数据为List<User,Scope> 在页面上输出方法:<s:iterator value="re...2010-03-24 14:49:33 · 73 阅读 · 0 评论 -
java gc 信息说明
在运行java时添加输出gc信息如下: 2246.940: [GC 2246.940: [DefNew: 105861K->1270K(118016K), 0.0074023 secs] 235056K->130464K(511232K), 0.0076789 secs] [Times: user=0.01 sys=0.00, real=0.02 secs] 2254.70...2011-05-18 22:28:09 · 144 阅读 · 0 评论 -
页面iframe嵌入其它域页面cookie失效问题
遇到统一认证(集中认证),A平台很有可能需要在现有页面上嵌入其它平台的登录页面,由于需要单点,负责集中认证的B平台会写cookie,在ie7,ie6访问时,A平台嵌入的B平台页面,有可能会出现cookie失效(读不到)的情况,查询资料得到解决方案如下: response.addHeader("P3P","CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD I...原创 2010-08-31 17:14:33 · 2432 阅读 · 0 评论 -
Apache FTPClient storeFile 僵死 上传文件大小为 0
RT,使用FTPClient做FTP上传,由quartz来定时运行(2分钟一次),之前在生产环境调试没问题,一些时间后现场反馈不能上传了,当出现10个扫描文件的日志后就不再出现了(扫描文件日志为每次运行任务前先扫描指定目录并输出需要上传的文件件数 ),后来发现因为quartz在这种配置下,默认同任务线程池最多只启动10个线程,由此可见是因为之前的任务并没有运行结束,按照正常,这个任务完全可以在1,...原创 2010-08-19 09:46:26 · 642 阅读 · 1 评论 -
Couldn't find a matching Java operation for WSDD operation "methodName"
原有webservice因需求变更,需要屏蔽其中一个接口。webservice使用axis1来发布管理,将wsdd中的allowMethods设置为只允许指定的方法,但访问时一直报错:Couldn't find a matching Java operation for WSDD operation "methodName"。网上没能找到有用的资料,网上说的都是方法名不能首字母大写,有点常识的...2010-05-18 10:06:38 · 1258 阅读 · 0 评论 -
struts2 <s:select>标签错误
html代码: <s:select list="appInfoList" theme="simple" name="appDeviceNo" id="appInfoSelect" listKey="appDeviceNo" listValue="appName" headerValue="请选择设备" headerKey="-1"原创 2010-01-15 11:37:18 · 131 阅读 · 0 评论 -
eclipse 控制台输出乱码
这种情况并不是所有的输出都是乱码,像我配置了一个tomcat5 一个6,tomcat5上放的工程原来是GBK编码,后来不小心把eclipse所有编码都改为了utf-8,导致看不到tomcat5上这个工程启动时输出的日志中文就是乱码,找遍了解决方法都没成功,后来发现如下方法(如图中蓝色标记,改下编码就行了,具体是哪种编码需要你自己都试一下,一般不是utf-8就是gbk): ...原创 2010-01-12 14:48:14 · 163 阅读 · 0 评论