JAVA编程中常见的一些低级错误
JAVA与C++的一个很大区别就是JAVA不需要程序员去分配,释放内存。这在很大程度上减少了程序员的工作量,但或许正因为这个原因我们经常看到一些编程错误。
例1:
从数据库查询出结果list,然后做循环处理。
从数据库查询出结果list方法代码片段如下:
List getResultList() {
List resultLst = new ArrayList();
while (rs.next()) {
resultLst.add(结果);
}
return resultLst;
}
针对取得的结果做循环处理片段:
List resultLst = new ArrayList(); //问题1
resultLst = getResultList();
if (resultLst != null && resultLst .size() > 0) { //问题2
for (int i = 0; i < resultLst .size(); i++) {
//具体处理
···
}
}
问题1这个地方先new了一个list,然后又调用了函数。这样做就是第一次的那个new的
相关文档:
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
尽管云计算这一术语并不新鲜(Amazon在2006年就开始提供它的云服务),但从2008年起它才开始真正成为流行词,这期间,Google和
Amazon的云服务逐渐获得了公众的关注。 Google的App Engine使用户能够在Google基础设施上构建和托管 Web 应用程序。
连同S3,AmazonWeb Services还包括Elastic Cloud Compute
(EC2) ......
quartz是干啥的? 任务调度用的
任务调度是干啥的?就是在预定的时间做预定的事
1.在quart网站下最新的JAR包
2.建个项目,把quartz的JAR包加入到项目
3.新建一个任务
public class MyJob implements org.quartz.Job {
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionExceptio ......
下载地址:
http://www.andykhan.com/jexcelapi/ 当前的最高版本是2.6。
真实下载地址:
http://www.andykhan.com/jexcelapi/download.html
作者的网站上对它的特征有如下描述:
● 支持Excel 95-2000的所有版本
● 生成Excel 2000标准格式
● 支持字体、数字 ......
反射、Proxy和元数据是Java最强的三个特征,再加上CGLib (Code Generation Library)
和ASM,使得Java虽然没有Ruby,Python般后生可畏,一样能做出强悍的框架。
Proxy
可以看作是微型的AOP,明白提供了在继承和委托之外的第三个代码封装途径,只要有足够的想象力,可 ......