java
文章平均质量分 66
ForWayfarer
移动增值程序开发者
展开
-
Java - Design with inheritance
当我们使用现成的类来建立新类时,较好的方式是首先选择组合,尤其是不能十分确定应该使用哪一种方式时。组合不会强制我们的程序设计进入继承的层级结构中。而且组合更加灵活,因为它可以动态选择类型(因此也就选择了行为);相反,继承在编译时就需要知道确切类型。/** *//** * Title: 用继承进行设计 * Description: Dynamically changing the behav原创 2008-04-28 14:37:00 · 695 阅读 · 0 评论 -
JDK和JRE的区别
1. 定义JRE(Java Runtime Enviroment)是Java的运行环境。面向Java程序的使用者,而不是开发者。如果你仅下载并安装了JRE,那么你的系统只能运行Java程序。JRE是运行Java程序所必须环境的集合,包含JVM标准实现及Java核心类库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。JDK(Java Develop原创 2008-11-17 20:42:00 · 20754 阅读 · 10 评论 -
如果要求精确的答案,请避免使用float和double
1. 概述float和double类型的主要设计目的是为了科学计算和工程计算。它们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确结果的场合。float和double类型对于货币计算尤为不合适,因为要让一个float或者double精确地表示0.1(或者10的任何负数次方值)是不可能的,比如Syste原创 2008-10-10 19:27:00 · 7203 阅读 · 2 评论 -
装箱和拆箱
1.int、Integer、String三者的相互转换(不涉及Autoboxing/Auto-Unboxing)public static void main(String[] args) { int num; Integer integer; String numString; //(1) int转换为Integer:public原创 2008-09-21 23:14:00 · 3111 阅读 · 0 评论 -
Date相关
java.lang.Object |--java.util.Date |--java.sql.Date |--java.sql.Timestampjava.lang.Object |--java.text.Format |--java.text.DateFormat (抽象类, 不能通过构造函数构造对象, 只可以通过getDateTimeInstance()方原创 2008-09-21 16:27:00 · 3588 阅读 · 0 评论 -
string机制2
先来推荐一个检测内存泄漏的软件:JProfiler。很不错。本篇博文用到了这个软件。接上一篇博文中那个经典面试问题。这里我用JProfiler对String对象的产生进行了监控。结果表明上篇博文的分析是正确的。public static void main(String[] args) { System.out.println("=====Start========");原创 2008-09-14 01:49:00 · 943 阅读 · 0 评论 -
string机制1
1.String类概念(1)String是final的,不可被继承。public final class String。String是的本质是字符数组char[], 并且其值不可改变。private final char value[];(2)Java运行时会维护一个String Pool(String池)。String池用来存放运行时中产生的各种字符串,并且池中的字符串的内容不重复。而一原创 2008-09-14 01:39:00 · 2347 阅读 · 0 评论 -
String、StringBuffer和StringBuilder
String是final的系统内置类型,不可被继承。String是不可变的对象(长度固定、值不可变)。因此在每次对String类型进行改变的时候其实都等同于生成了一个新的String对象,然后将指针指向新的String对象,所以经常改变内容的字符串最好不要用String,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM的GC就会开始工作,那速度是一定会相当慢的。举例:原创 2008-09-13 17:49:00 · 1191 阅读 · 0 评论 -
string机制3
1.intern()定义public native String intern(); 这是一个本地方法。在调用这个方法时,JAVA虚拟机首先检查字符串池中是否已经存在与该对象值相等对象存在,如果有则返回字符串池中对象的引用;如果没有,则先在字符串池中创建一个相同值的String对象,然后再将它的引用返回。 换一种解释:存在于.class文件中的常量池,在运行期被JVM装载,并且可以扩充。S原创 2008-09-14 11:52:00 · 734 阅读 · 1 评论 -
vo/ActionForm中封装属性时要去除空格
例如 public String getUid() { if (uid != null) uid = uid.trim(); return uid; } public String getPassword() { if (password != null) password = password.trim();原创 2008-09-07 22:54:00 · 1131 阅读 · 0 评论 -
Java - Save Object with Arrays
保存对象有很多种方式,数组在其中有什么特别之处呢?数组和其它容器之间的区别主要有两方面:效率和类型。第一,效率:在Java中,数组是一种效率最高的存储和随机访问对象引用序列的方式。**数组就是一个简单的线性序列。但当创建一个数组对象(将数组看作对象),数组的大小就被固定了,并且这个数组的生命周期也是不可改变的。通常是创建一个特定大小的数组,在空间不足的时候再创建一个新的数组,然后把旧数组中的所有引原创 2008-06-13 16:52:00 · 1151 阅读 · 0 评论 -
Java - Array Initialization
数组:相同类型的、用一个标识符名称封装到一起的,一个对象序列or基本类型数据序列。数组定义方式:int[] a1; 编译器不允许指定上述代码中数组的大小。这就又把我们带回到有关“引用”的问题上。现在拥有的只是对数组的一个引用,而且也没给数组分配任何空间。为了给数组创建相应的存储空间,必须写初始化表达式。 **对于数组,初始化动作可以出现在代码的任何地方,但也可以使用一种特殊的初始化表达式,它必须在原创 2008-06-13 11:00:00 · 1952 阅读 · 0 评论 -
StringBuffer
描述:在实际应用中,经常回遇到对字符串进行动态修改。这时候,String类的功能受到限制,而StringBuffer类可以完成字符串的动态添加、插入和替换等操作。 1、构造函数。 StringBuffer() :构造一个没有任何字符的StringBuffer类。 StringBuffer(int length) : :构造一个没有任何字符的StringBuffer类,并且,其长度为length转载 2008-08-30 10:16:00 · 889 阅读 · 0 评论 -
Java - Constructors and Polymorphism
构造器并不具有多态性(它们实际上是static方法,只不过该static声明是隐式的)。但仍需要理解构造器怎样通过多态在复杂的层次结构中运作。基类构造器总是在导出类的构造过程中被调用,而且按照继承层次逐层链接,以使每个基类的构造器都能得到调用。这样做是有意义的,因为构造器具有一项特殊任务:检查对象是否被正确的构造。导出类只能访问它自己的成员,不能访问基类的成员(类中成员变量通常是private原创 2008-04-28 09:52:00 · 826 阅读 · 0 评论 -
Java - interface02
群组常量接口中的字段自动是public的,同时也自动是static和final的,所以接口就成为了一种很便捷的用来创建常量组的工具(Java中标识有static final时,使用大写字母的风格,并在一个标识符中用下划线来分割多个单词)。/** *//** * Title: About constants in interfaces * Description: Using int原创 2008-04-27 15:41:00 · 711 阅读 · 0 评论 -
Java - interface01
interface关键字使abstract的概念向前迈进了一步。abstract允许人们在类中创建一个或多个没有具体实现的方法;interface则产生一个完全抽象的类,它的所有方法都没有具体实现(全部都只是声明)。你可以将interface看作“纯粹的”abstract class。它允许类的创建者为类建立其形式:有方法名、参数列表和返回类型,但是没有任何方法体。接口也可以包含字段,但是它们隐式原创 2008-04-26 21:52:00 · 871 阅读 · 0 评论 -
标准输入/输出/出错
大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错。 这三个标准文件描述符映射到编程语言的标准库中,往往加了一层包装,但是名字通常还是叫标准输入,标准输出,标准出错。在其它语言中的一般写法是:stdin,stdout,stderr(有的语言里大写,有的语言里小写)。对应Java中的System.in,System.out,System.err。 在语言层面的实现三个文件描述原创 2008-11-17 20:56:00 · 3233 阅读 · 0 评论