- 博客(23)
- 资源 (4)
- 收藏
- 关注
原创 如何提高代码的质量
废话在前:只有总结,才能进步。近日有人问起,“你认为如何能提高代码的质量”,虽然都说出来了,但缺乏条理,特总结于此。首先,应明确什么样的代码算是质量高的。然后才能知道如何去做。我觉得,高质量的代码无非下面几点:1.可读性。2.可维护性。代码的可读性同样有助于代码的可维护性。有时候在一个项目里,你修改的代码未必是自己写的,如果代码写的可读性很差,那将是非常痛苦的。一、可读性1.包名、类名、成员变量名、方法名、局部变量名等的命名应仔细斟酌。尽量做到读一段代码,就像是读一句话一样,在阅读的过程中就能理解其中的逻
2010-08-31 10:00:00
1145
原创 String类substring方法导致的Java内存泄漏问题
此问题在项目中被发现,经查看JDK源码(JDK1.6),String类的public String substring(int beginIndex, int endIndex)的实现让我很意外。想重现这个场景很容易,请看代码。 import java.util.ArrayList;import java.util.List;public class LeakTest { public static void main(String...args) { List ha
2010-08-27 16:27:00
5428
1
原创 POI3.6 生成Excel2007 效率低的解决办法
<br />最近项目中要将较大数据生成Excel2003或Excel2007文件。<br />由于POI很好的采用了面向接口编程的思想,所以其实生成Excel2003和生成Excel2007的代码多数是可以复用的。<br /> <br />我的做法是:<br />1.定义Excel2003FileCreator,用来生成Excel2003文件<br />2.定义Excel2007FileCreator,用来生成Excel2007文件,Excel2007FileCreator extends Excel200
2010-08-13 12:53:00
6586
3
原创 iBatis/MyBatis 主子表关联查询
主表:MASTER字段:ORDER_ID --主键 RELATE_ID --申请单位 STOCK_ADDRESS --仓库地址 TERMINAL_VENDER --供应商 PROVINCE_ID --省分ID STATE --状态子表:DETAIL字段:ORDER_ID --与主表ORDER_ID关联 PROPERTY_CODE --属性编码 SALE_PRICE --价格
2010-08-11 12:00:00
20799
1
原创 博文上CSDN首页了,呵呵!
昨晚听同事说,我写的博文上了CSDN的首页了。虽然是个不起眼的地方,但还是小高兴一下,呵呵。截个图,留个纪念! 哎,不过最近忙,专家分好久没得了,闷哦~
2009-02-18 08:59:00
1615
6
原创 Swing 线程之SwingUtilities.invokeLater()
现在我们要做一个简单的界面。包括一个进度条、一个输入框、开始和停止按钮。需要实现的功能是:当点击开始按钮,则更新进度条,并且在输入框内把完成的百分比输出(这里只做例子,没有真正去做某个工作)。 代码1:import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.eve
2009-02-16 11:20:00
37450
38
原创 try-catch-finally的用法之finally
关于try-catch-finally的用法我就不多说了。网上搜一下,资料很多。这里我想主要讨论下在finally块加入return语句,屏蔽异常的问题。我们先来看这样一段代码,代码1:public class FinallyTest { public static void main(String[] args) { new FinallyTest().pri
2009-02-13 10:11:00
17909
11
原创 浅析 Java Thread.join()
一、在研究join的用法之前,先明确两件事情。1.join方法定义在Thread类中,则调用者必须是一个线程,例如:Thread t = new CustomThread();//这里一般是自定义的线程类t.start();//线程起动t.join();//此处会抛出InterruptedException异常 2.上面的两行代码也是在一个线程里面执行的。
2009-02-12 13:34:00
74933
21
原创 java实现数据库连接池
连接池管理类 import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.util.Vector;import com.mysql.jdbc.Driver;/** * ConnectionManager * * 数据库连接
2009-02-03 13:31:00
2133
原创 继承JButton,做一个圆形的按钮。
继承JButton,做一个圆形的按钮。这是一个例子,根据这个,我们还可以描画出很多特别的UI。 /** * @author bzwm * */import java.awt.Color;import java.awt.Cursor;import java.awt.Dimension;import java.awt.FlowLayout;import j
2009-02-02 12:55:00
7662
2
原创 java 读取 property 属性文件的代码
import java.io.FileInputStream;import java.util.Properties;public class LoadPropertiesTest { private Properties prop = null; LoadPropertiesTest() { prop = new Properties();
2009-02-02 12:54:00
1857
原创 浅析java内存泄露问题
最近一段时间,在公司里对java内存泄露的问题进行了调查。问题的发现:系统中在连续不停地、反复进行一个操作(先打开A,然后切替到画面B,点击画面履历再回到A,如此反复)。经过长时间的测试,经常会20小时,JVM的内存使用量增长30M以上。 问题的分析:首先根据操作,找到会执行的代码,对代码进行分析。Java会产生内存泄露的原因,经过本次调查,1. 对于
2009-02-02 11:11:00
2598
1
原创 春节盐城四日游!
这已经是第二个春节没有回家过了,眼看着一起的同事都回家了,整个房子里只有自己一个人,虽然可以独自享受4M宽带,但还是多多少少有那么一些冷清。 1月23日,来上班的稀疏的那几个人,零散的分布在公司的角落,一股“浓浓的年味”,把所有的“工作热情”一冲而散。于是我便跟大同学阿朱聊了起来,他在南京,明天票回盐城老家过年,我随口说了一句,要到他家过年,结果聊着聊着,当天就把票订了,
2009-01-27 21:23:00
5210
原创 做Swing桌面程序,该怎样将组件与业务逻辑分离?
做Swing桌面程序,该怎样将组件与业务逻辑分离?这是一个问题。因为没有深入学习过这方面的知识,所以自己也没有想过如何能实现这种分离。 今天有个朋友用Swing做了一个小的桌面程序,是一个简单的管理系统。代码很复杂,主要是写的很复杂,没有逻辑和层次感,到处是组件,到处是判断,每追加一个功能,代码就要翻来翻去找很久。 于是今天晚上自己闲来无事,简单的写了一些代码,
2009-01-22 23:14:00
3263
4
原创 08年底 Sybase的一套笔试题(java版)
其实这博客是转论坛上的,原帖:http://topic.csdn.net/u/20090113/17/5abc9a50-64dd-4277-af73-e8d2b762a469.html 我贴过来,自己做一下。 题目1: One team tries to buy several bottle of drinks for 27 athletes. In ABC store
2009-01-13 22:35:00
1555
原创 用Java设计一个程序,找到一个字符串中对称字符串的个数【面试题】
题目要求:用Java设计一个程序,实现一个字符串的对称个数,如字符串"effeghg",有"ff","effe","ghg"这三个对称字符,所以返回3. 我实现的思路就是遍历这个字符串,先选定头位置为第一个字符,然后从最后向前遍历这个字符串,头尾两个字符相同,则取中间字符串,进行递归。递归结束后得到结果,继续将头向后推1位,然后再从字符串最后向前遍历,如此循环,当
2008-12-22 00:12:00
4359
1
原创 利用Calendar输出指定年份的全年日历
/** * @author bzwm * */import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Calendar;import java.util.GregorianCalendar;public class CalendarTes
2008-12-01 11:07:00
2997
转载 java编译执行与jvm介绍
Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。本文首先简要介绍从Java文件的编译到最终执行的过程,随后对JVM规格描述作一说明。 一.Java源文件的编译、下载、解释和执行 Java应用程序的开发周期包括编译、下载、解释和执行几个部分。Java编译程序将Jav
2008-11-27 15:31:00
899
原创 续上一篇文章,用栈来实现:按照用户输入的rule,经过并、交、差运算后,输出字符串结果。
废话不说了,文件:A{1,2,3,4,5,6}B{7,4,5,6,8}C{2,3,12,14,4,11} 测试时输入到控制台的字符串为:C+B-(A*(C-A))+B 结果:2 3 12 14 4 11 7 8 1 5 6 自己算了一下,是正确的! 代码如下,注释也写的蛮多的:/** * 从事先写好的Input.txt文件中读取数,
2008-11-26 20:36:00
881
原创 一道笔试题:按照用户输入的rule,经过并、交、差运算后,输出字符串结果。
今天在CSDN看到一个笔试题,觉得蛮有意思的,题目如下:从事先写好的Input.txt文件中读取数, Input.txt 内容 A{13,2,1,20,30,50} B{1,2,34,5,6} C{2,3,12,23,14,11} 用户在键盘随意敲入...例如((A*B))+B-C,((C+B)*A)-B期中+,*,-,分别代表集合的并交差运算,控制台打印输出。 开始的时候打算用栈
2008-11-25 00:42:00
1167
转载 jdk与jre的区别
简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。 JDK就是Java Development KitJRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。如果安装了JDK,会发现你的电脑有
2008-11-24 20:49:00
619
转载 java内存分配
在网上收集了一些关于java内存分配的知识Java 中的堆和栈简单的说:Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。
2008-11-24 16:43:00
981
1
原创 java socket/swing聊天系统
上个周五的下午,在公司闲来无事,写了个小程序玩玩,稍微测试了一下,居然能用!但由于代码量较少,也谈不上什么设计,发上来算是个备忘吧:服务器端程序:package com.test.talk;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt
2008-11-24 11:58:00
3728
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人