??xml version="1.0" encoding="utf-8" standalone="yes"?>蜜桃999成人看片在线观看,97精品视频,国产精品一区二区久久国产http://www.aygfsteel.com/hefang/category/45424.htmlzh-cnFri, 25 Jun 2010 09:57:41 GMTFri, 25 Jun 2010 09:57:41 GMT60eclipse.ini内存讄(?http://www.aygfsteel.com/hefang/articles/324489.html何方何方Fri, 25 Jun 2010 09:55:00 GMThttp://www.aygfsteel.com/hefang/articles/324489.htmlhttp://www.aygfsteel.com/hefang/comments/324489.htmlhttp://www.aygfsteel.com/hefang/articles/324489.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324489.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324489.html 

-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
q里有几个问题:
1.
各个参数的含义什么?
2.
Z么有的机器我?/span>-Xmx?/span>-XX:MaxPermSize都设|ؓ512M之后Eclipse可以启动Q而有些机器无法启动?
3.
Z上面的参数写入?/span>eclipse.ini文gEclipse没有执行对应的设|?

下面我们一一q行回答

1.
各个参数的含义什么?

参数?/span>-vmargs的意思是讄JVM参数Q所以后面的其实都是JVM的参CQ我们首先了解一?/span>JVM内存理的机Ӟ然后再解释每个参C表的含义?/span>

?/span>(Heap)和非?/span>(Non-heap)内存
按照官方的说法:“Java 虚拟机具有一个堆Q堆是运行时数据区域Q所有类实例和数l的内存均从此处分配。堆是在 Java 虚拟机启动时创徏的?/span>”“?/span>JVM中堆之外的内存称为非堆内?/span>(Non-heap memory)”。可以看?/span>JVM主要理两种cd的内存:堆和非堆。简单来说堆是Java代码可及的内存,是留l开发h员用的Q非堆就?/span>JVM留给自己用的Q所以方法区?/span>JVM内部处理或优化所需的内?/span>(?/span>JIT~译后的代码~存)、每个类l构(如运行时常数池、字D和Ҏ数据)以及Ҏ和构造方法的代码都在非堆内存中?/span>
堆内存分?/span>
JVM
初始分配的内存由-Xms指定Q默认是物理内存?/span>1/64Q?/span>JVM最大分配的内存?/span>-Xmx指定Q默认是物理内存?/span>1/4。默认空余堆内存于40%ӞJVM׃增大堆直?/span>-Xmx的最大限ӞIZ堆内存大?/span>70%ӞJVM会减堆直到-Xms的最限制。因此服务器一般设|?/span>-Xms?/span>-Xmx相等以避免在每次GC 后调整堆的大?/span>
非堆内存分配
JVM
使用-XX:PermSize讄非堆内存初始|默认是物理内存的1/64Q由XX:MaxPermSize讄最大非堆内存的大小Q默认是物理内存?/span>1/4?/span>
JVM
内存限制(最大?/span>)
首先JVM内存限制于实际的最大物理内?/span>(废话Q呵?/span>)Q假讄理内存无限大的话Q?/span>JVM内存的最大D操作pȝ有很大的关系。简单的说就32位处理器虽然可控内存I间?/span>4GB,但是具体的操作系l会l一个限Ӟq个限制一般是2GB-3GBQ一般来?/span>Windowspȝ下ؓ1.5G-2GQ?/span>Linuxpȝ下ؓ2G-3GQ,?/span>64bit以上的处理器׃会有限制了?/span>
2.
Z么有的机器我?/span>-Xmx?/span>-XX:MaxPermSize都设|ؓ512M之后Eclipse可以启动Q而有些机器无法启动?

通过上面?/span>JVM内存理的介l我们已l了解到JVM内存包含两种Q堆内存和非堆内存,另外JVM最大内存首先取决于实际的物理内存和操作pȝ。所以说讄VM参数DE序无法启动主要有以下几U原因:

1)
参数?/span>-Xms的值大?/span>-XmxQ或?/span>-XX:PermSize的值大?/span>-XX:MaxPermSizeQ?/span>

2) -Xmx
的值和-XX:MaxPermSize的d过?/span>JVM内存的最大限Ӟ比如当前操作pȝ最大内存限Ӟ或者实际的物理内存{等。说到实际物理内存这里需要说明一点的是,如果你的内存?/span>1024MBQ但实际pȝ中用到的q不可能?/span>1024MBQ因为有一部分被硬件占用了?/span>

3.
Z上面的参数写入?/span>eclipse.ini文gEclipse没有执行对应的设|?

那ؓ什么同L参数在快h式或者命令行中有效而在eclipse.ini文g中是无效的呢Q这是因为我们没有遵?/span>eclipse.ini文g的设|规则:

参数形如?/span>?/span>q种形式Q中间有I格的需要换行书写,如果g有空格的需要用双引号包括v来。比如我们?/span>-vm C:\Java\jre1.6.0\bin\javaw.exe参数讄虚拟机,?/span>eclipse.ini文g中要写成q样Q?/span>

-vm
C:\Java\jre1.6.0\bin\javaw.exe
按照上面所说的Q最后参数在eclipse.ini中可以写成这个样子:

-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
实际q行的结果可以通过Eclipse?/span>“Help”-“About Eclipse SDK”H口里面?/span>“Configuration Details”按钮q行查看?/span>

另外需要说明的是,Eclipse压羃包中自带?/span>eclipse.ini文g内容是这LQ?/span>

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx256m
其中–launcher.XXMaxPermSizeQ注意最前面是两个连接线Q跟-XX:MaxPermSize参数的含义基本是一LQ我觉得唯一的区别就是前者是eclipse.exe启动的时候设|的参数Q而后者是eclipse所使用?/span>JVM中的参数。其实二者设|一个就可以了,所以这里可以把–launcher.XXMaxPermSize和下一行?/span>#注释掉?/span>
3. 其他的启动参数?/span>如果你有一个双核的CPUQ也许可以尝试这个参?/span>:
-XX:+UseParallelGC
?/span>GC可以更快的执行。(只是JDK 5里对GC新增加的参数Q?/span>


何方 2010-06-25 17:55 发表评论
]]>
Datecȝ学习ȝ(?http://www.aygfsteel.com/hefang/articles/324484.html何方何方Fri, 25 Jun 2010 09:51:00 GMThttp://www.aygfsteel.com/hefang/articles/324484.htmlhttp://www.aygfsteel.com/hefang/comments/324484.htmlhttp://www.aygfsteel.com/hefang/articles/324484.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324484.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324484.html1.计算某一月䆾的最大天?br /> Calendar time=Calendar.getInstance();
time.clear();
time.set(Calendar.YEAR,year); //year ?int
time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月ؓ0         
int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数
注:在用setҎ之前Q必dclear一下,否则很多信息会承自pȝ当前旉
2.Calendar和Date的{?br /> (1) Calendar转化为Date
Calendar cal=Calendar.getInstance();
Date date=cal.getTime();
(2) Date转化为Calendar
Date date=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(date);
3.把字W串转化为java.util.Date
Ҏ一Q?br /> SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
java.util.Date dt=sdf.parse("2005-2-19");
System.out.print(sdf.format(dt));    //输出l果是:2005-2-19
Ҏ二:
java.util.Date dt=null;
DateFormat df=DateFormat.getDateInstance();
dt=df.parse("2005-12-19");
System.out.println(dt);              //输出l果为:Mon Dec 19 00:00:00 CST 2005
System.out.println(df.format(dt)); //输出l果为:2005-2-19
4.把字W串转化为java.sql.Date
字符串必L"yyyy-mm-dd"格式Q否则会抛出IllegalArgumentException异常
java.sql.Date sdt=java.sql.Date.valueOf("2005-9-6");
System.out.println(sdt);          //输出l果为:2005-9-6

5.格式化输出日期时?Q这个用的比较多Q?br /> Date date=new Date();
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String time=df.format(date);
System.out.println(time);
需要注意的一点:SimpleDateFormatcL式化一个字W串Ӟ可根据需要调?format() ?parse() 函数Q只不过format()q回StringcdQparse()q回java.util.Datecd
6.计算一q中的第几星?br /> (1)计算某一天是一q中的第几星?br /> Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.MONTH, 8);
cal.set(Calendar.DAY_OF_MONTH, 3);
int weekno=cal.get(Calendar.WEEK_OF_YEAR);
(2)计算一q中的第几星期是几号
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.WEEK_OF_YEAR, 1);
cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);
System.out.println(df.format(cal.getTime()));
输出:
2006-01-02
7.add()和roll()的用?不太常用)
(1)add()Ҏ
SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar cal=Calendar.getInstance();
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.MONTH, 8);
cal.set(Calendar.DAY_OF_MONTH, 3);
cal.add(Calendar.DATE, -4);
Date date=cal.getTime();
System.out.println(df.format(date));
cal.add(Calendar.DATE, 4);
date=cal.getTime();
System.out.println(df.format(date));
输出Q?br />     2006-08-30
    2006-09-03
