posts - 495,  comments - 11,  trackbacks - 0
 
string->byte
Byte static byte parseByte(String s)

byte->string
Byte static String toString(byte b)

char->string
Character static String to String (char c)

string->Short
Short static Short parseShort(String s)

Short->String
Short static String toString(Short s)

String->Integer
Integer static int parseInt(String s)

Integer->String
Integer static String tostring(int i)

String->Long
Long static long parseLong(String s)

Long->String
Long static String toString(Long i)

String->Float
Float static float parseFloat(String s)

Float->String
Float static String toString(float f)

String->Double
Double static double parseDouble(String s)

Double->String
Double static String toString(Double

1如何将字串 String 转换成整数 int?

A. 有两个方法:

1). int i = Integer.parseInt([String]); 或
i = Integer.parseInt([String],[int radix]);

2). int i = Integer.valueOf(my_str).intValue();

注: 字串转成 Double, Float, Long 的方法大同小异.


2 如何将整数 int 转换成字串 String ?


A. 有叁种方法:

1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i);

3.) String s = "" + i;

注: Double, Float, Long 转成字串的方法大同小异.
     输入洋点型数
     输入浮点数和双精度数的处理方法和处理整数的方法几乎一样,但转换的过程更复杂。     F而的
艾码可以读入一个双精度型数;
String s="1212";
Double adbu=Double.valueOf(s);
return adbu.doubleValue();

posted @ 2007-04-29 19:16 jadmin 阅读(56) | 评论 (0)编辑 收藏

1.指针

JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于Java程序的安全。

2.多重继承

c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多重继承,但允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能,又避免了c++中的多重继承实现方式带来的诸多不便。

3.数据类型及类

Java是完全面向对象的语言,所有函数和变量部必须是类的一部分。除了基本数据类型之外,其余的都作为类对象,包括数组。对象将数据和方法结合起来,把它们封装在类中,这样每个对象都可实现自己的特点和行为。而c++允许将函数和变量定义为全局的。此外,Java中取消了c/c++中的结构和联合,消除了不必要的麻烦。

4.自动内存管理

Java程序中所有的对象都是用new操作符建立在内存堆栈上,这个操作符类似于c++的new操作符。下面的语句由一个建立了一个类Read的对象,然后调用该对象的work方法:

Readr=newRead();

r.work();

语句Readr=newRead();在堆栈结构上建立了一个Read的实例。Java自动进行无用内存回收操作,不需要程序员进行删除。而c十十中必须由程序贝释放内存资源,增加了程序设计者的负扔。Java中当一个对象不被再用到时,无用内存回收器将给它加上标签以示删除。JAVA里无用内存回收程序是以线程方式在后台运行的,利用空闲时间工作。

5.操作符重载

Java不支持操作符重载。操作符重载被认为是c十十的突出特征,在Java中虽然类大体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。Java语言不支持操作符重载是为了保持Java语言尽可能简单。

6.预处理功能

Java不支持预处理功能。c/c十十在编译过程中都有一个预编泽阶段,即众所周知的预处理器。预处理器为开发人员提供了方便,但增加丁编译的复杂性。JAVA虚拟机没有预处理器,但它提供的引入语句(import)与c十十预处理器的功能类似。

7.Java不支持缺省函数参数,而c十十支持

在c中,代码组织在函数中,函数可以访问程序的全局变量。c十十增加了类,提供了类算法,该算法是与类相连的函数,c十十类方法与Java类方法十分相似,然而,由于c十十仍然支持c,所以不能阻止c十十开发人员使用函数,结果函数和方法混合使用使得程序比较混乱。

Java没有函数,作为一个比c十十更纯的面向对象的语言,Java强迫开发人员把所有例行程序包括在类中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。

8字符串

c和c十十不支持字符串变量,在c和c十十程序中使用Null终止符代表字符串的结束,在Java中字符串是用类对象(strinR和stringBuffer)来实现的,这些类对象是Java语言的核心,用类对象实现字符串有以下几个优点:

(1)在整个系统中建立字符串和访问字符串元素的方法是一致的;

(2)J3阳字符串类是作为Java语言的一部分定义的,而不是作为外加的延伸部分;

(3)Java字符串执行运行时检空,可帮助排除一些运行时发生的错误;

(4)可对字符串用“十”进行连接操作。

9“goto语句

“可怕”的goto语句是c和c++的“遗物”,它是该语言技术上的合法部分,引用goto语句引起了程序结构的混乱,不易理解,goto语句子要用于无条件转移子程序和多结构分支技术。鉴于以广理由,Java不提供goto语句,它虽然指定goto作为关键字,但不支持它的使用,使程序简洁易读。

l0.类型转换

在c和c十十中有时出现数据类型的隐含转换,这就涉及了自动强制类型转换问题。例如,在c十十中可将一浮点值赋予整型变量,并去掉其尾数。Java不支持c十十中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。

11.异常

JAVA中的异常机制用于捕获例外事件,增强系统容错能力

try{//可能产生例外的代码

}catch(exceptionTypename){

//处理

}

其中exceptionType表示异常类型。而C++则没有如此方便的机制

posted @ 2007-04-29 19:15 jadmin 阅读(57) | 评论 (0)编辑 收藏

先Win+R后输入regedit再回车,接着找到
    
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]   
    "RegisteredOrganization"="此处修改为你的注册单位"   
    "RegisteredOwner"="此处修改为你的注册用户"  

按照上面内容修改后,回到桌面,然后右键[我的电脑]看[属性],系统信息是不是已经改过来了啊^_^

