﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-JAVAEE-随笔分类-J2se</title><link>http://www.blogjava.net/hhcto/category/18267.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 16:11:11 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 16:11:11 GMT</pubDate><ttl>60</ttl><item><title>EditPlus编译Java(转载)</title><link>http://www.blogjava.net/hhcto/archive/2006/12/10/86725.html</link><dc:creator>hhcto</dc:creator><author>hhcto</author><pubDate>Sun, 10 Dec 2006 10:00:00 GMT</pubDate><guid>http://www.blogjava.net/hhcto/archive/2006/12/10/86725.html</guid><wfw:comment>http://www.blogjava.net/hhcto/comments/86725.html</wfw:comment><comments>http://www.blogjava.net/hhcto/archive/2006/12/10/86725.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hhcto/comments/commentRss/86725.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hhcto/services/trackbacks/86725.html</trackback:ping><description><![CDATA[EditPlus是很多程序员非常熟悉的编辑工具，它以占用系统资源小、操作简便灵活、支持文件类型丰富（还能自定义文件类型）等优点而被广泛使用。<br />其实EditPlus不但有编辑程序的功能，还有灵活的编译功能，下面就简单介绍一下EditPlus对JAVA的编译设置。<br />实现对JAVA的编译<br />在配置EditPlus之前，我们先要将JAVA的运行环境安装并且调试好，这里我就不再说明了。<br />首先，从菜单“工具（Tools）”;“配置用户工具...”进入用户工具设置。<br />在类别里展开“工具”树形菜单;“用户工具”，选择“组和工具项目”中的“Group 1”，点击面板右边的“组名称...”按钮，将文本Group1”修改成“编译JAVA程序”。<br />然后选择修改的组“编译JAVA程序”，点击“添加新工具”按钮，选择程序，建立“新建程序”，选中它。<br />然后就是最重要的步骤（修改属性）：<br />1.1 添加编译功能 <br />“菜单文字”里的内容修改为“JAVAC”；<br />“命令”选择安装JDK后的BIN目录中的编译程序JAVAC.EXE，如果JDK 安装路径为“c:\jdk”，那么此路径为“c:\jdk\bin\javac.exe”；<br />“参数”选择“文件名称”，即显示为“$(FileName)”；<br />“初始目录”选择“文件目录”，显示为“$(FileDir)”；选择“捕获输出”复选框。<br />1.2 添加执行功能<br />“菜单文字”里的内容修改为“JAVA”；<br />“命令”选择安装JDK后的BIN目录中的编译程序JAVA.EXE，路径为“c:\jdk\bin\java.exe”；<br />“参数”选择“文件名（不含扩展名）”，即显示为“$(FileNameNoExt)”；<br />“初始目录”选择“文件目录”，显示为“$(FileDir)”；选择“捕获输出”复选框。<br />这样就完成了基本的配置工作，下面来试着编写一个JAVA程序来测试一下（如图），编译的所有信息都会显示在输出窗口中，双击某一行错误信息，EditPlus会自动定位到出错行 <br />转自（<a href="http://www.neeao.com/blog/article.asp?id=2400">http://www.neeao.com/blog/article.asp?id=2400</a>）<br /><img src ="http://www.blogjava.net/hhcto/aggbug/86725.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hhcto/" target="_blank">hhcto</a> 2006-12-10 18:00 <a href="http://www.blogjava.net/hhcto/archive/2006/12/10/86725.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于java克隆</title><link>http://www.blogjava.net/hhcto/archive/2006/12/10/86696.html</link><dc:creator>hhcto</dc:creator><author>hhcto</author><pubDate>Sun, 10 Dec 2006 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/hhcto/archive/2006/12/10/86696.html</guid><wfw:comment>http://www.blogjava.net/hhcto/comments/86696.html</wfw:comment><comments>http://www.blogjava.net/hhcto/archive/2006/12/10/86696.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hhcto/comments/commentRss/86696.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hhcto/services/trackbacks/86696.html</trackback:ping><description><![CDATA[
		<p>/**<br /> *默认得克隆方法为浅克隆只克隆对象得非引用类型(或者非对象型）成员<br /> *要做深克隆有两种方法：<br /> *a.覆写克隆方法（引用型成员的克隆方法）并且克隆时掉一次引用型成员的克隆方法！<br /> *b.序列化对象时默认为深克隆<br /> *<br /> */<br /> <br /> class Friend implements Cloneable {<br />   int age;<br />   String name;<br />  <br />  public Friend(int age, String name) {<br />   this.age = age;<br />   this.name = name; <br />  }<br />  <br />  public Object clone () throws CloneNotSupportedException {<br />   return super.clone(); <br />  }<br />   <br /> }<br /> <br /> class Person implements Cloneable  {<br />   int age;<br />  /* *<br />   *String 类型特殊，因为他为引用型，而且他指向的值为常量，克隆出来的对象改变他的<br />   *值实际上是改变了克隆出来对象String类型成员的指向不会影响被克隆对象的值及其指向?<br />   *因为引用被克隆了，我改变的是引用的指向！<br />  */<br />   String name;<br />  <br />   Friend f;<br />  <br />  public Person(int age, String name, Friend f) {<br />   this.age = age;<br />   this.name = name;<br />   this.f = f;<br />  }<br />  <br />  public Object clone () throws CloneNotSupportedException {<br />   Person p = (Person)super.clone();<br />   p.f = (Friend)p.f.clone();<br />   return p; <br />  }<br />  <br />  public String toString(){<br />  StringBuffer sb = new StringBuffer();<br />  return super.toString()+sb.append("age=").append(age).<br />   append(",name=").append(name).<br />   append("friend=").append("f.name=").<br />   append(f.name).append("f.age=").append(f.age).toString();<br /> }<br /> }<br /> <br /> <br /> public class Clonetest {<br />  public static void main(String [] args)  throws CloneNotSupportedException {<br />   Person p = new Person(4,"haha",new Friend(5,"hehe"));<br />   Person p1 = (Person)p.clone();<br />   p1.name = "oop";<br />   p1.age = 10;<br />   p1.f.name = "ooad";<br />   p1.f.age = 56;<br />   System.out.println (p);<br />  System.out.println (p1);<br />  } <br /> }</p>
