
java 基础
骑驴的胖头
这个作者很懒,什么都没留下…
展开
-
学习 臧圩人的面试题详解后总结 及费解的问题
1 怎么样的对象在编译类时就放入字符串池中? 只有 定义为 final 并且在初始化时赋值的 字符串常量,才会在编译时就放入字符串池中的。 因为变量是在调用时才能确定其值的,所以在编译时不会将变量放入常量池中的。 也就是说只有常量才会放入字符串池中的。 2 关于“ + ” 只有两个引号包含文本的对象 相“+” 才会放入字符串池中。也就...2009-04-22 00:06:03 · 111 阅读 · 0 评论 -
我的 effective java -- 6.消除过期的对象引用
6.消除过期的对象引用 例子:public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack(){ elements = ne...原创 2012-07-23 19:51:29 · 122 阅读 · 0 评论 -
[转]java中byte转换int时为何与0xff进行与运算
在剖析该问题前请看如下代码public static String bytes2HexString(byte[] b) { String ret = ""; for (int i = 0; i < b.length; i++) { String hex = Integer.toHexString(b[ i ] & 0xFF); if (hex.length() ...原创 2012-03-27 09:17:53 · 103 阅读 · 0 评论 -
我的 effective java -- 5.避免创建不必要的对象.
5 避免创建不必要的对象 一般来说,最好能重用对象而不是在每次需要的时候就创建一个相同功能的新对象。重用的方式即快速,又流程。如果对象是不可变的,他就始终可以被重用。 对于只需要实例化一次的对象,可以使用静态初始化器。static{}优先使用基本类型而不是装箱基本类型(基本类型:long; 装箱基本类型:Long) public static vo...2012-07-19 20:37:42 · 110 阅读 · 0 评论 -
我的 effective java -- 4.通过私有构造器强化不可实例化的能力
4.通过私有化构造器强化不可实例化的能力 当编写的工具类只包换静态方法和静态域,并且不希望被实例化,因为实例对它没有任何意义。可以通过构造私有化构造器来避免类被实例化。 注:1 企图将类做成抽象类来强制该类不可被实例化,这是行不通的。该类可以被子类化,并且该子类也可以被实例化。2 必须使用私有构造器,不能使用显性构造器或者不包含构造器。(当类不包含显性构造器时...原创 2012-07-19 19:58:38 · 105 阅读 · 0 评论 -
关于java 的常量池
常量:在编译初期就确定的既为常量 java中的常量池技术,是为了方便快捷地创建某些对象而出现的,当需要一个对象时,就可以从池中取一个出来(如果池中没有则创建一个),则在需要重复创建相等变量时节省了很多时间。常量池其实也就是一个内存空间,不同于使用new关键字创建的对象所在的堆空间。 String类也是java中用得多的类,同样为了创建String对象的...原创 2012-02-18 23:34:28 · 127 阅读 · 0 评论 -
我的 effective java -- 构建器
public class TestConstruct { private final int serviceSize; private final int servings; private final int cal; private final String fat; private final boolean istrue; public stati...原创 2012-05-21 20:51:59 · 112 阅读 · 0 评论 -
java_croe 学习笔记之新IO---java.nio 之内存映射文件
解释:将文件的一段区域映射到内存中,比传统的文件处理速度要快很多 参考:无格式输入流 110秒缓冲输入流 9.9秒随机存取文件 162秒内存映射文件 7.2秒 例子package twelve;import java.io.BufferedInputStream;import java.io.FileInputStream;impo...2009-08-25 23:37:54 · 164 阅读 · 0 评论 -
java_croe 学习笔记之对象流 (补充1 保存对象引用)
保存对象引用:基于前面的例子,我们现在假设每个Manager 都拥有一个秘书Employee,而且一个或者多个Manager 拥有的是同一个秘书,我们不希望保存对象流时出现这种状况, 2个manager 一个秘书employee ,保存时,一共保存了3个employee。这样的话当希望对秘书employee 作出修改时,必须找出其他拷贝对象,再逐一修改。 我们希望做的是只保存和恢复秘...2009-08-20 23:11:31 · 146 阅读 · 0 评论 -
java_croe 学习笔记之对象流
一、串行化的概念和目的 1.什么是串行化 对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记录自己的状态以便将来再生的能力。叫作对象的持续性(persistence)。对象通过写出描述自己状态的数值来记录自己 ,这个过程叫对象的串行化(Serialization) 。串行化的主要任务是写出...2009-08-19 23:20:59 · 134 阅读 · 0 评论 -
java--core 之 StringBuffer 和 StringBuilder 区别
java.lang.StringBuffer java.lang.StringBuilder 下面的源代码可以看出两个都是继承了AbstractStringBuilder 这个类,不同的是一个线程安全的,一个不是线程安全的 源代码:StringBuffer public final class StringBuffer extends AbstractSt...2009-08-18 23:11:32 · 105 阅读 · 0 评论 -
java-core 学习笔记之异常处理篇
1 异常的分类:Error:java运行时系统的内部错误和资源耗尽的错误,迫使程序终止。 Exception:由于程序错误导致的异常RuntimeException 及曾经能正常运行,由于某种原因导致的异常。 2 抛出异常的方法: throws 抛出异常,交给上一层处理。一般适用于无需自己处理,或者自己处理不好的异常 ...2009-08-06 23:24:24 · 141 阅读 · 0 评论 -
异常处理---你能找出几处问题
一共有6处问题,你能找出几处来?1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4 Statement stat = conn.createStatement(); 5 ResultSet rs = stat.executeQuery( ...2009-08-06 23:04:46 · 93 阅读 · 0 评论 -
关于 重写,重载,多态的精辟解释
我哥们对 重载 ,重写,多态的 精辟解释: 对象:人 重写: 同性恋。 重载: 双性恋。 重写+重载:喜欢人妖+与自己性别相同的人。 精辟啊 精辟2009-02-19 00:01:33 · 184 阅读 · 0 评论 -
core---java 之接口与内部类(持续更新)
1 接口是什么? 接口是用来描述类具备的功能,但是并不给出具体的实现。一个类可以继承1个或者多个借口。通过接口来实现多继承。 2接口可以做什么: 在接口定义的方法不需要提供关键字public, 因为接口中所有的方法自动属于public的。接口中可以包含多个方法,可以再接口中定义常量。 3接口不能做什么? 接口中不能含有实例域,也不能在接口中实现方法。...2009-07-28 23:12:13 · 107 阅读 · 0 评论 -
core---java 之继承篇(持续更新)
1 类,超类,子类 子类是由超类继承而来,他具有超类的域,方法。子类与超类的关系是“is-a”。 超类: Employee 类是一个超类,他具有通用的特性,name,hireday,salary ,作为每个员工都具有的共同属性。在 实例化 的时候通过构造器传递具体的参数,由于Employee 的域都定义为private ,所以如果不是构造器初始化域的话,要...2009-07-22 23:17:44 · 145 阅读 · 0 评论 -
java 类设计技巧
1 一定要将数据设计为私有。 2 一定要对数据初始化。 3 不要在类中使用过多的基本数据类型。 4 不是所有的域都需要独立的域访问器和域更改器。 5 使用标准格式进行类的定义。 6 将职责过多的类进行分解。 7 类名和方法名要能够体现他们的职责。...2009-07-22 21:51:15 · 119 阅读 · 0 评论 -
java core--java 核心技术学习笔记----java.util.Arrays
package com.zfsoft.monday;import java.util.Arrays;public class Array { Arrays autil ; static int[] a = {3,5,2,6,7,4,5}; static int[] b = {11,55,88,33}; static int [] c; publ...2009-06-16 13:36:41 · 119 阅读 · 0 评论 -
我的 effective java -- 7.避免使用中介方法 finalizer
7.避免使用终结方法 finalizer终结方法(finalizer)通常是不可预测的,也是很危险的,一般情况下是不必要的。使用终结方法会导致行为不稳定,降低性能,以及可移植性问题。 正确终结方法:提供显性终止方法,try-finally 终结方法的两种合法用途:1 当对象的所有者调用前面段落的显示终止方法时,终结方法可以充当“安全网”。如果终结方法发现资源...原创 2012-07-23 20:44:00 · 116 阅读 · 0 评论