posted @ 2007-04-29 18:42 jadmin 阅读(55) | 评论 (0)编辑 收藏

以下程序在JDK1.5.0_05环境下调试通过,程序分3个文件,放在同一目录下

//List.java      顺序表抽象数据类型的接口定义

public interface List
{
public void insert(int i,Object obj) throws Exception;      //插入
public Object delete(int i) throws Exception;               //删除
public Object getData(int i) throws Exception;              //取数据元素
public int size();                                          //求元素个数
public boolean isEmpty();                                   //是否空
}

//SeqList.java      顺序表类

public class SeqList implements List
{
final int defaultSize = 10;

int maxSize;
int size;
Object[] listArray;

public SeqList()
{
      initiate(defaultSize);
}

public SeqList(int size)
{
      initiate(size);
}

private void initiate(int sz)
{
      maxSize = sz;
      size = 0;
      listArray = new Object[sz];
}

public void insert(int i,Object obj) throws Exception
{
      if(size == maxSize)
      {
       throw new Exception("顺序表已满无法插入!");
      }
      if(i < 0 || i > size)
      {
       throw new Exception("参数错误!");
      }

      for(int j = size;j > i;j--)
         listArray[j] = listArray[j-1];

      listArray[i] = obj;
      size++;
}

public Object delete(int i) throws Exception
{
      if(size == 0)
      {
       throw new Exception("顺序表已空无法删除!");
      }
      if(i < 0 || i > size-1)
      {
       throw new Exception("参数错误!");
      }
      Object it = listArray[i];
      for(int j = i;j < size-1;j++)
         listArray[j] = listArray[j+1];

      size--;
      return it;
}

public Object getData(int i) throws Exception
{
      if(i < 0 || i >= size)
      {
       throw new Exception("参数错误!");
      }
      return listArray[i];
}

public int size()
{
      return size;
}

public boolean isEmpty()
{
      return size == 0;
}

public int MoreDataDelete(SeqList L,Object x) throws Exception
{
      int i,j;
      int tag = 0;

      for(i = 0;i < L.size;i++)
      {
       if(x.equals(L.getData(i)))
       {
        L.delete(i);
        i--;
        tag = 1;
       }
      }
      return tag;
}
}

//SeqListTest1.java      示例程序1(主程序)


public class SeqListTest1
{
public static void main(String args[])
{
      SeqList seqlist = new SeqList(100);
      int n = 10;
      try
      {
       for(int i = 0;i < n;i++)
       {
        seqlist.insert(i,new Integer(i+1));
       }

       seqlist.delete(4);

       for(int i = 0;i < seqlist.size;i++)
       {
        System.out.print(seqlist.getData(i)+"      ");
       }
      }
      catch(Exception e)
      {
       System.out.println(e.getMessage());
      }
}
}

//SeqListTest2.java     示例程序2


public class SeqListTest2
{
public static void main(String args[])
{
    SeqList seqList = new SeqList(100);
    Student[] student;
          student = new Student[3];
          student[0] = new Student(2000001,"张三","男",20);
          student[1] = new Student(2000002,"李四","男",21);
          student[2] = new Student(2000003,"王五","女",22);

          int n = 3;
          try
          {
     for(int i = 0;i < n;i++)
     {
      seqList.insert(i,student[i]);
     }

     for(int i = 0;i < seqList.size;i++)
     {
      Student st = (Student)seqList.getData(i);
      System.out.println(st.getNumber()+"     "+st.getName()+"     "+st.getSex()+"     "+st.getAge());
     }
    }
    catch(Exception e)
    {
     System.out.println(e.getMessage());
    }
}
}

class Student
{
private long number;
private String name;
private String sex;
private int age;
Student(long number,String name,String sex,int age)
{
    this.number = number;
    this.name = name;
    this.sex = sex;
    this.age = age;
}

public long getNumber()
{
    return number;
}

public String getName()
{
    return name;
}

public String getSex()
{
    return sex;
}

public int getAge()
{
    return age;
}
}

本站原创,转帖请注明出处:http://hi.baidu.com/jadmin/blog/谢谢!

posted @ 2007-04-29 17:57 jadmin 阅读(81) | 评论 (0)编辑 收藏


        夫志当存高远,慕先贤,绝情欲,弃疑滞。使庶几之志揭然有所存,恻然有所感。忍屈伸,去细碎,广咨问,除嫌吝,虽有淹留,何损于美趣,何患于不济。若志不强毅,意气不慷慨,徒碌碌滞于俗,默默束于情,永窜伏不庸,不免于下流。

