摘要:
零碎switch(x),x只可以是enum或byte、short、char、int。枚举在switch-case语句作为标签时必须是枚举常量的非限定名称,否则Compile Error。Enum(枚举)的equals实现等价于==。如果String的字面值相等,则hashCode()和equals(... 阅读全文
摘要:
介绍格式:a instanceof B,其中a是一个variable(设a所指向的对象的类型命名为A,即A是一个type。功能:判断A是否 is-a B。当a=null时,始终返回false。当B=Object时,始终返回true。可能返回的结果true:A is-a B。false:B是一个类时,A和B在一棵继承树,但是A is-not-a B。B是一个接口时,A不是final的,A is-not-a B(不要求A和B要在一棵继承树上)。Compile ErrorB是一个类时,A和B不在一棵继承树上,则Compile Error。B是一个接口时,如果A是final的且A和B不在一棵继承树上, 阅读全文
摘要:
49个关键字一览abstractdefaultifprivatethisbooleandoimplementsprotectedthrowbreakdoubleimportpublicthrowsbyteelseinstanceofreturntransientcaseextendsintshort... 阅读全文
摘要:
条件编译一般情况下,源程序中所有的行都参加编译。但有时希望对其中一部分内容只在满足一定条件下才进行编译,即对一部分内容指定编译条件,这就是“条件编译”(conditional compile)。 ---百度百科具体应用场景:实现一个在 Linux和Windows上使用的程序,当程序在Linux上运行时,运行某一段代码,当程序在Windows上运行时,运行另一段代码。实现一个区分 Debug 和 Release 模式的程序,即当程序用于Debug时,运行某一段代码,当程序用于 Release时,运行另一段代码。Java编译器优化法则(1)如果if的条件是fals... 阅读全文
摘要:
Java基本介绍SUN:Stanford University NetworkJava之父:James GoslingJava的跨平台性因为有Java虚拟机,运行class文件。Java吉祥物:DukeJDK是用来开发的(编译Java程序),而如果只运行Java程序,则只需要JRE即可。而JDK也是用Java写的,因此如果要编译Java程序,也要JRE,因此在JDK目录中也会有一个JRE目录。第三方的JAR包(dom4j.jar)都是由class文件组成的,Eclipse的“add to build path”就是将jar包加入环境变量classpath中。标识符命名规范关键字必须是小写不能用 阅读全文
摘要:
javac命令初窥注:以下红色标记的参数在下文中有所讲解。用法: javac 其中, 可能的选项包括: -g 生成所有调试信息 -g:none 不生成任何调试信息 -g:{lines,vars,source} 只生成某些调试信息 -nowarn 不生成任何警告 -verbose 输出有关编译器正在执行的操作的消息 -deprecation 输出使用已过时的 API 的源位置 -classpath 指定查找用户类文件和注释处理程序的位置 -cp 指定查找用户类文件和注... 阅读全文
摘要:
内部类class文件命名规则普通内部类、静态内部类:\$.class,其中为外部类类名,为内部类类名。方法内部类:\$.class,其中为外部类类名,为内部类类名,为在外部类中定义的第number个Inner内部类。因为每个外部类(比如Outer)方法都能够定义一个名字相同的内部类(比如Inner),则命名这些名字相同的内部类的方法为:Outer\$1Inner.class、Outer\$2Inner.class。匿名内部类:\$.class,其中为外部类类名,为第number个匿名内部类,因为匿名内部类没有类名,因此只能用编号代替。普通内部类语法注意点:在普通内部类中不允许定义任何的静态成员 阅读全文
摘要:
P、NP、NPC、NP-hardP:多项式时间能够解决的问题的集合,比如最短路径问题是集合P的一个元素,而最短路径问题本身又是一个集合,因此P是集合的集合。NP:多项式时间内能够验证的问题的集合。【P$\subseteq$NP】NPC:B是NPC问题当且仅当(1)B是NP问题;(2)存在一个已知的NPC问题A,A能规约到B。NP-hard:如果问题B不满足NPC的第一个条件,但满足第二个条件,则称B是NP-hard的。规约:$A \le_p B$如果我们要证明问题B是NPC问题,则我们需要找到一个已知的NPC问题A,且要证明问题B至少比问题A难,即$A \le_p B$。分配寝室问题 新生来. 阅读全文
摘要:
toString()方法原始实现:1 public String toString() 2 {3 return getClass().getName() + "@" + Integer.toHexString(hashCode()); //类名+@+对象的hash值的十六进制4 }hashCode()和equals()方法方法:public boolean equals(Objectobj);public int hashCode();默认规则:如果两个引用变量引用的是不同对象,则hash值不同,equals返回false。如果两个引用变量引用的是同一个对象,则hash值相 阅读全文
摘要:
首先明确一点:默认的序列化方法速度很慢,因为需要对整个对象和他的类都进行保存,因此我们建议自定义序列化格式。ObjectInputStream和ObjectOutputStream用途ObjectInputStreamObjectOutputStream整数readInt()writeInt(int)浮点数readDouble()writeDouble(double)字符串readUTF()writeUTF(String)字节数组read(byte[] buf, int off,int length)write(byte[])对象readObject()writeObject(Object)哪 阅读全文