随笔分类 -  Java开发

摘要:作者:臧圩人(zangweiren) 网址:http://zangweiren.javaeye.com >>>转载请注明出处! < < < final、finally和finalize的区别是什么? 这是一道再经典不过的面试题了,我们在各个公司的面试题中几乎都能看到它的身影。final、finally和finalize虽然长得像孪生三兄弟一样,但是它们的含义和用法却是大相径庭。这一次我们就一起来回顾一下这方面的知识。 我们首先来说说final。它可以用于以下四个地方: 定义变量,包括静态的和非静态的。 定义方法的参数。 定义方法。 定义类。 我们依次来回顾一 阅读全文
posted @ 2008-07-21 12:46 云淡天晴 阅读(356) 评论(0) 推荐(0)
摘要:原文地址:http://zangweiren.javaeye.com/blog/209895 作者:臧圩人(zangweiren) 网址:http://zangweiren.javaeye.com >>>转载请注明出处! < < < 我们首先来看一段代码: Java代码 String str=new String("abc"); 紧接着这段代码之后的往往是这个问题,那就是这行代码究竟创建了几个String对象呢?相信大家对这道题并不陌生,答案也是众所周知的,2个。接下来我们就从这道题展开,一起回顾一下与创建String对象相关的一些JAV 阅读全文
posted @ 2008-07-21 12:44 云淡天晴 阅读(456) 评论(0) 推荐(0)
摘要:众所周知,JAVA为了国际通用,用的是UNICODE来保存里面的字符。而UNICODE只是一个种字符集,字符的存储和表示要用到一定的字符编码格式,而与UNICODE对应的字符编码格式就是我们常看到的UTF-8,UTF-16等等,而UTF-8是最常用的,所以人们常常把它和UNICODE等同起来(我以前就是这样的),这在某些情况下是没有错的,但这样的理解在JAVA里就会产生一些混淆。我们用下面的程序来演示一下。 定义一个字符串 String name = "堂"; 这个字符串就一个字符,把它取出来 char c_name = name.charAt(0); JAVA里的char 阅读全文
posted @ 2008-07-16 14:34 云淡天晴 阅读(200) 评论(0) 推荐(0)
摘要:从追MM谈Java的23种设计模式 1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯 德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory. 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点 是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。 程序代码 以下是引用片段: 以下是引用片段: public class Factory{ public String Boy = "boy&q 阅读全文
posted @ 2008-07-12 12:52 云淡天晴 阅读(174) 评论(0) 推荐(0)
摘要:class Person { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; }} 在这里本来就可以用get与set取值或者设置值了,假如我们直接将变量声明为public不是更简单点。这种情况有必要 阅读全文
posted @ 2008-06-27 16:07 云淡天晴 阅读(572) 评论(0) 推荐(0)
摘要:一、从根本上认识java.lang.String类和String池首先,我建议先看看String类的源码实现,这是从本质上认识String类的根本出发点。从中可以看到:1、String类是final的,不可被继承。public final class String。2、String类是的本质是字符数组char[], 并且其值不可改变。private final char value[];然后打开String类的API文档,可以发现:3、String类对象有个特殊的创建的方式,就是直接指定比如String x = "abc","abc"就表示一个字符串对象 阅读全文
posted @ 2008-06-27 15:47 云淡天晴 阅读(172) 评论(0) 推荐(0)
摘要:要理解 java中String的运作方式,必须明确一点:String是一个非可变类(immutable)。什么是非可变类呢?简单说来,非可变类的实例是不能被修改的,每个实例中包含的信息都必须在该实例创建的时候就提供出来,并且在对象的整个生存周期内固定不变。java为什么要把String设计为非可变类呢?你可以问问 james Gosling :)。但是非可变类确实有着自身的优势,如状态单一,对象简单,便于维护。其次,该类对象对象本质上是线程安全的,不要求同步。此外用户可以共享非可变对象,甚至可以共享它们的内部信息。(详见 《Effective java》item 13)。String类在ja. 阅读全文
posted @ 2008-06-23 13:35 云淡天晴 阅读(311) 评论(2) 推荐(1)
摘要:keyit.focus();}Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文会试图澄清这一概念。并且由于Java不能通过简单的赋值来解决对象复制的问题,在开发过程中,也常常要要应用clone()方法来复制对象。本文会让你了解什么是影子clone与深度clone,认识它们的区别、优点及缺点。看到这个标题,是不是有点困惑:Java语言明确说明取消了指针,因为指针往往是在带来方便的同时也是导致代码不安全的根源,同时也会使程序的变得非常复杂难以理解,滥用指针写成的代码不亚于使用早已臭名昭著的"GOTO"语句。Java放弃指针 阅读全文
posted @ 2008-06-13 14:32 云淡天晴 阅读(299) 评论(0) 推荐(0)
摘要:1 泛型(Generic)1.1 说明增强了java的类型安全,可以在编译期间对容器内的对象进行类型检查,在运行期不必进行类型的转换。而在j2se5之前必须在运行期动态进行容器内对象的检查及转换减少含糊的容器,可以定义什么类型的数据放入容器 ArrayList<Integer> listOfIntegers; // <TYPE_NAME> is new to the syntax Integer integerObject; listOfIntegers = new ArrayList<Integer>(); // <TYPE_NAME> is 阅读全文
posted @ 2008-06-13 12:02 云淡天晴 阅读(247) 评论(0) 推荐(0)