posted @ 2007-04-29 17:42 jadmin 阅读(92) | 评论 (0)编辑 收藏

 症状1:安装时候提示程序挂起。
 解决方案1:(验证有效)


                         开始\运行\输入regedit回车
                         +HKEY_LOCAL_MACHINE
                         +SYSTEM
                         +CurrentControlSet
                         +Control
                         +Session Manager下的FileRenameOperations删掉


 解决方案2:(没试过……)


                         +HKEY_LOCAL_MACHINE
                         +SOFTWARE
                         +Microsoft
                         +Windows
                         +CurrentVersion
                         +Setup
                         +ExceptionComponents下的东西全部删掉如:
                           {077ACEC7-979C-40AB-9835-435BA1511E0D}
                           {30C7234B-6482-4A55-A11D-ECD9030313F2}
                           {3FDF25EE-E592-4495-8391-6E9C504DAC2B}
                           {60204BB3-7078-4F70-8F69-68297621941C}......

                           总之有几项,就删几项,删掉后重启,再装SQL Server,就不会提示有挂起了。


  症状2:WindowsXP SP2下或其他非Server版操作系统下不能安装企业版。


  解决方案1:进入企业版安装目录,进入MSDE目录,运行SETUP安装。此为服务器组件安装程序。重启系统可以发现托盘中已经有了服务器图标。之后,进入企业版安装程序,按提示正常安装即可,此处仍然提示不能安装服务器组件,不过没关系,我们已经手动安装好了服务器程序。在运行中输入regedit打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLSERVER\MSSQLSERVER],将键值LoginMode,默认值1改为2,重启电脑。打开企业管理器,尝试用SA注册连接,成功则OK!


  解决方案2:下载工具NTSwitch.exe,将当前系统从Workstation转换为Server,确定,重启。重启后可能操作上有些问题,可以多试几次,重启再试,有些耐心……呵呵。直接运行SQLSERVER2000企业版安装程序,顺利通过。并没有提示不能安装服务器程序等等。安装完毕,再将系统转换回Workstation,重启,完毕!无论哪种安装方式,都要记得打好SQL补丁包,目前出到SP4,否则诸如做JDBC连接时,会出现问题。

posted @ 2007-04-22 12:36 jadmin 阅读(56) | 评论 (0)编辑 收藏

一、 JSP 技术概述
   在 Sun 正式发布 JSP(JavaServer Pages) 之后,这种新的 Web 应用开发技术很快引起了人们的关注。 JSP 为创建高度动态的 Web 应用提供了一个独特的开发环境。按照 Sun 的说法, JSP 能够适应市场上包括 Apache WebServer 、 IIS4.0 在内的 85% 的服务器产品。即使您对 ASP “一往情深”,我们认为,关注 JSP 的发展仍旧很有必要。

   ㈠ JSP 与 ASP 的简单比较

   JSP 与 Microsoft 的 ASP 技术非常相似。两者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。在 ASP 或 JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 和 JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 和 JSP 都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。

   ASP 的编程语言是 VBScript 之类的脚本语言, JSP 使用的是 Java ,这是两者最明显的区别。此外, ASP 与 JSP 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在 ASP 下, VBScript 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译成 Servlet 并由 Java 虚拟机执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。

   ㈡运行环境

   Sun 公司的 JSP 主页在 http://www.javasoft.com/products/jsp/index.html ,从这里还可以下载 JSP 规范,这些规范定义了供应商在创建 JSP 引擎时所必须遵从的一些规则。

   执行 JSP 代码需要在服务器上安装 JSP 引擎。此处我们使用的是 Sun 的 JavaServer Web Development Kit ( JSWDK )。为便于学习,这个软件包提供了大量可供修改的示例。安装 JSWDK 之后,只需执行 startserver 命令即可启动服务器。在默认配置下服务器在端口 8080 监听,使用 http://localhost:8080 即可打开缺省页面。

   在运行 JSP 示例页面之前,请注意一下安装 JSWDK 的目录,特别是“ work ”子目录下的内容。执行示例页面时,可以在这里看到 JSP 页面如何被转换成 Java 源文件,然后又被编译成 class 文件(即 Servlet )。 JSWDK 软件包中的示例页面分为两类,它们或者是 JSP 文件,或者是包含一个表单的 HTML 文件,这些表单均由 JSP 代码处理。与 ASP 一样, JSP 中的 Java 代码均在服务器端执行。因此,在浏览器中使用“查看源文件”菜单是无法看到 JSP 源代码的,只能看到结果 HTML 代码。所有示例的源代码均通过一个单独的“ examples ”页面提供。

   ㈢ JSP 页面示例

   下面我们分析一个简单的 JSP 页面。您可以在 JSWDK 的 examples 目录下创建另外一个目录存放此文件,文件名字可以任意,但扩展名必须为 .jsp 。从下面的代码清单中可以看到, JSP 页面除了比普通 HTML 页面多一些 Java 代码外,两者具有基本相同的结构。 Java 代码是通过 < % 和 %> 符号加入到 HTML 代码中间的,它的主要功能是生成并显示一个从 0 到 9 的字符串。在这个字符串的前面和后面都是一些通过 HTML 代码输出的文本。

  < HTML>
  < HEAD>< TITLE>JSP 页面 < /TITLE>< /HEAD>
  < BODY>
  < %@ page language="java" %>
  < %! String str="0"; %>
  < % for (int i=1; i < 10; i++) {
  str = str + i;
  } %>
  JSP 输出之前。
  < P>
  < %= str %>
  < P>
  JSP 输出之后。
  < /BODY>
  < /HTML>

   这个 JSP 页面可以分成几个部分来分析。

首先是 JSP 指令。它描述的是页面的基本信息,如所使用的语言、是否维持会话状态、是否使用缓冲等。 JSP 指令由 < %@ 开始, %> 结束。在本例中,指令“ < %@ page language="java" %> ”只简单地定义了本例使用的是 Java 语言(当前,在 JSP 规范中 Java 是唯一被支持的语言)。
接下来的是 JSP 声明。 JSP 声明可以看成是定义类这一层次的变量和方法的地方。 JSP 声明由 < %! 开始, %> 结束。如本例中的“ < %! String str="0"; %> ”定义了一个字符串变量。在每一项声明的后面都必须有一个分号,就象在普通 Java 类中声明成员变量一样。
位于 < % 和 %> 之间的代码块是描述 JSP 页面处理逻辑的 Java 代码,如本例中的 for 循环所示。
最后,位于 < %= 和 %> 之间的代码称为 JSP 表达式,如本例中的“ < %= str %> ”所示。 JSP 表达式提供了一种将 JSP 生成的数值嵌入 HTML 页面的简单方法。


