自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 java设计模式

一、单列(Singleton)模式:防止除我们提供之外的任何一种方式创建一个对象,必须将所有构造器都设为私有,而且至少要创建一个构造器,防止编译器自动帮我们默认同步一个默认的构造器,(将类设为final可可禁止克隆的产生)final class Singleton {private static Singleton s = new Singleton(47);private int i

2017-03-07 14:05:45 184

转载 java中String、StringBuffer、StringBuilder的区别

java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。1.可变与不可变  String类中使用字符数组保存字符串,如下就是,因为有“final”修饰符,所以可以知道string对象是不可变的。    private final char value[

2017-03-06 16:51:21 177

原创 用Vector进行深层复制

一、Int3自Int2继承而来,将Int2的clone()当做Int3的clone()调用时,它会调用Object.clone(),判断出当前操作的是Int3,并复制Int3内的所有二进制位,只要没有新增需要克隆的句柄,对Object.clone()的一个调用就能完成所有必要的复制,可以总结出对Vector进行深层复制的先决条件:在克隆了Vector后,必须在其中遍历,并克隆由Vector指向的每

2017-03-02 09:54:08 642

原创 深拷贝

class DepthReading implements Cloneable{private double depth;public DepthReading(double depth) {this.depth = depth;}public Object clone(){Object o = null;try {o = super.clone();} cat

2017-03-01 17:37:18 230

原创 对象的clone

一、为使一个对象能够实现克隆,需实现Cloneable接口,并加入clone()方法,Object类中clone()是protected类型,这里需将其设为publlic;在LocalCopy中,g()和f()方法揭示了两种参数传递方法的差异,其中g()演示的是按引用传递,它会修改外部对象,并返回对那个外部对象的一个引用,而f()是对自变量的克隆,所以将其分离出来,并让原来的对象保持独立,随后,它

2017-03-01 17:07:19 185

原创 Serializable

一、Shape类实现了Serializable,所有从Shape继承的类都会自动可序列化,import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.O

2017-03-01 14:43:54 130

原创 特殊的序列化操作 -- Externalizable、transient

一、通过实现Externalizable接口,代替Serializable接口,便可控制序列化的过程,这个接口扩展了Serializable,并增添的两个方法writeExternal()、readExternal()。在序列化和重新装配的过程中,会自动调用这两个方法,以便执行一些特殊操作,只要将想序列化或恢复的数据写入writeExternal()或readExternal()方法中,便可得到想

2017-03-01 11:28:38 185

原创 序列化 -- Serializable

一、对象序列化,面向那些实现了Serializable接口的对象,可将他们西黄换成一系列字节,并可在以后完全恢复回原来的样子,这一过程也可以在网络上进行,这意味着序列化机制能自动补偿操作系统之间的差异。import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileI

2017-03-01 10:22:59 139

原创 FilenameFilter

import java.io.File;import java.io.FilenameFilter;public class DirList {public static void main(final String[] args) {try {File path = new File(".");String[] list;if(args.length == 0){

2017-02-28 13:58:13 170

原创 异常 Exception

public MyException(){}public MyException(String msg){super(msg);}public MyException(String msg, int x){super(msg);i = x;}public int val(){return i;}}public class Inheriting{p

2017-02-27 16:54:04 154

原创 数组 :排序与搜索

import java.util.Arrays;import java.util.Random;public class Array1{static Random r = new Random();static String ssource = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz";sta

2017-02-27 14:26:17 122

原创 ArrayList 和 LinkedList 性能测试

import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import java.util.ListIterator;public class ListPerformance{private static final i

2017-02-27 11:43:00 246

原创 Map操作

import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.TreeMap;public class Map1 {public final static String[][] testData1

2017-02-27 10:53:24 139

原创 集合操作

import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Iterator;public class Collection1{public static Collection fill(Collection c, int sta

2017-02-24 16:19:08 137

原创 为 Vector 添加sort()快速排序方法

SortVector .java:import java.util.Vector;interface Compare{boolean lessThan(Object lhs, Object rhs);boolean lessThanOrEqual(Object lhs, Object rhs);}public class SortVector extends Vec

2017-02-24 14:46:25 1189

原创 实现抽象类Dictionary

import java.util.Dictionary;import java.util.Enumeration;import java.util.Vector;public class AssocArray extends Dictionary{private Vector keys = new Vector();private Vector values = new

2017-02-24 11:45:48 437

原创 Stack 和 HashTable

一、stack(后入先出的集合,stack从vector继承而来,拥有vector所有方法)import java.util.Stack;public class Stacks{static String[] months = {"January", "February", "March", "April", "May","June", "July", "August"

2017-02-24 11:13:29 237

原创 Enumeration 枚举器

import java.util.Enumeration;import java.util.Vector;class Hamster{private int hamsterNumber;Hamster(int i){hamsterNumber = i;}public String toString(){return "This is Hamster # "

2017-02-24 10:45:31 189

原创 生成自动判别类型的Vector

import java.util.Vector;class Gopher{private int gopherNumber;Gopher(int i){gopherNumber = i;}void print(String msg){if(msg != null){System.out.println(msg);}System.out.println

2017-02-24 10:17:30 201

原创 重写toSting()方法

import java.util.Vector;class Mouse{private int mouseNumber;Mouse(int i){mouseNumber = i;}public String toString(){return "This is Mouse #" + mouseNumber;}void print(String msg){

2017-02-24 10:01:44 942

原创 构造器的调用顺序

class Meal{Meal(){System.out.println("Meal()");}}class Bread{Bread(){System.out.println("Bread()");}}class Cheese{Cheese(){System.out.println("Cheese()");}}class Lettuce{

2017-02-23 17:04:50 420

原创 内部类

一、public class Parcel1{class Contents{private int i = 11;public int value(){return i;}}class Destination{private String label;Destination(String whereTo){label = whereTo;}Str

2017-02-23 16:33:19 124

原创 常数分组 -- 月份

final class Month2{private String name;private Month2(String nm){name = nm;}public String toString(){return name;}public final static Month2 JAN = new Month2("January"),FEB = new M

2017-02-23 16:10:44 163

转载 抽象类与接口的区别

abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。 abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 abstract class和interface的选择显得比较随意。其实,两者

2017-02-23 15:19:20 156

原创 继承初始化

class Insect{int i = 9;int j;Insect(){prt("i = " + i + " , j = " + j);j = 39;}static int x1 = prt("static Insect.x1 initialized");static int prt(String s){System.out.println(s);ret

2017-02-23 14:43:45 128

原创 final关键字

一、final数据(1)、编译期常数,它永远不会改变;(2)、无论static还是final字段,都只能存储一个数据,而且不可以改变,对于基本类型来说,final会将值变成一个常数,但对于对象来说,final会将对象变成一个常数,对象不可改变,但对象本身是可以改变的,例如:class Value{int i = 1;}public class Property {fin

2017-02-23 14:13:38 128

原创 数组赋值

public class Property {public static void main(String[] args) {int[] a1 = {1,2,3,4,5};int[] a2;a2 = a1;for(int i=0; ia2[i]++;}for(int j=0; jSystem.out.println("a1[" + j + "] = " + a1

2017-02-23 10:50:15 411

原创 非静态实例的初始化

class Mug{Mug(int marker){System.out.println("Cup(" + marker + ")");}void fun(int marker){System.out.println("fun(" + marker + ")");}}class Mugs{Mug c1;Mug c2;{c1 = new Mug(1);

2017-02-23 10:38:25 273

原创 明确进行的静态初始化

一、class Cup{Cup(int marker){System.out.println("Cup(" + marker + ")");}void fun(int marker){System.out.println("fun(" + marker + ")");}}class Cups{static Cup c1;static Cup c2;sta

2017-02-23 10:30:49 194

原创 静态数据的初始化

class Bow1{Bow1(int marker){System.out.println("Bow1(" + marker + ")");}void fun(int marker){System.out.println("fun(" + marker + ")");}}class Table{static Bow1 b1 = new Bow1(1);Ta

2017-02-23 10:07:37 439

原创 初始化顺序

class Tag{Tag(int marker){System.out.println("Tag(" + marker + ")");}}class Card{Tag t1 = new Tag(1);Card(){System.out.println("Card()");t3= new Tag(33);}Tag t2 = new Tag(2);vo

2017-02-23 09:50:08 206

原创 强转

将float、double类型变量转为int时,直接将小数点后的数截掉,不做任何进位处理

2017-02-22 17:48:19 167

原创 随机一个字符

char c =(char)(Math.random()*26 + 'a');

2017-02-22 17:43:37 244

原创 java无限循环

1、 while(true){}2、for(;;){}

2017-02-22 17:22:19 3211

原创 程序休眠

在某些编程环境里,程序会在屏幕上一闪而过,可以将下面代码置于main的末尾:try{Thread.currentThread().sleep(5*1000);}catch(InterruptedException e){}作用是暂停输出5秒

2017-02-22 17:11:06 219

原创 static关键字

1、一旦将变量或方法设为static,变量或方法就不会同那个类的任何对象实例联系起来,所以尽管从未创建那个类的对象,也能调用一个static方法或static变量2、static{} :static静态代码块,无论类被初始化几次,static块中的代码只会执行一次;

2017-02-22 17:04:44 117

原创 java 数据类型

boolean :1位,byte:8位,1个字节char:16位,2个字节short:16位,2个字节int:32位,4个字节flort:32位,4个字节double:64位,8字节long:64位,8字节

2017-02-22 16:56:18 98

原创 垃圾收集器

Java垃圾回收器是Java虚拟机(JVM)的三个重要模块(另外两个是解释器和多线程机制)之一,为应用程序提供内存的自动分配(Memory Allocation)、自动回收(Garbage Collect)功能,这两个操作都发生在Java堆上(一段内存快)。某一个时点,一个对象如果有一个以上的引用(Rreference)指向它,那么该对象就为活着的(Live),否则死亡(Dead),视为垃圾,

2017-02-22 16:49:43 101

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除