<img src ="http://www.blogjava.net/hhcto/aggbug/86696.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hhcto/" target="_blank">hhcto</a> 2006-12-10 15:13 <a href="http://www.blogjava.net/hhcto/archive/2006/12/10/86696.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几个Java问题</title><link>http://www.blogjava.net/hhcto/archive/2006/12/10/86697.html</link><dc:creator>hhcto</dc:creator><author>hhcto</author><pubDate>Sun, 10 Dec 2006 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/hhcto/archive/2006/12/10/86697.html</guid><wfw:comment>http://www.blogjava.net/hhcto/comments/86697.html</wfw:comment><comments>http://www.blogjava.net/hhcto/archive/2006/12/10/86697.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hhcto/comments/commentRss/86697.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hhcto/services/trackbacks/86697.html</trackback:ping><description><![CDATA[
		<p>1.静态方法什么时候初始化，在main前还是main后<br /> 在main方法后，静态方法是属于类的，只有在调用时才初始化（main例外，main的调用是在初始化工作完成后程序进入运行状态时），但静态方法在内存中只有一份；</p>
		<p>2.构造函数与继承的关系<br />子类的构造函数内会包含一个父类构造函数，因为在子类构造函数第一行会默认调用父类构造函数，如果覆写该行则可以自行控制父类构造函数版本；可见得父类构造函数和子类构造函数得关系是“继承”不是“覆写”，（每个）子类构造函数继承（包含）父类构造函数的一个版本，并可以有自己的部分，类似继承，子类不完全继承父类方法并可由自己的方法，父类私有不能继承。</p>
		<p>3.接口没有构造函数的原因<br />1.接口里的方法完全抽象构造函数没有实现体，无意义<br />2.接口为了实现多继承，子类构造函数必须调用父类构造函数，如果接口有构造函数子类不知道调用哪个父类构造函数</p>4.String与StringBuffer<br /><p>String类用来表示那些创建后就不会再改变的字符串，它是immutable的。<br />而StringBuffer类用来表示内容可变的字符串，并提供了修改底层字符串的方法。</p><br /><p>－－当我们进行字符拼接时，请使用StringBuffer类而非String类，因为前者将比后者快上百倍。</p><br /><p>的确，在程序的太多场合我们都会进行字符串拼接工作，简单的代码示例如下：</p><br /><p>String str="You are nice.";<br />str+="I love you so much.";</p><br /><p>如果用StringBuffer类的话，代码如下：</p><br /><p>StringBuffer str= new StringBuffer("You are nice.");<br />str.append("I love you so much.");</p><br /><p>        从表面看来String类只用一个加号（+）便完成了字符串的拼接，<br />而StringBuffer类却要调用一个append()方法，是否实现起来更简洁，更单纯呢？其实不然，<br />让我们了解一下程序运行内部发生了哪些事情：</p><br /><p>        经编译后程序的bytecode（字节码）展示出了实质：  在用String类对象直接拼接时，<br />JVM会创建一个临时的StringBuffer类对象，并调用其append()方法完成字符串的拼接，<br />这是因为String类是不可变的，拼接操作不得不使用StringBuffer类（并且－－JVM会将"You are nice."和"I love you so much."<br />创建为两个新的String对象）。<br />之后，再将这个临时StringBuffer对象转型为一个String，代价不菲！可见，在这一个简单的一次拼接过程中，<br />我们让程序创建了四个对象：两个待拼接的String，一个临时StringBuffer，<br />和最后将StringBuffer转型成为的String－－它当然不是最初的str了，这个引用的名称没变，但它指向了新的String对象。</p><br /><p>        而如果直接使用StringBuffer类，程序将只产生两个对象：<br />最初的StringBuffer和拼接时的String（"I love you so much."），<br />也不再需要创建临时的StringBuffer类对象而后还得将其转换回String对象。</p><br /><p>        可以想象，当我们的字符串要被循环拼接若干段时，<br />用String类直接操作会带来多少额外的系统开销，生成多少无用的临时StringBuffer对象，<br />并处理多少次无谓的强制类型转换哪。<br /><br />5. equals() 和 == <br />   equals() 比对象值，即属性是否相等 <br />   ==比引用，地址<br />   在编译时期确定的两个字符串对象引用相等（＝＝）<br />   不在编译期确定的两个字符串字符串引用不相等</p><img src ="http://www.blogjava.net/hhcto/aggbug/86697.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hhcto/" target="_blank">hhcto</a> 2006-12-10 15:13 <a href="http://www.blogjava.net/hhcto/archive/2006/12/10/86697.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>