Effective java 代码优化实例
package chape7;
/**
* 檢查參數的有效性
* 當編寫方法或者構造器時,應該考慮他的參數有什麽限制 應該吧這些限制寫在文檔中,並且在這個方法的開頭處,通過顯示的檢查
* 來實施這些限制。養成這樣的習慣很重要
* 當判斷一個數據的合法性的時候就要拋出異常。 這裡就涉及到異常 第九章 60條:優先使用標準的異常 就是java自帶的異常
* 這也是一種類的重用的表現;
* 常用的异常:
* IllegalArgumentException 非null的参数数值不正确;传入的参数不合法;
* IllegalStateException 对于方法调用而言,对象状态不合法比如摸个对象在被正确的初始化之前就调用 会抛出这个异常
* NullPointerException 空指针异常 在禁止null的情况下使用了null值;
* IndexOutOfBoundsException 下标参数越界
* ConcurrentModificationException 当方法检测到对象的并发修改,但不允许这种修改时,抛出此异常。
* UnsupportedOperationException 当不支持请求的操作时,抛出该异常
* @author lee
*
*/
public class Chape38 {
/**
* @param args
*/
public static void main(String[] args) {
Nuter nu = new Nuter.Builder (200,2).fat(-1).sodium(20).build();
}
}
class Nuter
{
private final int size;
private final int sering;
private final int fat;
private final int sodium;
public static class Builder
{
//这两个参数时必须的参数
private final int size;
private final int sering;
//下面是可选的参数 设置了默认值
private int fat = 0;
private int sodium = 0;
public Builder (int size ,int sering)
{
this.sering = sering;
this.size = size;
}
public Builder fat (int val)
{
/**
* 断言的使用
* 在這裡判
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
Java NIO API详解
在JDK
1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方
便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO
API作为一个基于缓冲区,并能提供非阻塞(non-blo ......
首先确定用的Servlet / JSP的版本。
查看web.xml的开头部分,如果有以下内容,表示是Servlet 2.4 / JSP 2.0。
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.s ......
3.package com.ncs.opts.tools;
import java.util.HashMap;
import java.util.Map;
import com.ncs.opts.common.icp.dao.po.audit.IcpMainHistory;
import com.ncs.opts.common.icp.dao.po.audit.IcpModifyHistory;
import com.ncs.opts.common.icp.dao.po.audit.IcpSiteAccessHistory;
import com.ncs.opts.common.i ......
设计一个Circle类,其属性为原点(类型为类MyPoint)和半径,并为此类编写以下三个方法:
一、计算圆的面积的calArea()方法;
二、计算周长的calLength()方法;
三、boolean inCircle(MyPoint mp)方法,功能是测试作为参数的某个点是否在当前对象圆内(圆内,包括圆上返回true,在圆外返回false)。
程序:
clas ......