二、会话状态管理

   会话状态维持是 Web 应用开发者必须面对的问题。有多种方法可以用来解决这个问题,如使用 Cookies 、隐藏的表单输入域,或直接将状态信息附加到 URL 中。 Java Servlet 提供了一个在多个请求之间持续有效的会话对象,该对象允许用户存储和提取会话状态信息。 JSP 也同样支持 Servlet 中的这个概念。

   在 Sun 的 JSP 指南 中可以看到许多有关隐含对象的说明(隐含的含义是,这些对象可以直接引用,不需要显式地声明,也不需要专门的代码创建其实例)。例如 request 对象,它是 HttpServletRequest 的一个子类。该对象包含了所有有关当前浏览器请求的信息,包括 Cookies , HTML 表单变量等等。 session 对象也是这样一个隐含对象。这个对象在第一个 JSP 页面被装载时自动创建,并被关联到 request 对象上。与 ASP 中的会话对象相似, JSP 中的 session 对象对于那些希望通过多个页面完成一个事务的应用是非常有用的。

   为说明 session 对象的具体应用,接下来我们用三个页面模拟一个多页面的 Web 应用。第一个页面( q1.html )仅包含一个要求输入用户名字的 HTML 表单,代码如下:

  < HTML>
  < BODY>
  < FORM METHOD=POST ACTION="q2.jsp">
 请输入您的姓名:
  < INPUT TYPE=TEXT NAME="thename">
  < INPUT TYPE=SUBMIT VALUE="SUBMIT">
  < /FORM>
  < /BODY>
  < /HTML>

   第二个页面是一个 JSP 页面( q2.jsp ),它通过 request 对象提取 q1.html 表单中的 thename 值,将它存储为 name 变量,然后将这个 name 值保存到 session 对象中。 session 对象是一个名字 / 值对的集合,在这里,名字 / 值对中的名字为“ thename ”,值即为 name 变量的值。由于 session 对象在会话期间是一直有效的,因此这里保存的变量对后继的页面也有效。 q2.jsp 的另外一个任务是询问第二个问题。下面是它的代码:

  < HTML>
  < BODY>
  < %@ page language="java" %>
  < %! String name=""; %>
  < %
  name = request.getParameter("thename");
  session.putValue("thename", name);
  %>
 您的姓名是: < %= name %>
  < p>
  < FORM METHOD=POST ACTION="q3.jsp">
 您喜欢吃什么 ?
  < INPUT TYPE=TEXT NAME="food">
  < P>
  < INPUT TYPE=SUBMIT VALUE="SUBMIT">
  < /FORM>
  < /BODY>
  < /HTML>

   第三个页面也是一个 JSP 页面( q3.jsp ),主要任务是显示问答结果。它从 session 对象提取 thename 的值并显示它,以此证明虽然该值在第一个页面输入,但通过 session 对象得以保留。 q3.jsp 的另外一个任务是提取在第二个页面中的用户输入并显示它:

  < HTML>
  < BODY>
  < %@ page language="java" %>
  < %! String food=""; %>
  < %
  food = request.getParameter("food");
  String name = (String) session.getValue("thename");
  %>
 您的姓名是: < %= name %>
  < P>
 您喜欢吃: < %= food %>
  < /BODY>
  < /HTML>


三、引用 JavaBean 组件


   JavaBean 是一种基于 Java 的软件组件。 JSP 对于在 Web 应用中集成 JavaBean 组件提供了完善的支持。这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为 JSP 应用带来了更多的可伸缩性。 JavaBean 组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。如果我们有三个 JavaBean ,它们分别具有显示新闻、股票价格、天气情况的功能,则创建包含所有这三种功能的 Web 页面只需要实例化这三个 Bean ,使用 HTML 表格将它们依次定位就可以了。

   为说明在 JSP 环境下 JavaBean 的应用,我们创建了一个名为 TaxRate 的 Bean 。它有两个属性,即 Product (产品)和 Rate (税率)。两个 set 方法分别用来设置这两个属性,两个 get 方法则用于提取这两个属性。在实际应用中,这种 Bean 一般应当从数据库提取税率值,此处我们简化了这个过程,允许任意设定税率。下面是这个 Bean 的代码清单:

  package tax;
  public class TaxRate {
  String Product;
  double Rate;
  public TaxRate() {
  this.Product = "A001";
  this.Rate = 5;
  }
  public void setProduct (String ProductName) {
  this.Product = ProductName;
  }
  public String getProduct() {
  return (this.Product);
  }
  public void setRate (double rateValue) {
  this.Rate = rateValue;
  }
  public double getRate () {
  return (this.Rate);
  }
  }

   在 JSP 页面中应用上述 Bean 要用到 < jsp:useBean> 标记。依赖于具体使用的 JSP 引擎的不同,在何处配置以及如何配置 Bean 的方法也可能略有不同。本文将这个 Bean 的 .class 文件放在 c:\jswdk-1.0\examples\WEB-INF\jsp\beans\tax 目录下,这里的 tax 是一个专门存放该 Bean 的目录。下面是一个应用上述 Bean 的示例页面:

  < HTML>
  < BODY>
  < %@ page language="java" %>
  < jsp:useBean id="taxbean" scope="application" class="tax.TaxRate" />
  < % taxbean.setProduct("A002");
  taxbean.setRate(17);
  %>
 使用方法 1 : < p>
 产品 : < %= taxbean.getProduct() %> < br>
 税率 : < %= taxbean.getRate() %>
  < p>
  < % taxbean.setProduct("A003");
  taxbean.setRate(3);
  %>
  < b> 使用方法 2 : < /b> < p>
 产品 : < jsp:getProperty name="taxbean" property="Product" />
  < br>
 税率 : < jsp:getProperty name="taxbean" property="Rate" />
  < /BODY>
  < /HTML>

   在 < jsp:useBean> 标记内定义了几个属性,其中 id 是整个 JSP 页面内该 Bean 的标识, scope 属性定义了该 Bean 的生存时间, class 属性说明了该 Bean 的类文件(从包名开始)。

   这个 JSP 页面不仅使用了 Bean 的 set 和 get 方法设置和提取属性值,还用到了提取 Bean 属性值的第二种方法,即使用 < jsp:getProperty> 标记。 < jsp:getProperty> 中的 name 属性即为 < jsp:useBean> 中定义的 Bean 的 id ,它的 property 属性指定的是目标属性的名字。


   事实证明, Java Servlet 是一种开发 Web 应用的理想构架。 JSP 以 Servlet 技术为基础,又在许多方面作了改进。 JSP 页面看起来象普通 HTML 页面,但它允许嵌入执行代码,在这一点上,它和 ASP 技术非常相似。利用跨平台运行的 JavaBean 组件, JSP 为分离处理逻辑与显示样式提供了卓越的解决方案。 JSP 必将成为 ASP 技术的有力竞争者。