(2)rollҎ
cal.set(Calendar.YEAR, 2006);
cal.set(Calendar.MONTH, 8);
cal.set(Calendar.DAY_OF_MONTH, 3);
cal.roll(Calendar.DATE, -4);
date=cal.getTime();
System.out.println(df.format(date));
cal.roll(Calendar.DATE, 4);
date=cal.getTime();
System.out.println(df.format(date));
输出Q?br />     2006-09-29
    2006-09-03
可见Qroll()Ҏ在本月内循环Q一般用add()ҎQ?br /> 8.计算两个L旉中间的间隔天敎ͼq个比较常用Q?br /> (1)传进Calendar对象
    public int getIntervalDays(Calendar startday,Calendar endday){     
        if(startday.after(endday)){
            Calendar cal=startday;
            startday=endday;
            endday=cal;
        }  
        long sl=startday.getTimeInMillis();
        long el=endday.getTimeInMillis();
     
        long ei=el-sl;         
        return (int)(ei/(1000*60*60*24));
    }
(2)传进Date对象
    public int getIntervalDays(Date startday,Date endday){      
        if(startday.after(endday)){
            Date cal=startday;
            startday=endday;
            endday=cal;
        }      
        long sl=startday.getTime();
        long el=endday.getTime();     
        long ei=el-sl;         
        return (int)(ei/(1000*60*60*24));
    }
(3)改进_计算盔R天数的方?br />     public int getDaysBetween (Calendar d1, Calendar d2){
        if (d1.after(d2)){
            java.util.Calendar swap = d1;
            d1 = d2;
            d2 = swap;
        }
        int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
        int y2 = d2.get(Calendar.YEAR);
        if (d1.get(Calendar.YEAR) != y2){
            d1 = (Calendar) d1.clone();
            do{
                days += d1.getActualMaximum(Calendar.DAY_F_YEAR);//得到当年的实际天?br />                 d1.add(Calendar.YEAR, 1);
            } while (d1.get(Calendar.YEAR) != y2);
        }
        return days;
    }
注意Q通过上面的方法可以衍生出求Q何时_如要查出邮箱三周之内收到的邮Ӟ得到当前pȝ旉Q再得到三周前时_用收件的旉d?最好装化成 longL?br /> 如:1q前日期Q注意毫U的转换Q?br />    java.util.Date myDate=new java.util.Date();
   long myTime=(myDate.getTime()/1000)-60*60*24*365;
   myDate.setTime(myTime*1000);
   String mDate=formatter.format(myDate);
   3周前的日?br />    Calendar cal3 = Calendar.getInstance();
