当你修改别人代码觉得很痛苦时,觉得晦涩难懂是,觉得设计混乱时,当你发现自己写的代码自己都理不清思路时,这个时候你就应该毫不犹豫地对待吗进行重构了!
不过很多项目经理,都是进度驱动,还没有达到质量驱动的高度。所以,当我们面对进度的催促时,我们还有时间重构吗?肯定会有一些程序员认为重构这个时候是栏肺时间,其实不然,重构是保证进度的最快的方式,所以你就大胆地去做吧!
首先我们先弄清楚复用和重复的区别。刚工作的时候,如果遇到一个和自己以前做过的项目很相似的任务时,就会把这个工程copy了一份,在此基础上修改。这个就叫做重复。再举个例子,若两个函数(方法)用到同一段代码,如果你将一段代码拷贝到另一个 ...
昨天公司培训中提到了FindBug这个工具,觉得还挺强大的,不但能找出语法错误,还能找出一些逻辑错误。
先看下面这两个地方,看看有什么不妥之处:
String str="I love you";
str.replace("love","hate");
if(str.equals("I hate you"))
System.out.println(str);
try{
String sql;
StateMent stat=conn.createStatement();
ResultSet rs=stat.executeQuery(sql); ...
在系统自动退出这篇文章中,遇到了声音上报频繁的时候,系统会毫无症状自动退出的情况。大概是因为AudioClip发声的时候,声音混合时会引起异常,以致JVM不能处理这个异常导致系统退出。下面大概讲讲java的发声实现。
一、AudioClip
AudioClip 接口是用于播放音频剪辑的简单抽象。多个 AudioClip 项能够同时播放,得到的声音混合在一起可产生合成声音。void play()开始播放此音频剪辑。每次调用此方法时,剪辑都从头开始重新播放。缺点就是声音混合时,系统会异常退出,优点是实现了循环播放功能。代码示例:
import java.applet.*;
public clas ...
在上篇blog《WEB-IM的构建》中提到关于apache+tomcat+mod_jk整合,下面简单介绍一下。apache和tomcat都是Web服务器,我使用的是Apache2.2和tomcat 6.0,而mod_jk是整合Apache+Tomcat的plus,具体步骤如下:
1、安装apache、jdk和tomcat;
2、复制mod_jk.so文件到Apache2.2\modules目录;
3、在Apache2.2\conf目录下创建workers.properties文件,用于配置tomcat的信息。
文件如下:
#
# workers.properties
#
# ...
在基于WEB的IM一文中,我简单说了下web im的构想,现在介绍一下web im的搭建。简单介绍一下:openfire是一款基于XMPP协议的一款即时通信开源的服务器端软件,XMPP协议也是容纳各种协议的一种通信协议,总之 ,XMPP协议可说是一种“开放式协议”,允许客户端使用各种通信协议连接到 openfire (服务器端),所以,使用基于XMPP协议的openfire允许客户使用基于各种协议的客户端进行通信。而JWChat是一个功能强大,基于Web的Jabber™客户端。采用AJAX技术开发,这个客户端只用到了JavaScript与HTML。它具备基本 ...
最近,遇到一个很奇怪的问题
我的byte[]数组byte1从一个接口传来的数据:-2,0,0,79,.......
我将字节转为String
String strResult = new String(byte1,0,2);
得到的strResult却不是-2
后来在网上查了一下,原来是这样的:
String 的 getbyte 方法如果没指定 encoding
是用系统默认的。
如果你是在中文系统下,就是 GBK。
这时虚拟机就将那些 bytes 看成是字符的 GBK 表示,
要寻找这些字对应的 UNICODE。。
GBK 是 DBMS 编码,
也就是,小于 0x80 的,这个 byte 就 ...
1. 环境说明
我们单位的项目所用的IDE统一是JBuilder2006,以前没有接触过Eclipse,这里简单介绍一下安装Eclipse和安装MyEclipse组件的过程。Eclipse 是个绿色软件,不用安装,解压后进入 eclipse 目录双击 eclipse.exe 就可以使用,当然前提是已正确安装了 JDK,否则无法运行, 推荐 JDK 5.0 及其以上。接下来就是汉化,将 NLpack1-eclipse-SDK-3.2.1-win32.zip 解压到 language 目录下,注意目录结构,language 中应有子目录 eclipse,进入 eclipse 子目录后才会看到 ...
1、准备环境:TOMCAT6.0、JDK1.5、jforum2.1.7、mysql.5.0
2、下载jforum,可以到http://www.trydone.com/posts/list/196.page上下载。下载后讲war文件部署在tomcat/webapps下
3、启动mysql服务mysqld-nt.exe。可能会出现启动错误,把c:\windows\my.ini删除即可
4、在mysql中建数据库jforum:create database jforum character set utf8,执行jforum\WEB-INF\config\database\mysql下的mys ...
由于java程序是“write once, run everywhere”,用java读写注册表,那程序的跨平台性就差了。java对注册表的操作,在jdk1.4以前的版本中,那是不可能的,只能用JNI来实现;然而jdk1.4之后提供的prefs包可以操作windows注册表,不过定死了root只在SOFTWARE/JavaSoft/prefs下,估计也是出于这种两难吧,又要保证所谓平台无关,还要照顾大家对windows的依赖。下面将从两方面来介绍对注册表的操作。一、 使用JDK提供的Preferences类 首先得到Preferences的一个对象, ...







评论排行榜