posted @ 2007-04-14 15:11 jadmin 阅读(43) | 评论 (0)编辑 收藏
1、在eclipse的主目录(ECLIPSE_HOME,比如在我的机器上安装的目录是:D:\JavaDev\3.1)有一个plugins的目录,这种方法的插件安装非常简单,只要将插件copy到这个目录下就可以了。比如我有一个weblogic的插件(bea站点上可以下载),解压缩之后得到得到一个目录:【com.bea.eclipse.weblogic_1.1.1】,我就将这个目录直接放到%ECLIPSE_HOME%\plugins目录下,重新启动eclipse之后就看到Run->“Start Weblogic”的菜单。安装之后,weblogic插件的全路径为:D:\JavaDev\3.1\plugins\com.bea.eclipse.weblogic_1.1.1]
  
   2、在eclipse目录(ECLIPSE_HOME)下创建一个links目录,然后将你自己的插件放在你想放的任何地方,这个时候你放插件的目录我称她为插件目录(PLUGIN_HOME),然后在你的%ECLIPSE_HOME%\links\目录下创建一个link文件,比如我要安装一个vss插件,我就在我的links目录下创建了:VSS_1.6.1.link文件。而这个VSS_1.6.1.link文件则是指向的我的插件目录(PLUGIN_HOME,比如在我的机器上插件目录为D:\JavaDev\plugins)。VSS_1.6.1.link文件的内容是:
  
   path=D:\\JavaDev\\plugins\\vssplugin_1.6.1
  
   第二种安装插件的时候需要注意,如果你是一个单独的jar文件,则最好在link文件指定的目录下创建这样级别的目录:eclipse\plugins\xxx.xxx(插件名称和版本号),然后将jar文件放在这个目录下即可。比如vss插件在我的机器上的目录是D:\JavaDev\plugins\vssplugin_1.6.1\eclipse\plugins\org.vssplugin_1.6.1,下有一个文件:vssplugin.jar
  
   两种方法的插件安装之后需要重新启动eclipse才能看到插件。如果某一个插件已经安装了想要重新安装,只要将文件替换或者修改link文件的路径即可。如果发现认不到插件,可能是你的插件不支持你的当前eclipse版本,请检查。也有可能是系统配置引起的,我出现过一次,我的解决方法是将ECLIPSE_HOME下的configuration目录下的所有文件删除,剩下config.ini文件。

A.从别人那里搞的eclipse的安装tips
Eclipse的插件安装是很方便的,只需将插件目录拷贝到Eclipse安装目录下的Plugins子目录下即可,但有时候即使这样做了插件还是没有出来,目前来说可按下面几个步骤检查:

1.首先看一下About中的Plugin装载清单,如果没有则需先确认所安装的插件的依赖插件已经安装。Eclipse的插件是有依赖关系的,具体表现在每个插件Plugin.xml中的<requires>标记中,里面的每个<import>标记即表示所依赖的插件ID,Eclipse在启动时会按照插件的依赖关系逐个将插件装载,若找不到所依赖的插件,则所安装的插件运行就有可能不正常。

2.若装载的Plugin清单里已经有了,那可能是没有打开此插件的View或者需要在Preference里配置一些东西才有效,这个最好看一下所安装插件的Plugin.xml,看它都扩展了哪些扩展点,菜单无非就是actionSets这个扩展点,界面都是views这个扩展点,可以在Show View里设置一下,还有其它一些扩展点,可以具体问题具体分析。

3.最有效的办法:看Log。在Eclipse安装目录Workspace/.metadata子目录下(若没有使用默认的工作空间,则目录结构可能会不同)有一个.log文件,从这里面一般可以找到失败的原因。

4.如果插件还是没有安装,则删除Eclipse安装目录Configuration子目录下的org.eclipse.update目录,然后重新启动。

若还是不行,那。。。去问Erich Gamma吧,^_^

