一些关于java的笔记

java I/O 原理 java把不同数据与程序间的数据传输都抽象为了流 即Stream Input Output Data Souce 数据源 Data Sink  数据宿 Node Stream 节点流 直接连接到数据源的流 处理流 是 对 一个 已经存在流的连接和封装 并不是直接连接的数据源 文件--FileStream--BufferedReader       |-Read()  |-ReadLine() outStream flush() 清空缓冲区,将缓冲强制输出

Reader java.io.Reader是所有字符输入流类型的父类,声明了用于读取字符流的方法 Writer 所有字符输出流类型共同的父类 write(char[] chuf)把字符写入到对象关联的数据源

FileReader input = new FileReader("test.java") BufferedReader br = new BufferedReader(input)

FileWriter output = new FileWriter("temp.txt") BufferedWriter bw = new BufferedWriter(output)

String s = br.readLine() 读入一行,不含换行符号     while(s!=null)     {       bw.write(s)       bw.newLine();  加入一个换行符合       s = br.readLine()     }

 

java 表达式子

 

-+ `                 11111111111111111111111111111111`C#枚举 枚举类型是一种独特的值类型,用于声明一组命名的常量 enum Color {  Red,  Green,  Blue } 每个枚举类型都有相应的整型,可以显示的声明为byte,short,long 默认为int enum Color: long {  Red,  Greeen,  blue } 多个枚举成员可以共享相同的关联值。示例:

enum Color

{

  Red,

  Green,

  Blue,

  Max = Blue

}

显示了一个枚举,其中的两个枚举成员(B1ue和Max)具有相同的关联值。

可以隐式地或显式地对枚举成员的关联值进行赋值。如果枚举成员的声明中具有常量表达式初始值设定项,则该常量表达式的值(隐式地转换为枚举的基础类型)就是该枚举成员的关联值。如果枚举成员的声明中没有初始值设定项,则将按下面的规则隐式地设置它的关联值:

— 如果枚举成员是枚举类型中声明的第一个枚举成员,则它的关联值为零。

— 否则,枚举成员的关联值将通过将前一个枚举成员(按照文本顺序)的关联值加1得到。这样增加后的值必须在基础类型可表示的值的范围之内;否则,将发生编译时错误。 System.Enum类型 System.Enum类型是所有枚举类型的抽象基类(该类型不同于枚举类型的基础类型),并且在任何枚举类型中都可以使用继承自System.Enum的成员。从任何枚举类型到System.Enum都存在装箱转换,并且从System.Enum到任何枚举类型都存在拆箱转换。

注意,System.Enum本身并不是枚举类型。相反,它是一个类类型,所有枚举类型都派生自该类型。System.Enum类型继承自System.ValueType类型(参见4.1.1小节),而后者又继承自object类型。在运行时, System.Enum类型的值可以是null,或对任何枚举类型的已装箱值的引用。

每个枚举类型都定义一个独特的类型;在枚举类型和整型之间或在两个枚举类型之间进行转换时,需要使用显式枚举转换。枚举类型的值域并不受它的枚举成员限制。具体来讲,一个枚举的基础类型的任何一个值都可以强制转换到该枚举类型,并成为该枚举类型的一个独特的有效值。

枚举成员的类型为包含它们的枚举类型(出现在其他枚举成员初始值设定项中时除外)。在枚举类型E中声明并且关联值为v的枚举成员的值为(E)v。 每个枚举类型都自动派生自System.Enum类(而该类又派生自System.ValueType和object)。因此,该类的继承方法和属性可用于枚举类型的值。

deglete  委托实例化 委托的实例由“委托创建表达式”(参见7.5.10小节)创建。新创建的委托实例将引用以下各项中的一个:

— 委托创建表达式中引用的静态方法。

— 委托创建表达式中引用的目标对象(此对象不能为null)和实例方法。

— 另一个委托。

例如:

delegate void D(int x);

class C

{

  public static void M1(int i) {...}

  public void M2(int i) {...}

}

class Test

{

  static void Main() {

    D cd1 = new D(C.M1);  //静态方法

    Test t = new C();

    D cd2 = new D(t.M2);  //实例方法

    D cd3 = new D(cd2);   //另一个委托

  }

}

委托实例一旦被实例化,将始终引用同一个目标对象和方法。需要记住,当组合两个委托或者从一个委托移除另一个委托时,将产生一个新的委托,该委托具有自己的调用列表;被组合或移除的委托的调用列表将保持不变。

 

 

 

http://www.iseeclan.com/albumpic.asp?ID=346167 58.39.34.86 Windows程序设计 软件测试 网络操作系统 XML语言 软件工程与UML <1>JAVA_HOME

                设置为 JDK的安装目录

         <2>PATH

                设置为 %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin

         <3>CLASSPATH

               设置为 .;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar

       3、进行完如上配置后,就可以进行测试了

          <1>在DOS下输入 java -version,然后输出显示,显示出来的是当前系统JRE的最高版本

          <2>在DOS下输入 javac,如果出现了相应提示,说明编译环境已经配置成功

           注意:<1>成功只是说明运行环境成功,一般只要安装了JRE就OK

                   <2>成功说明运行环境配置成功,接下来就可以进行Java的基本编程了

 Tomcat+JSP配置     一. 开发环境配置