cal3.add(cal3.DATE, -21);//?周前的日?br /> String date = formatter.format(cal3.getTime());
9. String ?Date QLong 之间怺转换 Q最常用Q?br /> 字符串{化成旉cdQ字W串可以是Q意类型,只要和SimpleDateFormat中的格式一致即可)
通常我们取时间跨度的时候,会substring出具体时_QlongQ比?br /> java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("M/dd/yyyy hh:mm:ss a",java.util.Locale.US);
java.util.Date d = sdf.parse("5/13/2003 10:31:37 AM");
long dvalue=d.getTime();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String mDateTime1=formatter.format(d);
10. 通过旉求时?br /> q月周求日期
SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM F E");
java.util.Date date2= formatter2.parse("2003-05 5 星期?);
SimpleDateFormat formatter3 = new SimpleDateFormat("yyyy-MM-dd");
String mydate2=formatter3.format(date2);
求是星期?br /> mydate= myFormatter.parse("2001-1-1");
SimpleDateFormat formatter4 = new SimpleDateFormat("E");
String mydate3=formatter4.format(mydate);
11. java ?具体的数据库l合
在开发web应用中,针对不同的数据库日期cdQ我们需要在我们的程序中Ҏ期类型做各种不同的{换。若对应数据库数据是oracle的DatecdQ即只需要年月日的,可以选择使用java.sql.DatecdQ若对应的是MSsqlserver 数据库的DateTimecdQ即需要年月日时分U的Q选择java.sql.Timestampcd
你可以用dateFormat定义旉日期的格式,转一个字W串卛_
class Datetest{
*method 字W串cd的日期{换ؓ一个timestampQ时间戳记java.sql.TimestampQ?br /> *@paramdateString 需要{换ؓtimestamp的字W串
*@returndataTime timestamp
public final static java.sql.Timestamp string2Time(String dateString)
throws java.text.ParseException {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS", Locale.ENGLISH);//讑֮格式
//dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//utilcd
java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestampcd,timeDate.getTime()q回一个long?br /> return dateTime;
}
*method 字W串cd的日期{换ؓ一个DateQjava.sql.DateQ?br /> *@paramdateString 需要{换ؓDate的字W串
*@returndataTime Date
public final static java.sql.Date string2Date(String dateString)
throws java.lang.Exception {
DateFormat dateFormat;
dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
dateFormat.setLenient(false);
java.util.Date timeDate = dateFormat.parse(dateString);//utilcd
java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sqlcd
return dateTime;
}
public static void main(String[] args){
Date da = new Date();
注意Q这个地方da.getTime()得到的是一个long型的?br /> System.out.println(da.getTime());
由日期date转换为timestamp
W一U方法:使用new Timestamp(long)
Timestamp t = new Timestamp(new Date().getTime());
System.out.println(t);
W二U方法:使用Timestamp(int year,int month,int date,int hour,int minute,int second,int nano)
Timestamp tt = new Timestamp(Calendar.getInstance().get(
      Calendar.YEAR) - 1900, Calendar.getInstance().get(
      Calendar.MONTH), Calendar.getInstance().get(
      Calendar.DATE), Calendar.getInstance().get(
      Calendar.HOUR), Calendar.getInstance().get(
      Calendar.MINUTE), Calendar.getInstance().get(
      Calendar.SECOND), 0);
System.out.println(tt);
try {
String sToDate = "2005-8-18";//用于转换成java.sql.Date的字W串
      String sToTimestamp = "2005-8-18 14:21:12.123";//用于转换成java.sql.Timestamp的字W串
      Date date1 = string2Date(sToDate);
      Timestamp date2 = string2Time(sToTimestamp);
System.out.println("Date:"+date1.toString());//l果昄
System.out.println("Timestamp:"+date2.toString());//l果昄
}catch(Exception e) {
e.printStackTrace();
}
}
}

一、Date的构造函?br /> 1.1构造一个反映当时时间的Date实例
Date
public Date()
构造一个Date对象q对其进行初始化以反映当前时间?br /> 1.2从一个长整型数据构造一个Date实例
Date
public Date(long date)
构造一个Date对象QƈҎ相对于GMT 1970q???0:00:00的毫U数对其q行初始化?br /> 参数Q?br /> date - 相对于GMT 1970q???0:00:00的毫U数?br /> 1.3从年月日时分U构造一个Date实例
Date
public Date(int year,
int month,
int date)
public Date(int year,
int month,
int date,
int hrs,
int min)
public Date(int year,
int month,
int date,
int hrs,
int min,
int sec)
q三个构造函数均不推荐用,在JDK 1.1版中Q分别被Calendar.set(year + 1900, month, date)或GregorianCalendar(year + 1900, month, date)、Calendar.set(year + 1900, month, date, hrs, min)?GregorianCalendar(year + 1900, month, date, hrs, min)、Calendar.set(year + 1900, month, date, hrs, min, sec)或GregorianCalendar(year + 1900, month, date, hrs, min, sec)代替?br />  



何方 2010-06-25 17:51 发表评论
]]>
java导入ExcelCZhttp://www.aygfsteel.com/hefang/articles/324483.html何方何方Fri, 25 Jun 2010 09:49:00 GMThttp://www.aygfsteel.com/hefang/articles/324483.htmlhttp://www.aygfsteel.com/hefang/comments/324483.htmlhttp://www.aygfsteel.com/hefang/articles/324483.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324483.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324483.html生成Excel的类Q?br />  public   static   void  main(String args[])  {
        public void show(){
  try {
           //打开文g
           WritableWorkbook book = Workbook.createWorkbook(new File( "test.xls " ));
           //生成名ؓ“W一?#8221;的工作表Q参?表示q是W一?br />            WritableSheet w0  =  book.createSheet("W一?",0);
           WritableSheet w1  =  book.createSheet("W二?",1);
           WritableSheet w2  =  book.createSheet("W三?",2);
           //在Label对象的构造子中指名单元格位置是第一列第一?0,0)Q以及单元格内容为test
           //W一个参数表C列Q第二个参数表示行,W三个参数表C数?br />            Label label = new Label( 0 ,  0 ,  " test " );
           //定义好的单元格d到工作表?br />            w0.addCell(label);
           //生成一个保存数字的单元?必须使用Number的完整包路径Q否则有语法歧义 单元g|是W二列,W一行,gؓ789.123
           jxl.write.Number number  =   new  jxl.write.Number( 1 ,  0 ,  555.12541 );
           w0.addCell(number);
           //q种方式是以文本字符的Ş式将数值存储到xls文g中的?br />            w1.addCell(new Label(0,0,"12"));
           w1.addCell(new Label(1,0,"21"));
           w1.addCell(new Label(2,0,"123"));
          
           //W二列,W一?=========存储数字必须有Number的实例是
           w1.addCell(new Number(1,0,123));
           //W二列,W五?br />            w2.addCell(new Number(1,4,123));
           //写入数据q关闭文?br />            book.write();
           book.close();
  } catch (Exception e)  {
           System.out.println(e);
       }
      }
    }

dExcel的类Q?br /> public   class  ReadExcel  {
     public   static   void  main(String args[])  {
         try   {
            Workbook book = Workbook.getWorkbook(new File("f:\\test.xls"));
            //获得W一个工作表对象
            Sheet sheet  =  book.getSheet(0);
            //得到W一列第一行的单元?br />             Cell cell1 = sheet.getCell(0,0);
            String result = cell1.getContents();
            System.out.println(result);
            //得到整个W一?br />             Cell [] ces = sheet.getColumn(0);
            for (int i = 0; i < ces.length; i++) {
    System.err.println(ces[i].getContents());
   }
            //得到整个W一?br />             Cell [] crs = sheet.getRow(0);
            for (int i = 0; i < crs.length; i++) {
    System.err.println(crs[i].getContents());
   }
            book.close();
        }   catch  (Exception e)  {
            System.out.println(e);
        }
    }
//修改Excel的类
public   class  UpdateExcel  {
     public static void  main(String args[])  {
         try {
            //Excel获得文g
            Workbook wb = Workbook.getWorkbook(new File("f:\\test.xls" ));
            //打开一个文件的副本Qƈ且指定数据写回到原文?br />             WritableWorkbook book = Workbook.createWorkbook(new File("f:\\test.xls"),wb);
            //d一个工作表
            //W一个参敎ͼ新添加的面名称?表示它的位置Q从零开始,2表示W三?br />             WritableSheet sheet = book.createSheet("W二?",2);
            sheet.addCell(new Label(0,0," W二늚试数据 " ));
            book.write();
            book.close();
        }   catch  (Exception e)  {
            System.out.println(e);
        }
    }
}
其他操作Q?br /> 其他操作
 一?数据格式?br />  在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满一般的应用?br /> 1?字串格式?br />  字符串的格式化涉及到的是字体、粗l、字L元素Q这些功能主要由WritableFont和WritableCellFormatcL负责?br />  假设我们在生成一个含有字串的单元格时Q用如下语句,为方便叙qͼ我们为每一行命令加了编P
WritableFont font1 = new  WritableFont(WritableFont.TIMES, 16 ,WritableFont.BOLD); ?br /> WritableCellFormat format1 = new  WritableCellFormat(font1); ?br /> Label label = new  Label( 0 , 0 ,”data  4  test”,format1) ?br />  其中
 ①指定了字串格式Q字体ؓTIMESQ字?6Q加_显C。WritableFont有非怸富的 构造子Q供不同情况下用,jExcelAPI的java-doc中有详细列表Q这里不再列出?br />  ②处代码使用了WritableCellFormatc,q个c非帔R要,通过它可以指定单元格的各U属性,后面的单元格格式化中会有更多描述?br />  ③处使用了Labelcȝ构造子Q指定了字串被赋予那U格式。在WritableCellFormatcMQ还有一个很重要的方法是指定数据的对齐方式?br />  比如针对我们 上面的实例,可以指定Q?br /> //把水q_齐方式指定ؓ居中
format1.setAlignment(jxl.format.Alignment.CENTRE);
//把垂直对齐方式指定ؓ居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);

二、单元格操作
Excel中很重要的一部分是对单元格的操作Q比如行高、列宽、单元格合ƈ{,所qjExcelAPI提供了这些支持。这些操作相Ҏ较简单,下面只介l一下相关的API?br /> 1?合ƈ单元?br /> WritableSheet.mergeCells( int  m, int  n, int  p, int  q);
//作用是从(m,n)?p,q)的单元格全部合ƈQ比如:
WritableSheet sheet = book.createSheet(“W一?#8221;, 0 );
//合ƈW一列第一行到W六列第一行的所有单元格
sheet.mergeCells( 0 , 0 , 5 , 0 );
合ƈ既可以是横向的,也可以是U向的。合q后的单元格不能再次q行合ƈQ否则会触发异常?/p>

2?行高和列?br /> WritableSheet.setRowView(int i,int height);
//作用是指定第i+1行的高度Q比如:
//第一行的高度设ؓ200
sheet.setRowView(0,200);
WritableSheet.setColumnView(int i,int width);
//作用是指定第i+1列的宽度Q比如:
//第一列的宽度设ؓ30
sheet.setColumnView(0,30);
jExcelAPIq有其他的一些功能,比如插入囄{,q里׃再一一介绍Q读者可以自己探索?br /> 其中Q如果读一个excelQ需要知道它有多行和多列Q如下操作:
Workbook book = Workbook.getWorkbook(new File("试1.xls"));
//获得W一个工作表对象
Sheet sheet = book.getSheet(0);
//得到W一列第一行的单元?br /> int columnum = sheet.getColumns();//得到列数
int rownum = sheet.getRows();//得到行数
System.out.println(columnum);
System.out.println(rownum);
for(int i = 0;i < rownum;i ++ )//循环q行d
{
    for(int j = 0;j < columnum;j ++) {
        Cell cell1 = sheet.getCell(j, i);
        String result = cell1.getContents();
        System.out.print(result);
        System.out.print( " \t " );
    }
    System.out.println();
}
book.close();



何方 2010-06-25 17:49 发表评论
]]>
sybase的JDBCq接http://www.aygfsteel.com/hefang/articles/324479.html何方何方Fri, 25 Jun 2010 09:47:00 GMThttp://www.aygfsteel.com/hefang/articles/324479.htmlhttp://www.aygfsteel.com/hefang/comments/324479.htmlhttp://www.aygfsteel.com/hefang/articles/324479.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324479.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324479.htmlpackage org.test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class SyBaseJDBC {
 public static void main(String[] args) {
  ResultSet rs = null;
  Statement stmt = null;
  Connection conn = null;
  String driver = "com.sybase.jdbc3.jdbc.SybDriver";
  String url = "jdbc:sybase:Tds:127.0.0.1:5000/eomsdbbk?user=develop&password=develop&useUnicode=true?CHARSET=cp936";
  // 加蝲驱动
  try {
   Class.forName(driver);
   conn = DriverManager.getConnection(url);
   stmt = (Statement) conn.createStatement();
   rs = stmt.executeQuery("select * from tbAddrListGrp ");
   while (rs.next()) {
    System.out.println(rs.getInt("iAddrListGrpId"));
    System.out.println(rs.getInt("iPid"));
    System.out.println(rs.getString("sName"));
    System.out.println(rs.getString("sRemark"));
   }
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } finally {
   try {
    if (rs != null) {
     rs.close();
     rs = null;
    }
    if (conn != null) {
     conn.close();
     conn = null;
    }
   } catch (Exception e) {
    e.printStackTrace();
   }
  }
 }
}

sybase的JDBCq接

何方 2010-06-25 17:47 发表评论
]]>
import static和import的区?/title><link>http://www.aygfsteel.com/hefang/articles/324472.html</link><dc:creator>何方</dc:creator><author>何方</author><pubDate>Fri, 25 Jun 2010 09:20:00 GMT</pubDate><guid>http://www.aygfsteel.com/hefang/articles/324472.html</guid><wfw:comment>http://www.aygfsteel.com/hefang/comments/324472.html</wfw:comment><comments>http://www.aygfsteel.com/hefang/articles/324472.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hefang/comments/commentRss/324472.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hefang/services/trackbacks/324472.html</trackback:ping><description><![CDATA[<p>静态导入是JDK1.5中的新特性。一般我们导入一个类都用 import com.....ClassName;而静态导入是q样Qimport static com.....ClassName.*;q里的多了个staticQ还有就是类名ClassName后面多了?.* Q意思是导入q个c里的静态方法。当Ӟ也可以只导入某个静态方法,只要?.* 换成静态方法名p了。然后在q个cMQ就可以直接用方法名调用静态方法,而不必用ClassName.Ҏ?的方式来调用?br /> <br /> q种Ҏ的好处就是可以简化一些操作,例如打印操作System.out.println(...);可以将其写入一个静态方法print(...)Q在使用时直接print(...)可以了?/p> <p>import staticQ很多static的东西可以直接用,不过我不认ؓq是个什么好Ҏ,可能会带来؜乱,本来本类的方法直接调用就可以了,现在导入的静态方法和成员也可以直接用了,有的时候就不好分清Q?br />  </p> <dl class="code"> <dt>Java code <dd> <pre> <div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #000000"> </span><span style="color: #0000ff">import</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> java.lang.System.</span><span style="color: #000000">*</span><span style="color: #000000">; </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> Main{ </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #0000ff">void</span><span style="color: #000000"> main(String[] args) { out.print(</span><span style="color: #000000">"</span><span style="color: #000000">Hello World</span><span style="color: #000000">"</span><span style="color: #000000">); } } </span></div> </pre> </dd></dl> <img src ="http://www.aygfsteel.com/hefang/aggbug/324472.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hefang/" target="_blank">何方</a> 2010-06-25 17:20 <a href="http://www.aygfsteel.com/hefang/articles/324472.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>代码执行优先U别http://www.aygfsteel.com/hefang/articles/324471.html何方何方Fri, 25 Jun 2010 09:19:00 GMThttp://www.aygfsteel.com/hefang/articles/324471.htmlhttp://www.aygfsteel.com/hefang/comments/324471.htmlhttp://www.aygfsteel.com/hefang/articles/324471.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324471.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324471.html

java代码块分4大块(普通代码块、构造块、静态块、同步代码块Q多U程Q?

  普通代码块  —?nbsp; 指写在一?span style="color: #ff0000">Ҏ中的语句?/p>

  构造块    ——直接写?span style="color: #ff0000">cM的语句块Q优先于构造方?/p>

  静态块    ——直接写在类中,通过static声明的语句块Q?span style="color: #ff0000">优先于构造块和构造方?/p>

 同步代码?nbsp; ——暂不解?/p>

CZ

 // 静态代码块
 static {
  System.out.println("static code() ...");
 }
 // 声明一个构造方?br />  Test() {
  System.out.println("Person()构造方?);
 }
 // 构造块
 {
  System.out.println("Hello World!!!");
 }

执行l果

static code() ...
Hello World!!!
Person()构造方?br /> Hello World!!!
Person()构造方?/span>




何方 2010-06-25 17:19 发表评论
]]>
BigDecimal常用Ҏhttp://www.aygfsteel.com/hefang/articles/324470.html何方何方Fri, 25 Jun 2010 09:18:00 GMThttp://www.aygfsteel.com/hefang/articles/324470.htmlhttp://www.aygfsteel.com/hefang/comments/324470.htmlhttp://www.aygfsteel.com/hefang/articles/324470.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324470.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324470.html
/**
* ׃Java的简单类型不能够_的对点数进行运,q个工具cL供精
* 的点数运,包括加减乘除和四舍五入?
*/
//默认除法q算_ֺ
private static final int DEF_DIV_SCALE = 10;
   
//q个cM能实例化
private Arith(){
}

    /**
     * 提供_的加法运?
     * @param v1 被加?
     * @param v2 加数
     * @return 两个参数的和
     */
    public static double add(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.add(b2).doubleValue();
    }
    /**
     * 提供_的减法运?
     * @param v1 被减?
     * @param v2 减数
     * @return 两个参数的差
     */
    public static double sub(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.subtract(b2).doubleValue();
    }
    /**
     * 提供_的乘法运?
     * @param v1 被乘?
     * @param v2 乘数
     * @return 两个参数的积
     */
    public static double mul(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.multiply(b2).doubleValue();
    }

    /**
     * 提供Q相对)_的除法运,当发生除不尽的情冉|Q精到
     * 数点以?0位,以后的数字四舍五入?
     * @param v1 被除?
     * @param v2 除数
     * @return 两个参数的商
     */
    public static double div(double v1,double v2){
        return div(v1,v2,DEF_DIV_SCALE);
    }

    /**
     * 提供Q相对)_的除法运。当发生除不的情况Ӟ由scale参数?
     * 定精度,以后的数字四舍五入?
     * @param v1 被除?
     * @param v2 除数
     * @param scale 表示表示需要精到数点以后几位?
     * @return 两个参数的商
     */
    public static double div(double v1,double v2,int scale){
        if(scale<0){
            throw new IllegalArgumentException(
                "The scale must be a positive integer or zero");
        }
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
    }

    /**
     * 提供_的小C四舍五入处理?
     * @param v 需要四舍五入的数字
     * @param scale 数点后保留几位
     * @return 四舍五入后的l果
     */
    public static double round(double v,int scale){
        if(scale<0){
            throw new IllegalArgumentException(
                "The scale must be a positive integer or zero");
        }
        BigDecimal b = new BigDecimal(Double.toString(v));
        BigDecimal one = new BigDecimal("1");
        return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
    }
   
   /**
    * 提供_的类型{?Float)
    * @param v 需要被转换的数?
    * @return q回转换l果
    */
    public static float convertsToFloat(double v){
    BigDecimal b = new BigDecimal(v);
    return b.floatValue();
    }
   
    /**
* 提供_的类型{?Int)不进行四舍五?
* @param v 需要被转换的数?
* @return q回转换l果
*/
public static int convertsToInt(double v){
BigDecimal b = new BigDecimal(v);
    return b.intValue();
}

/**
* 提供_的类型{?Long)
* @param v 需要被转换的数?
* @return q回转换l果
*/
public static long convertsToLong(double v){
BigDecimal b = new BigDecimal(v);
    return b.longValue();
}

/**
* q回两个C大的一个?
* @param v1 需要被Ҏ的第一个数
* @param v2 需要被Ҏ的第二个?
* @return q回两个C大的一个?
*/
public static double returnMax(double v1,double v2){
BigDecimal b1 = new BigDecimal(v1);
BigDecimal b2 = new BigDecimal(v2);
    return b1.max(b2).doubleValue();
}

/**
* q回两个C的一个?
* @param v1 需要被Ҏ的第一个数
* @param v2 需要被Ҏ的第二个?
* @return q回两个C的一个?
*/
public static double returnMin(double v1,double v2){
BigDecimal b1 = new BigDecimal(v1);
BigDecimal b2 = new BigDecimal(v2);
    return b1.min(b2).doubleValue();
}

/**
* _Ҏ两个数字
* @param v1 需要被Ҏ的第一个数
* @param v2 需要被Ҏ的第二个?
* @return 如果两个C样则q回0Q如果第一个数比第二个数大则返?Q反之返?1
*/
public static int compareTo(double v1,double v2){
BigDecimal b1 = new BigDecimal(v1);
BigDecimal b2 = new BigDecimal(v2);
    return b1.compareTo(b2);
}


何方 2010-06-25 17:18 发表评论
]]>
java的double的精度问??http://www.aygfsteel.com/hefang/articles/324469.html何方何方Fri, 25 Jun 2010 09:17:00 GMThttp://www.aygfsteel.com/hefang/articles/324469.htmlhttp://www.aygfsteel.com/hefang/comments/324469.htmlhttp://www.aygfsteel.com/hefang/articles/324469.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324469.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324469.html在java中,使用doubleq行q算Q有时会出现_ֺ丢失的问题,g有那?.00000***1偏差的偏差,D匚w校验常常出现问题