分类管理plugins
一般来说,安装插件都是直接拷贝到Plugins子目录下,但是这样有个缺陷,若插件太多,会使内容非常混乱,而且分不清哪个是系统自带的,哪个是以后安装的。这里提供一个办法:
在Eclipse安装目录下新建一个子目录links,里面新建一个文件abcd.link,文件名随便取,文件里的内容为path=D:/MyPlugins(目录可换成自己的),而在Path中指定的目录,即刚才的D:/MyPlugins目录下,一定要有一个eclipse子目录,在此子目录下再有features及plugins子目录(同Eclipse安装目录一样),新插件在安装时即可以拷贝到此plugins目录下,这样就避免了所有插件都放在一起的缺点。而且links目录下可以建多个*.link文件,每个.link文件中的内容可有多行path=...,极大的方便了将插件按照功能来进行分门别类。




说实话,就安装方法来说,eclipse的插件安装应该是世上最容易的。但是,有很多人发现安装的插件就是不生效,这个问题也困扰了我很久,在装CDT时,用CV大法安装的时候我发现失效,后用的在线升级才成功!但当我安装VEP的时候CV大法和在线升级都不管用了,在线升级的时候总是说emf1.0需要emf2.0.1之类的提示,可是在插件列表中明明认出了emf,真不知道是那里搭错了筋!
这个问题让我郁闷和很久,终于在一个blog上发现世上有很多人和我有一样的遭遇,而解决方法是那么的easy!
---把eclipse目录下的configuration目录删掉再重启就OK了!
我倒!


使用Eclipse一年多了,一直都是把所有插件直接安装在plugins和features目录下,虽然目录变得比较乱但也不怎么影响使用。最近因为工作需要,经常更换Eclipse和一些插件的版本,我发现每新装一个Eclipse就要花不少时间来装那几个常用插件,印象里有一种方法可以让插件以链接的方式存在,就在网上查了一下,请看这篇文章,讲得很明白。

按文章中所说的方法,我把所有插件统一放在c:\eclipse-plugins目录下(Eclipse自带的除外),然后在links目录里建立相应的链接文件,很简单没有遇到什么问题,只是要注意插件目录的结构。

今天安装Eclipse 3.2版本的时候,把原来Eclipse的links目录直接复制到新Eclipse下,然后以-clean方式启动就全装好了,超级方便,还节约了不少硬盘空间。大家利用这种方式,还可以很容易的让公司和自己用的电脑上Eclipse的插件版本保持一致。
posted @ 2007-04-14 04:51 jadmin 阅读(64) | 评论 (0)编辑 收藏

1、    缩短等待时间

打开注册表编辑器,找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control,将 WaitToKillServiceTimeout 设为:1000或更小(原设定值:20000)。

找到 HKEY_CURRENT_USER\Control Panel\Desktop 键,将右边窗口的 WaitToKillAppTimeout 改为 1000(原设定值:20000),即关闭程序时仅等待1秒。将 HungAppTimeout 值改为:200(原设定值:5000),表示程序出错时等待0.5秒。

2、    让系统自动关闭停止响应的程序

打开注册表 HKEY_CURRENT_USER\Control Panel\Desktop 键,将 AutoEndTasks 值设为 1(原设定值:0)。

3、    加快菜单显示速度

打开注册表编辑器,找到 HKEY_CURRENT_USER\Control Panel\Desktop,将其下的 MenuShowDelay 项改为:0,你的菜单将会出乎意料地快。

4、    加速共享查看

打开注册表编辑器,把HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\RemoteComputer\NameSpace下的

{D6277990-4C6A-11CF-8D87-00AA0060F5BF} 删掉

5、    加快窗口显示速度:

打开注册表编辑器,找到HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics子键分支,在右边的窗口中找到MinAniMate键值,其类型为REG_SZ,默认情况下此健值的值为1,表示打开窗口显示的动画,把它改为0,则禁止动画的显示,接下来从开始菜单中选择“注销”命令,激活刚才所作的修改即可。

6、    关掉不必要的服务:

如果你只是在单机使用WindowsXP,那么很多服务组件是根本不需要的,额外的服务程序大大拖慢了系统的速度,完全可以将这些多余的服务组件禁用。

下面我们就来看一下怎样关掉不必要的服务。单击“开始”→“设置”→“控制面板”。双击“管理工具”→“服务”,打开后将看到服务列表,有些服务已经启动,有些则没有。右键单击要配置的服务,然后单击“属性”。在“常规”选项卡上选择“自动”、“手动”或“禁用”,其中“自动”表示每次系统启动时,Windows XP都自动启动该服务;“手动”表示WindowsXP不会自动启动该服务,而是在你需要该服务时手动启动该服务;而“禁用”则表示不允许启动该服务。在实际配置时,选择“手动”或者“禁用”都可以实现关闭该服务的目的,推荐使用手动功能,这样你随时可以启动一些临时需要的服务。有些服务是WindowsXP所必需的,不能关闭,否则将会造成系统崩溃。至于各项服务的功能,我们可以通过双击该服务或将鼠标悬停在该服务名上查看。下面我们就先来看一看这些服务的说明,最后再看哪些服务可以关掉(见下表)。对于我们这些单机使用WindowsXP的普通用户来说,可以把表中服务关闭,如果你有特殊要求,可以参照表中说明自行配置Windows XP的服务,以便达到最优状态。

服务名称
如果符合下列条件,你可以将之关闭

alerter
你未连上局域网并且不需要管理警报

clipbook
你不需要查看远程剪贴簿的剪贴页面

distributed linktracking client
若不使用ntfs分区并且没有联入局域网

distributed transactioncoordinator
不需要同时处理多个数据库或者文件系统

fax service
不用windows 2000发送或者接收传真

ftp publishing service
你的计算机不做ftp服务器

