`
文章列表
第六条:消除过期的对象引用 1, 如果一个栈先是增长,然后再收缩,那么在栈中弹出来的对象将不会被当做垃圾回收,即使使用栈的程序不再引用这些对象,它们也不会被回收,因为,在栈的内部保存了对象的过期引用(obsolete reference),过期引用指的就是永远不会再被解除的引用。 2, 在stack中解决过期引用的方法就是在把对象推出栈的时候,设置栈为null。 3, 自行管理内存的类都有可能出现内存溢出问题。 4,
第五条:避免创建不必要的对象 1, 有个一典型的例子 String s=new String(“a”); 这个语句每次都都创建一个新的string实例。但是这没有必要。你可以这么写。 String s=”a”; 这样就避免了创建一个新的string实例。 2, 对于同时 ...
第四条:通过私有构造器强化不可实例化的能力 1, 对于一个全是静态方法和静态域的类来说,这个类可以是一个工具类。那么工具类是不希望被实例化的,实例化对他么有任何意义。然后我们如果不提供构造器,jvm会自己提供,那还是会被实例化,那么我们只要在类中提供一个私有的构造器就可以了。 2, 企图通过将类做成抽象类来强制该类不可被实例化,这个是行不通的。该类可以被子类实例化。 3, 在提供私有构造器的同时,希望做出注释说明,不强求是否throw new AssertionError(); 4,
第三条:使用私有构造器或者枚举类型强化Singleton属性 1, Singleton指的是只能被实例化一次的类。 2, 实现Singleton有3中方法,分别是: A public class Elvis{ public static final Elvis INSTANCE=new Elvis(); private Elivs(){…} public void othermethod(){…} } B public class Elvis{ public static final Elvi ...
1, 对于一个类具有很多可选参数时,我们考虑使用:a,重叠构造器(telescoping constructor),b,JavaBean模式。C,构建器即Builder模式 2, 重叠构造器模式下,第一个只有必要参数的构造器,第二个构造器有一个可选参数,第三个构造器有两个,以此类推。 3, Javabean模式提供了set方法来设置值。但是其有可能出于不一致状态,所以我们必须保证其线程安全。
以下代表书中的见解和我个人的摘录,如有问题请指出 1, 在构建一个类的实例时,我们有2个方法,一个是提供构造器,而另一个就是提供静态工厂方法(static factory method)。 2, 静态工厂方法与构造器不同的第一大优势在于,他们有名称。 3, 静态工厂方法与构造器不同的第二大优势在于,不必在每次调用它们的时候都创建一个新的对象。静态工厂方法能够为重复的调用返回相同的对象,这样有助于类总能严格控制某个时刻哪些实例应该存在,这种类被称做实力受控的类(instance-controlled),实例受控使得类可以确保它是一个
1.这里用的是struts2+spring2+hibernate3.1。用到user表 2.请确定jar包不要重复。 3.用到了struts2的validation框架。spring的配置文件applicationContext.xml,如果启动fwq发现无法加载此配置,请放置到WEB-INF下。hibernate通过映射关联表格,和字段。如果出现不能为空的错误,请在user.hbm.xml中检查字段属性和配置属性有否冲突。比如: 查看复制到剪切板打印 <propertyname="registime"type="timestamp ...
如果action通过dao得到数据并放置在了request中,那么如何在jsp中通过struts标签来获得值,并输入呢。 1,request.setAttribute("stus",stus);放置了内容到request中的stus内 2,在jsp页面的调用,并获得值怎么做呢? 查看复制到剪切板打印 <logic:iterateid="stu"name="stus"> <tr> <td><bean:writename="stu"proper ...
关于struts如何实现跨页面的表单参数的传递呢? 1,我们需要和配置文件结合起来看下: 查看复制到剪切板打印 <struts-config> <form-beans> <form-beanname="loginForm"type="prj8_1.form.LoginForm"/> <form-beanname="reg1Form"type=
原本一个action对应一个exctue方法做业务处理,那么是不是很浪费呢?怎么让一个action可以包含多个处理方法呢? 1,继承(a)DispatchAction,(b)MappingDispatchAction,(c)LookupDispatchAction 2,分别适用于什么情况,a,b都可以通过在form的action和link等传递一个参数过去,让struts框架得知需要调用action中哪个方法,但是a的耦合性没有b的好。 3,a的配置文件 查看复制到剪切板打印 <action attribute="buyForm" ...
为了力求封装,我们把数据库中的数据取出放在list中。然后返回list,再在另一个页面读取list中的值。 public static List executeQuery(String sql) throws Exception   {   List list = new ArrayList();   Connection conn = null;   Statement stmt = null;   ResultSet rs = null;   try   {   conn = o ...
A,DrvierManager.registerDriver是用来注册数据库驱动,Class.ForName也可以用来注册数据库驱动 B,Connection 是获得数据库的连接 C,Statment 是获得执行语句 D,ResultSet 是获得执行后的记录 建立数据库的顺序就是A-B-C-D package oams.database; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; ...
jsp页面 <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"& ...
#include<iostream.h>#include<string.h>#define N 3class stud{int number;char name[10];int cscore,mscore,escore;static int csum;static int msum;static int esum;static int numbersum;public:void setdata(int n,char na[],int c,int m,int e){number=n;cscore=c;mscore=m;escore=e;strcpy(name,na);csu ...

冒泡法排序

    博客分类:
  • C#
/*冒泡法排序*/ #include<iostream.h>void main(){int i,j,t;int a[10];for(i=0;i<=10;i++){cin>>a[i]; cout<<"the"<<i<<"is"<<a[i]<<endl; }cout<<endl;for(j=0;j<9;j++) for(i=0;i<=10-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;} ...
Global site tag (gtag.js) - Google Analytics