解决Ҏ如下:

  /** 
     * ?span class="hilite1">double数据q行取精? 
     * @param value  double数据. 
     * @param scale  _ֺ位数(保留的小C?. 
     * @param roundingMode  _ֺ取值方? 
     * @return _ֺ计算后的数据. 
     */ 
    public static double round(double value, int scale,
             int roundingMode) {  
        BigDecimal bd = new BigDecimal(value);  
        bd = bd.setScale(scale, roundingMode);  
        double d = bd.doubleValue();  
        bd = null;  
        return d;  
    }  


     /**
     * double 相加
     * @param d1
     * @param d2
     * @return
     */
    public double sum(double d1,double d2){
        BigDecimal bd1 = new BigDecimal(Double.toString(d1));
        BigDecimal bd2 = new BigDecimal(Double.toString(d2));
        return bd1.add(bd2).doubleValue();
    }


    /**
     * double 相减
     * @param d1
     * @param d2
     * @return
     */
    public double sub(double d1,double d2){
        BigDecimal bd1 = new BigDecimal(Double.toString(d1));
        BigDecimal bd2 = new BigDecimal(Double.toString(d2));
        return bd1.subtract(bd2).doubleValue();
    }

    /**
     * double 乘法
     * @param d1
     * @param d2
     * @return
     */
    public double mul(double d1,double d2){
        BigDecimal bd1 = new BigDecimal(Double.toString(d1));
        BigDecimal bd2 = new BigDecimal(Double.toString(d2));
        return bd1.multiply(bd2).doubleValue();
    }


    /**
     * double 除法
     * @param d1
     * @param d2
     * @param scale 四舍五入 数点位?
     * @return
     */
    public double div(double d1,double d2,int scale){
        //  当然在此之前Q你要判断分母是否ؓ0Q?nbsp; 
        //  ?你可以根据实际需求做相应的处?

        BigDecimal bd1 = new BigDecimal(Double.toString(d1));
        BigDecimal bd2 = new BigDecimal(Double.toString(d2));
        return bd1.divide
               (bd2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
    }


q样Q计?span class="hilite1">doublecd的数据计问题就可以处理了?
另外补充一?JavaScript 四舍五入的方法:
数炚w?
Math.round(totalAmount*100)/100 (保留 2 ?

function formatFloat(src, pos)
{
  return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);
}



何方 2010-06-25 17:17 发表评论
]]>
增强Eclipse的代码提C功能(转)http://www.aygfsteel.com/hefang/articles/324468.html何方何方Fri, 25 Jun 2010 09:16:00 GMThttp://www.aygfsteel.com/hefang/articles/324468.htmlhttp://www.aygfsteel.com/hefang/comments/324468.htmlhttp://www.aygfsteel.com/hefang/articles/324468.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324468.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324468.html?font face="Times New Roman">Window -> preferences -> Java -> Editor -> Content assist -> Auto-Activation下,我们可以?/font>"."号后面加入我们需要自动提C的首字q,比如"ahiz"?/font>