iis admin service
你的计算机不做www服务器

indexing service
你的计算机不提供远程文件索引和快速访问或者没有连上局域网

internet connectionsharing
你不准备用windows2000做路由服务器,让多人共享一条线路上网

ipsec policy agent
你未连接到windows 2000的域

logical disk manageradministrative service
你不准备使用磁盘配额

message queuing
你未连接到windows 2000的域

messenger
你未连接到windows2000的域并且不需要管理警报

net logon
你不想让局域网上的其他用户登录

netmeeting remotedesktop sharing
你不想使用netmeeting远程管理计算机

network dde
你没有连入局域网

network dde dsdm
你没有连入局域网

performance logs andalerts
若不想知道计算机每一秒都干什么

qos rsvp
你没有使用依赖于qos的程序

remote access autoconnection manager
你不想在程序企图读取网络信息时自动连接到网络

remote procedure call (rpc)locator
你不需要管理rpc名称服务数据库

routing and remoteaccess
你的计算机不做路由器

runas service
你不需要在某一用户下以另外一个用户的身份执行一个程序

simple mail transportprotocol (smtp)
你的计算机不做邮件发送服务器

smart card
你没有智能卡阅读器

smart card helper
你没有旧式智能卡阅读器

snmp trap service
你没有连接到windows 2000的域

tcp/ip netbios helperservice
你的计算机不准备让别人共享

tcp/ip print server
不让你的计算机成为网络打印服务器

telnet
不想远程控制计算机执行控制台命令

uninterruptible powersupply
没使用ups或ups不支持双向传输信号

utility manager
不从一个窗口中启动和配置辅助工具

windows managementinstrumentation
你不看你的系统管理信息

world wide webpublishing service
你的计算机不做www服务器


7、    删除共享文档:

默认情况下,在Windows XP中打开我的电脑,会看到在硬盘图标上方有一些文件夹。这些就是“共享文件夹”,这里有每一个用来户共享文件所用的文件夹。这些文件夹特别烦人,毫无必要。我们可以让这些文件夹在我的电脑中消失:

打开注册表编辑器,把HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\MyComputer\NameSpace\DelegateFolders下的

{59031a47-3f72-44a7-89c5-5595fe6b30ee}删掉,下次打开我的电脑,这些烦人的文件夹就不复存在了。

8、    加快Windows XP的启动:

(1)Windows XP自带了一个名为Prefetcher的服务,这个服务管理着Windows启动时的程序初始(即启动时滚动的蓝条),其中指定的程序可以在以后使用中快速载入。Prefetcher在默认情况下就是打开的,不过它的性能还可以进一步提升。打开注册表编辑器,在注册表中找到:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,其中有一个键值名为EnablePrefetcher,多数情况下它的值是3。推荐设置值是5——在我的机子上,设为5的时候工作状态最佳。可以随便试试不同的数值,直到找到最适合自己机子的值为止。也可以把Prefetcher禁用掉,只需把值设为0就可以了。不过,除非是为了测试用途,一般人都不会傻到把它设为0。

(2)"我的电脑"->"属性"->"高级"->"启动和故障修复"中,点"错误报告",选择"禁用错误汇报"、"但在发生严重错误时通知我"。
(3)"我的电脑"->"属性"->"高级"->"启动和故障修复"中,点"设置",去掉"将事件写入系统日志","发送管理警报","自动重新启动"选项;将"写入调试信息"设置为"无"。

(4)点击"编辑",在弹出记事本文件中:
  [Operating Systems]
  timeout=30 //把缺省时间 30 秒改为 0 秒
  multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect //把缺省 fastdetect 改为 nodetect
  注册表修改方法:"HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control" ,SystemStartOptions键值改为NODETECT。

9、    加快Windows XP的重启和关机:

按下CTRL+ALT+DELETE打开Windows 任务管理器,然后选择关机(U),先按下CTRL,再按下关闭(U)或重新启动(R),就可以快速地关机或重启。

10、关闭计算机时自动结束任务:

在关机的时候,有时会弹出讨厌的对话框,提醒某个程序仍在运行,是否结束任务。其实完全可以通过一点点修改让Windows自动结束这些仍在运行的程序。在注册表中打开HKEY_CURRENT_USER\Control Panel\Desktop 目录,把里面的AugoEndTasks键值改为1
注:可能会找不到AutoEndTasks键值,如果是这样的话,自己建一个串值并把它改为这个名字,值设为1就可以了。

11、优化程序运行:

程序运行有他们各自的优先次序,所有程序都要占用处理器资源,处理器处理任务有一个先后次序,一般的计算机中有31个优先等级,系统的内核占据了最高的一些等级,这样就能保证系统的稳定,而普通的应用程序一般在比较后面的等级。在普通应用程序中间也有优先次序,他们本来在处理器面前是人人平等的,但还是有些细微的差别,前台的程序(当前正在使用)的优先级要比后台的程序高。你可以自己调节应用程序的优先级,打开任务管理器,点到“进程”选项卡,选一个应用程序的进程,点击右键,会弹出一个快捷菜单,选择“设置优先级”,这里有6个等级:实时,高,高与标准,标准,低于标准,低。你可以让你的程序强行调度到更高或更低(自然为别的程序腾出了资源)的等级。如果你不知道某个应用程序的具体进程,可以如下操作:点到“应用程序”选项卡,右键点中一个任务,选择“转到进程”,就会转到该程序的进程,这样你就找到了该程序的进程了。  

12、优化“启动和故障恢复”设置:

