zoukankan      html  css  js  c++  java
  • 一些关于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();         }     }  }

  • 相关阅读:
    Java 中Timer和TimerTask 定时器和定时任务使用的例子详解
    CentOS7下安装Scrapy步骤详解
    使用C++实现求最大公约数和最小公倍数算法详解
    windows ruby on rails搭建搭建
    php爬虫选择器-来自phpspider
    markdown增强显示插件
    PHP7以上的异常处理变化
    open-php开源项目:php-code-generator PHP流行框架的curd的代码生成器
    laravel withoutOverlapping导致执行脚本延迟或者失效问题
    vcpkg国内镜像设置
  • 原文地址:https://www.cnblogs.com/williamzhao/p/2410615.html
Copyright © 2011-2022 走看看