然后我们回到Eclipse的开发环境,输入"a"Q提C就出现了?/font>

但是我们可以发现Q这?font face="Times New Roman">Auto-Activation下的输入框里最多只能输?/font>4个字母,也许?/font>Eclipse的开发h员担心我们输入的太多会媄响性能Q但计算机的性能不用白不用,所以我们要打破q个限制?/font>

其实上面都是铺垫Q制造一下气氛,以显得我们下面要做的事情很牛似的Q其实不Ӟ一切都很简单。嘿?nbsp;

?font face="Times New Roman">"."后面随便输入几个字符Q比?/font>"abij"Q然后回到开发环境,File -> export -> general -> preferences-> 选一个地方保存你的首选项Q比?/font>C:\a.epf

用Q何文本编辑器打开a.epfQ查扑֭W串“abij”Q找C后,替换?#8220;.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ”QM是你想怎样怎样Q!然后回到EclipseQ?/font>File -> import -> general -> preferences -> 导入刚才?/font>a.epf文g。此时你会发现输入Q何字q都可以得到自动提示了。爽Q!Q?/font>

最后:自动提示弹出的时间最好改?font face="Times New Roman">100毫秒以下Q这样会比较爽一点,不然你都完事了,自动提示才弹出来Q不q也要看机器性能?/font>