1. 下载安装J2SDK,添加以下系统环境变量

    JAVA_HOME = C:/Program Files/Java/jdk1.5.0_02

    classpath = .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;   

    path = %JAVA_HOME%/bin(若path已存在,则追加即可)

2. 下载安装Tomcat(http://www.apache.org/dist/jakarta),添加以下系统环境变量:

    TOMCAT_HOME = C:/Program Files/Java/Tomcat 5.5;

    修改classpath为: classpath = .;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;%TOMCAT_HOME%/common/lib/servlet.jar;

3. 下载安装Tomcat插件(http://www.sysdeo.com/sysdeo/eclipse/tomcatplugin).下载之前需要查看插件是否适合eclipse的版本.tomcatPluginV3.zip解压后将文件夹com.sysdeo.eclipse.tomcat_3.0.0拷贝到D:/Program Files/eclipse/plugins

4. 下载安装lomboz插件(http://download.forge.objectweb.org/lomboz/)

    下载lomboz-emf-gef-jem-3.1RC2, 将解压后的eclipse文件夹复制到eclipse的安装目录,直接覆盖eclipse目录.

 

5. 下载eclipse: http://www.eclipse.org/downloads/

6. 软件:Struts    官方下载:http://www.apache.org/dist/jakarta/struts/

最近机器重装,想起朋友在用的eclipse的pp界面,于是也想升级一下。网上找了n多的文章,不是配置不起来,就是导致eclipse不能启动。发现问题在于网上的文章在关键的地方写的很不详细,特别是软件的版本问题。因为eclipse这些工具都是开源的,所以版本更新很快,因此如果我们没有查询过文档,很有可能把不匹配的插件组合在一起,导致在eclipse不能识别。而且,有的版本的eclipse由于很新,因此根本没有插件可以匹配,因此说也不是最新的就是最好的。好了,分析完失败的原因,开始讲成功的过程吧。(本文适合那些)

首先讲一下环境配置,注意我配置的环境是在win 2000 server下的,不是linux下的,配置的大致流程和操作系统无关,仅仅是在具体的安装上有差别。而配置成功与否,与操作系统无关。

软件安装分为一下几个部分:

1、  java环境安装:

这里使用的是jdk1.4.1(jdk1.4.2也可以),这个可以到sun公司的网站去下载;

2、  tomcat环境安装:

tomcat的版本是4.1的,安装版或是解压版都是可以的;

3、  eclipse 3 安装:

可以去下列地址下载http://www.eclipse.org/downloads/index.php

我下载的是 3.1M4 版本,这个版本应该是比较新的。

4、  tomcat插件安装;

tomcat插件是要到下面地址下载http://www.sysdeo.com/eclipse/tomcatPlugin.html,下载之前需要查看插件是否适合eclipse的版本,我下载的是tomcatPluginV3.zip;

5、  lomboz插件安装;

lomboz插件需要下载两个部分,一个是emf环境,另一个是lomboz插件,分别到下列地方去找

http://forge.objectweb.org/project/showfiles.php?group_id=97

http://download.eclipse.org/tools/emf/scripts/downloads.php#goto2.1.0I

我下载的是emf-sdo-runtime-I200412160800.zip

和org.objectweb.lomboz_3.1.0.N20050106.zip ;

这里主要是根据eclipse选择适当的lomboz插件,然后查看一下lomboz插件的  介绍,那里会介绍需要的emf插件的版本,然后再去下面的地址找emf插件。

好了,该下载的都有了,下面我介绍一下如何安装和配置。

 

一、    java环境安装

这个只要直接安装就可以了,不过最好能安装在系统盘以外的地方,这样可以更好理解jvm的配置;安装好了以后,需要配置环境变量,新建JAVA_HOME,并且配置path,把jdk的bin目录添加进去,这样就可以在命令行的任何路径使用jdk的命令了。

[测试] :编写一个hello world程序,然后在dos下使用javac hello.java和java hello命令,如果可以正常执行,就证明jdk安装成功了。

 

二、    tomcat安装

解压版的直接解压就可以了,然后配置TOMCAT_HOME,安装版的要注意的两点,一个是安装完之后tomcat的服务就能够启动的了,但是还是要配置TOMCAT_HOME;第二个就是需要查看一下安装程序是不是把tomcat服务注册成为windows的启动服务,需要到“服务”里查看,如果有这个选项就把它设置为手动启动,并且先停止这个服务。

[测试]:使用startup.bat命令,服务正常启动之后,ie浏览器里输入

http://localhost:8080/  如果出现正常的小猫页面,那就应该没有问题了。

 

三、    eclipse 3安装

eclipse的安装倒是很简单,只要解压,然后把eclipse目录复制到盘符下就可以了,启动的时候,系统会自动寻找jvm,当然可以再以后配置,但是好像是必须先安装jdk。

 

四、    tomcat插件安装,emf插件安装,lomboz插件安装,

       这几部分的步骤都是一样的,解压软件包,然后根据里面的目录结构,把目录文件分别复制到feature或plugins目录里,这样就行了,下面将详细讲述一下eclipse的配置。

        

五、    配置eclipse

1、  首先,打开配置界面 window->preferences。如果这几个插件安装成功,左边的列表里应该有lomboz和tomcat的选项。如果没有,检查上面的步骤是不是正确。

       点击java->Installed JREs,然后显示如上,如果是初始安装的,只有显示第一个jre(不要问我什么是jre,自己查资料去),那是系统默认的安装在c盘的jre,如果系统当中安装了多个jdk,那么最好还是新建一个,点击add,然后选择你需要使用的jdk的位置,然后它会自动寻找其他的参数,点击ok。返回界面之后,不要忘记点选刚刚添加的jdk,要不然是没有用的。然后点击ok关闭这个窗口。

2、  再次打开配置界面,点击tomcat选项

       这里是配置tomcat的参数,根据你安装的tomcat的版本,选择tomcat version,然户找到该tomcat的主目录,输入在tomcat home,下面的参数会自动配置,点击apply。 然后在左边选择advanced,同样把tomcat的主目录复制在tomcat base,点击apply。

       最后在左边选择jvm setting,选择刚刚加入的jre,点击apply,点击ok。这样就可以了。回到界面,点击工具栏上的黄色小猫的图标,如果配置正确,在console里应该有启动tomcat的信息。如果有,就代表tomcat配置成功了。

1、  lomboz基本上不用什么配置,如果左边有那个lomboz选项,基本上就是成功了。点击lomboz,然后选择刚才配置的jdk里的tools.jar,这样配置就完成了。测试的方法是新建一个jsp文件,看看打开的时候是不是对script代码有特殊显示,并且建个测试类,看看jsp是不是能够自动引用类里的函数。

 

       好了,以上就是我配置成功的步骤,因为对应版本的软件都是可以找到的,所以配置起来应该没有什么问题,有问题的话问我估计也没用,上网查文档是最好的方法,祝大家顺利。

/** class:SocketTest_SvrClit author:chengyun date: with:to test socket---server program; **/

import java.net.*; import java.io.*;

public class SocketTest_Server {     public static void main(String[] args) throws UnknownHostException,IOException,ConnectException     {         ServerSocket aServerSocket=new ServerSocket(3434);         Socket aServer=null;         try         {             aServer=aServerSocket.accept();             try             {                BufferedReader input=new BufferedReader(new InputStreamReader(System.in));                BufferedReader in=new BufferedReader(new InputStreamReader(aServer.getInputStream()));                PrintWriter out=new PrintWriter(new OutputStreamWriter(aServer.getOutputStream()));                               String serverstring=null;                String clientstring=null;                System.out.println("hello! enter the bye to exit.");                System.out.print("Server:wait client");                serverstring=input.readLine();                boolean done=false;                while(!done)                {                   if(serverstring !=null)                   {                      out.println(serverstring);                      out.flush();                   }                   clientstring=in.readLine();                   if(clientstring !=null)                      System.out.println("client:"+clientstring);                   System.out.print("server:");                   serverstring=input.readLine();                   if(serverstring.equals("bye")) done=true;                }             }             catch(Exception e)             {               System.out.println(e.getMessage());             }             finally             {                aServer.close();             }                     }         catch(Exception e)         {            System.out.println(e.getMessage());         }         finally         {             aServerSocket.close();         }

    } }

/** class:SocketTest_SvrClit author:chengyun date: with:to test socket---client program; **/

import java.net.*; import java.io.*;

public class SocketTest_SvrClit {     public static void main(String[] args) throws UnknownHostException,IOException,ConnectException     {         Socket aClient=null;         aClient=new Socket("192.168.0.8",3434);  //InetAddress.getLocalHost()         try         {             BufferedReader input=new BufferedReader(new InputStreamReader(System.in));             BufferedReader in=new BufferedReader(new InputStreamReader(aClient.getInputStream()));             PrintWriter out=new PrintWriter(new OutputStreamWriter(aClient.getOutputStream()));                         String clientString=null;             String serverString=null;             System.out.println("hello!enter bye to exit.");             boolean done=false;             while(!done)             {                 serverString=in.readLine();                 if(serverString !=null)                    System.out.println("Server:"+serverString);                 System.out.print("client:");                 clientString=input.readLine();                 if(clientString.equals("bye")) done=true;                 if(clientString !=null)                   {                     out.println(clientString);                     out.flush();                 }               }             in.close();             out.close();         }         catch(Exception e)         {             System.out.println(e.getMessage());         }         finally         {             aClient.close();         }     }  }

posted @ 2008-06-29 21:58  William Zhao  阅读(139)  评论(0编辑  收藏  举报