如果在你的系统崩溃时发现你的硬盘使劲儿的响,那是因为Windows XP正在写DUMP文件呢,对我们来说,如果你不打算把这个文件寄给微软(浪费电话费),那么它又有什么用呢?所以我的建议是关闭。右键单击“我的电脑”,点击属性,点击“高级”,在“启动和故障恢复”一栏中,点击“设置”,其中的“系统失败”一栏中,只选择“自动重新启动”,写入调试信息选择“无”。

13、禁用“错误汇报”功能:

这个功能可以在你的Windows XP发生错误的时候,系统自动收集一些错误资料然后发送给微软公司,以便其完善他们的操作系统(又一个浪费电话费且没用的功能),建议关掉它。如果这个功能对你没有用,那又何必让它占用着你的内存呢?右键单击“我的电脑”,点击属性,点击“高级”→“错误汇报”,选择“禁用错误汇报”功能。

14、关闭“Internet时间同步”功能:

如果启用了同步,你的计算机时钟每周就会和 Internet 时间服务器进行一次同步,建议关掉它(一个没多大用的功能)。请依次单击“开始”→“控制面板”→“日期、时间、语言和区域选项”,然后单击“日期和时间”→“Internet时间”。

15、关闭华医生Dr.Watson:

在"开始"->"运行"中输入"drwtsn32"命令,或者"开始"->"程序"->"附件"->"系统工具"->"系统信息"->"工具"->"Dr Watson",调出系统里的华医生Dr.Watson ,只保留"转储全部线程上下文"选项,否则一旦程序出错,硬盘会读很久,并占用大量空间。如以前有此情况,请查找user.dmp文件,删除后可节省几十MB空间。

16、设置IDE设备的DMA模式:

出于某些原因,Windows XP有时会在IDE通道上使用PIO并行输入输出传输模式,而不是DMA模式。如果有这种情况,用户可以手动把IDE通道改为DMA模式,这样可以减少该设备占用的CPU周期。打开设备管理器(右键点击我的电脑,选属性,点选硬件选项卡,点击“设备管理器”打开),然后点击展开“IDE ATA/ATAPI 控制器”分支,双击“Primary IDE Channel”,点击高级设置。检查“传输模式”下拉菜单,把它们全部设为DMA If Available(允许情况下使用DMA),点击确定。再用同样的方式修改每一个IDE控制器。

17、取消对zip文件的支持:

这是一个相当好的优化,Windows XP内置了对.ZIP文件的支持,我们可以把zip文件当成文件夹浏览。不过,系统要使用部分资源来实现这一功能,因此禁用这一功能可以提升系统性能。实现方法非常简单,只需取消zipfldr.dll的注册就可以了,点击开始—>运行,敲入:regsvr32 /u zipfldr.dll 然后回车即可。

18、关掉快速切换功能:

Win XP的一个很引人注目的功能叫做“快速切换”,这个功能为许多人在同一时间使用电脑提供了可能,但是要注意每一项功能总是伴随着资源的损失,如果你的内存少与64M,Win XP在装的时候就被自动禁止掉了,因为这样会使本来就已捉襟见肘的内存的压力更加大,对128M的用户来说,开这个功能虽然没什么关系,但是你又不是很需要这项功能,所以建议把这个功能给关掉。方法如下:控制面板-->用户帐户,点击“更改用户登陆或注销方式”,去掉“使用快速用户切换”就可以了。

19、为IRQ中断请求排优先次序:

这是一项非常有效的优化。计算机的每一个主要部件都设了个IRQ中断号。这里就是要通过修改每个IRQ请求的优先次序达到优化目的。这里主要的优化对象是系统/CMOS实时钟,它通过主板来提升性能。首先,要确定你想要哪个组件获得更高的性能,然后找到这个硬件正在使用的IRQ中断号。怎么找呢?打开控制面板里的系统属性(也可以按键盘上的Windows+Break热键组合打开它)。选中“硬件”选项卡,然后点击“设备管理器”按钮。右键点击要查IRQ号的组件,选择“属性”,然后点击“资源”选项卡。 这里可以看到设备正在使用的IRQ中断号(如果没有IRQ中断号,选择另一个设备)。把中断号记下来,然后运行注册表编辑器regedit,找到注册表中的HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\PriorityControl 位置。我们要在这里建立一个名为IRQ#Priority(其中“#”是具体的IRQ中断号)的DWORD双字节值,然后把它的值设为1。譬如说,我的系统CMOS实时钟的IRQ中断号是8,我要建立的键名就是IRQ8Priority。重新启动计算机之后,就会发现刚优化过的组件性能有所提高。笔者强烈建议用这个方法优化系统CMOS实时钟,因为它能改善整块主板的性能。当然也可以把多个IRQ中断号优先级提高,但这样做的效果没那么好,而且有可能造成系统不稳定。要把这个优化设置撤消的话,只要把刚才建立的注册表键值删掉就OK了。

。。。。。。

posted @ 2007-04-13 23:26 jadmin 阅读(46) | 评论 (0)编辑 收藏

         装过矮人Dos工具,卸载后发现argh目录依旧存在,而且删又删不掉,打又打不开,在网上查了很多方法。最常见的是用 unlock ,还有就是用命令行:

         在开始→运行→cmd里输入:

         rd/s d:\argh~1

         rd/s e:\argh~1

         rd/s f:\argh~1

         ......

         这样就删掉了argh目录

posted @ 2007-04-13 23:23 jadmin 阅读(42) | 评论 (0)编辑 收藏
仅列出标题
共50页: First 上一页 42 43 44 45 46 47 48 49 50 下一页