何方 2010-06-25 17:16 发表评论
]]>
java中replace和replaceAll的区?/title><link>http://www.aygfsteel.com/hefang/articles/324467.html</link><dc:creator>何方</dc:creator><author>何方</author><pubDate>Fri, 25 Jun 2010 09:15:00 GMT</pubDate><guid>http://www.aygfsteel.com/hefang/articles/324467.html</guid><wfw:comment>http://www.aygfsteel.com/hefang/comments/324467.html</wfw:comment><comments>http://www.aygfsteel.com/hefang/articles/324467.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hefang/comments/commentRss/324467.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hefang/services/trackbacks/324467.html</trackback:ping><description><![CDATA[<span style="color: red">replace和replaceAll是JAVA中常用的替换字符的方?它们的区别是: </span><br /> <br /> 1)replace的参数是char和CharSequence,卛_以支持字W的替换,也支持字W串的替?CharSequence卛_W串序列的意?说白了也是字符?; <br /> 2)replaceAll的参数是regex,卛_于规则表辑ּ的替?比如,可以通过replaceAll("\\d", "*")把一个字W串所有的数字字符都换成星? <br /> <br />     相同Ҏ都是全部替换,x源字W串中的某一字符或字W串全部换成指定的字W或字符?如果只想替换W一ơ出现的,可以使用 replaceFirst(),q个Ҏ也是Z规则表达式的替换,但与replaceAll()不同的是,只替换第一ơ出现的字符? <br />     另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表辑ּ?则与replace()替换字符串的效果是一L,卌两者也支持字符串的操作; <br />     q有一Ҏ?执行了替换操作后,源字W串的内Ҏ没有发生改变? <br /> <br /> 举例如下: <br />         <br />         String src = new String("ab43a2c43d"); <br /> <br />         System.out.println(src.replace("3","f"));=>ab4f2c4fd. <br />         System.out.println(src.replace('3','f'));=>ab4f2c4fd. <br />         System.out.println(src.replaceAll("\\d","f"));=>abffafcffd. <br />         System.out.println(src.replaceAll("a","f"));=>fb43fc23d. <br />         System.out.println(src.replaceFirst("\\d,"f"));=>abf32c43d <br />         System.out.println(src.replaceFirst("4","h"));=>abh32c43d. <br /> <br /> <br /> 如何字W串中的"\"替换?\\"Q?<br /> <br />         String msgIn; <br />         String msgOut; <br />         msgOut=msgIn.replaceAll("\\\\","\\\\\\\\"); <br /> 原因Q?<br />          '\'在java中是一个{义字W,所以需要用两个代表一个。例如System.out.println( "\\" ) ;只打印出一?\"。但?\'也是正则表达式中的{义字W(replaceAll 的参数就是正则表辑ּQ,需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式{换成\?<br /> 同样 <br />         CODE: \\\\\\\\ <br />         Java: \\\\ <br />         Regex: \\ <br /> <br /> <br /> 字W串中的'/'替换?\'的几U方? <br /> <br /> msgOut= msgIn.replaceAll("/", "\\\\"); <br />          msgOut= msgIn.replace("/", "\\"); <br />          msgOut= msgIn.replace('/', '\\'); <br /> <img src ="http://www.aygfsteel.com/hefang/aggbug/324467.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hefang/" target="_blank">何方</a> 2010-06-25 17:15 <a href="http://www.aygfsteel.com/hefang/articles/324467.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java标示W?amp;关键?amp;数据cdhttp://www.aygfsteel.com/hefang/articles/324464.html何方何方Fri, 25 Jun 2010 09:13:00 GMThttp://www.aygfsteel.com/hefang/articles/324464.htmlhttp://www.aygfsteel.com/hefang/comments/324464.htmlhttp://www.aygfsteel.com/hefang/articles/324464.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324464.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324464.html -------------
标示W?变量Q类名,Ҏ名由标示W组?
    所谓标C符是记号(字母、数字、下划线?)  1、不能以数字开_2、标C符长短无限?br />
-------------
关键字(定义标示W不能被使用的字是关键字)
    1、所有的java关键字都是小写的Q?br />     2、非关键字有 TURE、FALSE、NULL
    3、保留关键字 goto const

-------------
java中的数据cd
    ┝数据类?br />         ┕基本数据类?br />            ┝数值型
              ┝整数型(byte,short,int,long)
              ┕Q点型(float,double)
           ┝字W型(char)
           ┕布型(boolean)   
       ┕引用数据类?
          ┝类(class)
          ┝接?interface)
          ┕数l?br />            
-------
基本数据cd定义4c?8U数据类?br /> 整数型:byte short int long
点型:float double
文本型:char
逻辑型:boolean
可用q些数据cd的引用数据类型的max_value和min_value属?br /> 查看它的最大范围和最范?br /> --byte是最的cd
--double与float是一LQ它的存储容量比flaot?br /> --short long也是整型 short比int?long比int?br />
变量cd 取?
byte    0
short     0
int     0
long     0l
char     '\u0000'
float       0.0f
double     0.0d
boolean  false


何方 2010-06-25 17:13 发表评论
]]>
tomcat怎么更改端口http://www.aygfsteel.com/hefang/articles/324465.html何方何方Fri, 25 Jun 2010 09:13:00 GMThttp://www.aygfsteel.com/hefang/articles/324465.htmlhttp://www.aygfsteel.com/hefang/comments/324465.htmlhttp://www.aygfsteel.com/hefang/articles/324465.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324465.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324465.html最q电脑不知道装了啥,8080端口又被占用了,改端口给个备?/p>

扑ֈtomcat的conf目录 打开server.xml文g

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

把port 值改?081Q就ok?nbsp;

<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 



何方 2010-06-25 17:13 发表评论
]]>
String的方?/title><link>http://www.aygfsteel.com/hefang/articles/324461.html</link><dc:creator>何方</dc:creator><author>何方</author><pubDate>Fri, 25 Jun 2010 09:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/hefang/articles/324461.html</guid><wfw:comment>http://www.aygfsteel.com/hefang/comments/324461.html</wfw:comment><comments>http://www.aygfsteel.com/hefang/articles/324461.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hefang/comments/commentRss/324461.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hefang/services/trackbacks/324461.html</trackback:ping><description><![CDATA[<p>1. char charAt(int index) Q取字符串中的某一个字W,其中的参数index指的是字W串中序数。字W串的序C0开始到length()-1 ?br /> 2. int compareTo(String anotherString) Q当前String对象与anotherString比较。相{关p返回0Q不相等Ӟ从两个字W串W?字符开始比较,q回W一个不相等的字W差Q另一U情况,较长字符串的前面部分恰y是较短的字符Ԍq回它们的长度差?br /> 3. int compareTo(Object o) Q如果o是String对象Q和2的功能一P否则抛出ClassCastException异常?br /> 4. String concat(String str) Q将该String对象与strq接在一赗?br /> 5. boolean contentEquals(StringBuffer sb) Q将该String对象与StringBuffer对象sbq行比较?br /> 6. static String copyValueOf(char[] data) Q?br /> 7. static String copyValueOf(char[] data, int offset, int count) Q这两个Ҏchar数组转换成StringQ与其中一个构造函数类伹{?br /> 8. boolean endsWith(String suffix) Q该String对象是否以suffix l尾?br /> 9. boolean equals(Object anObject) Q当anObject不ؓIƈ且与当前String对象一Pq回trueQ否则,q回false?br /> 10. byte[] getBytes() Q将该String对象转换成byte数组?br /> 11. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) Q该Ҏ字W串拯到字W数l中。其中,srcBegin为拷?br /> 12. int hashCode() Q返回当前字W的哈希表码?br /> 13. int indexOf(int ch) Q只扄一个匹配字W位|?br /> 14. int indexOf(int ch, int fromIndex) Q从fromIndex开始找W一个匹配字W位|?br /> 15. int indexOf(String str) Q只扄一个匹配字W串位置?br /> 16. int indexOf(String str, int fromIndex) Q从fromIndex开始找W一个匹配字W串位置?br /> 17. int lastIndexOf(int ch)<br /> 18. int lastIndexOf(int ch, int fromIndex)<br /> 19. int lastIndexOf(String str)<br /> 20. int lastIndexOf(String str, int fromIndex) 以上四个Ҏ?3?4?5?6cMQ不同的是:找最后一个匹配的内容?br /> 21. int length() Q返回当前字W串长度?br /> 22. String replace(char oldChar, char newChar) Q将字符号串中第一个oldChar替换成newChar?br /> 23. boolean startsWith(String prefix) Q该String对象是否以prefix开始?br /> 24. boolean startsWith(String prefix, int toffset) Q该String对象从toffset位置vQ是否以prefix开始?br /> 25. String substring(int beginIndex) Q取从beginIndex位置开始到l束的子字符丌Ӏ?br /> 26.String substring(int beginIndex, int endIndex) Q取?beginIndex位置开始到endIndex位置的子字符丌Ӏ?br /> 27. char[] toCharArray() Q将该String对象转换成char数组?br /> 28. String toLowerCase() Q将字符串{换成写?br /> 29. String toUpperCase() Q将字符串{换成大写?br /> 30. static String valueOf(boolean b)<br /> 31. static String valueOf(char c)<br /> 32. static String valueOf(char[] data)<br /> 33. static String valueOf(char[] data, int offset, int count)<br /> 34. static String valueOf(double d)<br /> 35. static String valueOf(float f)<br /> 36. static String valueOf(int i)<br /> 37. static String valueOf(long l)<br /> 38. static String valueOf(Object obj)</p> <img src ="http://www.aygfsteel.com/hefang/aggbug/324461.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hefang/" target="_blank">何方</a> 2010-06-25 17:11 <a href="http://www.aygfsteel.com/hefang/articles/324461.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java配置环境变量http://www.aygfsteel.com/hefang/articles/324463.html何方何方Fri, 25 Jun 2010 09:11:00 GMThttp://www.aygfsteel.com/hefang/articles/324463.htmlhttp://www.aygfsteel.com/hefang/comments/324463.htmlhttp://www.aygfsteel.com/hefang/articles/324463.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324463.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324463.html 我的电脑->属?>高->环境变量->pȝ变量中添加以下环境变量:
JAVA_HOME=C:\j2sdk1.4.2_04
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
path=...;C:\Program Files\Java\jdk1.6.0_07\bin

java是编译型和解释型l合跨^台的语言 
javac命o  .java   ~译型用  javac HelloWorld.java
java命o .class  解释?nbsp;  java HelloWorld
set classpath=. 整个E序会从当前所在的目录中查找所需?.class文g


何方 2010-06-25 17:11 发表评论
]]>
java中String的构造函敊W?/title><link>http://www.aygfsteel.com/hefang/articles/324460.html</link><dc:creator>何方</dc:creator><author>何方</author><pubDate>Fri, 25 Jun 2010 09:10:00 GMT</pubDate><guid>http://www.aygfsteel.com/hefang/articles/324460.html</guid><wfw:comment>http://www.aygfsteel.com/hefang/comments/324460.html</wfw:comment><comments>http://www.aygfsteel.com/hefang/articles/324460.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hefang/comments/commentRss/324460.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hefang/services/trackbacks/324460.html</trackback:ping><description><![CDATA[<p>StringcM的构造函?br /> String(); 构造一个空字符串对?br /> String(byte[] bytes); 通过byte数组构造字W串对象<br /> String(byte[] bytes,int offset,int length);通过byte数组Q从offset开始,dlength长的字节构造字W串对象<br /> String(char[] value); 通过char数组构造字W串对象<br /> String(byte[] char,int offset,int length);通过char数组Q从offset开始,dlength长的字节构造字W串对象<br /> String(String original); 构造一个original的副本,拯一个original<br /> String(StringBuffer buffer);通过StringBuffer数组构造字W串对象<br /> <br /> public class StringClassTest {<br />     public static void main(String[] args) {<br />         // 字节数组<br />         byte[] bArray = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' };<br />         // 字符数组<br />         char[] cArray = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h' };<br />         //声明一个StringBuffer<br />         StringBuffer strbuf = new StringBuffer("strbuf"); <br />         // 实例一个String对象<br />         String str = new String("str abcd");<br />         //实例一个String对象 通过一个btye数组构造字W串对象Q字节数l)<br />         String strb = new String(bArray);<br />         //实例一个String对象 通过一个char数组构造字W串对象Q字W数l)<br />         String strc = new String(cArray);<br />         //实例一个String对象 通过一个char数组构造字W串对象(字节数组Q开始的数据Q截得数据长?<br />         String strbIndex = new String(bArray, 1, 5);<br />         //实例一个String对象 通过一个char数组构造字W串对象Q字W数l,开始的数据Q截得数据长度)<br />         String strcIndex = new String(cArray, 1, 2);<br />         //实例一个String对象 通过一个StringBuffer对象构造字W串对象 <br />         String strbuff = new String(strbuf);<br />         System.out.println("实例一个无参String对象:  "+str);<br />         System.out.println("实例一个带byte数组参数String对象:  "+strb);<br />         System.out.println("实例一个带char数组参数String对象:  "+strc);<br />         System.out.println("实例一个带byte数组参数String对象,截取?开始截取,??  "+strbIndex);<br />         System.out.println("实例一个带char数组参数String对象,截取?开始截取,??  "+strcIndex);<br />         System.out.println("实例一个带StringBuffer参数String对象:  "+strbuff);<br />         // 如果是字节类型,输出地址<br />         // System.out.println(by);<br />         // 如果是字W类型,输出字W?br />         // System.out.println(c);<br />     }<br /> }</p> <img src ="http://www.aygfsteel.com/hefang/aggbug/324460.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hefang/" target="_blank">何方</a> 2010-06-25 17:10 <a href="http://www.aygfsteel.com/hefang/articles/324460.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java q接Mysql(单示?http://www.aygfsteel.com/hefang/articles/324459.html何方何方Fri, 25 Jun 2010 09:09:00 GMThttp://www.aygfsteel.com/hefang/articles/324459.htmlhttp://www.aygfsteel.com/hefang/comments/324459.htmlhttp://www.aygfsteel.com/hefang/articles/324459.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324459.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324459.htmlpackage org.mysqljdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Jdbc {
 /**
  * @param args
  */
 public static void main(String[] args) {
  ResultSet rs = null;
  Statement stmt = null;
  Connection conn = null;
  String driver = "org.gjt.mm.mysql.Driver";
  String url ="jdbc:mysql://localhost/mydata?user=root&password=root&useUnicode=true&characterEncoding=8859_1";
  
  //加蝲驱动
  try {
   Class.forName(driver);
   conn = DriverManager.getConnection(url);
   stmt =  (Statement) conn.createStatement();
   rs =stmt.executeQuery("select * from dept");
   while(rs.next())
   {
    System.out.println(rs.getString("deptno"));
    System.out.println(rs.getString("dname"));
   }
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } finally
  {
   try
   {
    if(rs != null)
    {
     rs.close();
     rs = null;
    }
    if(conn != null)
    {
     conn.close();
     conn = null;
    }
   }catch (Exception e) {
                e.printStackTrace();
   }
  }
 }
}



何方 2010-06-25 17:09 发表评论
]]>
java中replace和replaceAll的区别(转)http://www.aygfsteel.com/hefang/articles/324456.html何方何方Fri, 25 Jun 2010 09:04:00 GMThttp://www.aygfsteel.com/hefang/articles/324456.htmlhttp://www.aygfsteel.com/hefang/comments/324456.htmlhttp://www.aygfsteel.com/hefang/articles/324456.html#Feedback0http://www.aygfsteel.com/hefang/comments/commentRss/324456.htmlhttp://www.aygfsteel.com/hefang/services/trackbacks/324456.htmlreplace和replaceAll是JAVA中常用的替换字符的方?它们的区别是:

1)replace的参数是char和CharSequence,卛_以支持字W的替换,也支持字W串的替?CharSequence卛_W串序列的意?说白了也是字符?;
2)replaceAll的参数是regex,卛_于规则表辑ּ的替?比如,可以通过replaceAll("\\d", "*")把一个字W串所有的数字字符都换成星?

    相同Ҏ都是全部替换,x源字W串中的某一字符或字W串全部换成指定的字W或字符?如果只想替换W一ơ出现的,可以使用 replaceFirst(),q个Ҏ也是Z规则表达式的替换,但与replaceAll()不同的是,只替换第一ơ出现的字符?
    另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表辑ּ?则与replace()替换字符串的效果是一L,卌两者也支持字符串的操作;
    q有一Ҏ?执行了替换操作后,源字W串的内Ҏ没有发生改变?

举例如下:
       
        String src = new String("ab43a2c43d");

        System.out.println(src.replace("3","f"));=>ab4f2c4fd.
        System.out.println(src.replace('3','f'));=>ab4f2c4fd.
        System.out.println(src.replaceAll("\\d","f"));=>abffafcffd.
        System.out.println(src.replaceAll("a","f"));=>fb43fc23d.
        System.out.println(src.replaceFirst("\\d,"f"));=>abf32c43d
        System.out.println(src.replaceFirst("4","h"));=>abh32c43d.


如何字W串中的"\"替换?\\"Q?

        String msgIn;
        String msgOut;
        msgOut=msgIn.replaceAll("\\\\","\\\\\\\\");
原因Q?
         '\'在java中是一个{义字W,所以需要用两个代表一个。例如System.out.println( "\\" ) ;只打印出一?\"。但?\'也是正则表达式中的{义字W(replaceAll 的参数就是正则表辑ּQ,需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式{换成\?
同样
        CODE: \\\\\\\\
        Java: \\\\
        Regex: \\


字W串中的'/'替换?\'的几U方?

msgOut= msgIn.replaceAll("/", "\\\\");
         msgOut= msgIn.replace("/", "\\");
         msgOut= msgIn.replace('/', '\\');

何方 2010-06-25 17:04 发表评论
]]>
վ֩ģ壺 | | ٳ| ¡| ׯ| Ϲ| | ڳ| ˫| | Ͷ| | | | ʤ| | Ϻ| | ¦| | | ϲ| | ɳ| | ³| | | | | | ɽ| ָ| | | | ͨ| | | | ̶|