自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 位移运算

正数的原码,补码,反码都是相同的5原码:0000 0000 0000 0000 0000 0000 0000 0101反码:0000 0000 0000 0000 0000 0000 0000 0101补码:0000 0000 0000 0000 0000 0000 0000 0101负数的原码是按照其绝对值大小转换成的二进制数,然后最高位补1,反码对其

2014-03-28 11:14:14 705

原创 奇怪的数值溢出

long a = 2 * 1024 * 1024 * 1024;    System.out.println(a);    这两句代码的输出是什么呢?大家可能觉得很简单,就是简单的乘法,用计算器算一下结果应该为:2147483648    但是实际运行结果却是:    -2147483648    这是为什么呢?    很明显这是数值溢出了,但是long是64位的,

2014-03-26 17:15:35 630

原创 Java 对象序列化

Java 对象序列化主要用到了下面两个类:    ObjectOutputStream    ObjectInputStream    Java 提供了了默认的自动对象序列化机制,只需要实现Serializable接口就可以了。Serializable是一个空接口,里面没有任何方法。下面简单的看一个例子:        import java.io.IOException;

2014-03-20 12:01:33 543

原创 Java 使用Zip进行多文件保存和读取

Java中使用Zip格式压缩和解压缩主要会用到下面的类:        ZipInputStream                              解压缩Zip文件格式的数据        ZipOutputStream                           将数据压缩Zip文件格式        CheckedInputStream            

2014-03-19 11:00:37 993

原创 Eclipse 指定参数运行java程序

现在有这样一串代码:        public class Demo { public static void main(String[] args) {   for(String str : args){    System.out.println(str);   } }}    代码很简单只是打印指定的运行时参数。    javac Demo.ja

2014-03-18 14:00:42 971

原创 适配器模式

适配器模式:    将一个类的接口,转换成客户期望的另一个接口。适配器让原来接口不兼容的类可以合作无间。适配器模式有两种实现方式:1.对象适配器2.类适配器    这种实现方式是通过多重继承实现的,因为Java不支持多重继承,所以我们先不管它。下面是两个适配器的例子:将一个Iterator 适配成枚举类型:public c

2014-03-10 17:17:47 482

原创 HashMap的工作原理

1.    HashMap概述:   HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。不保证映射的顺序,特别是它不保证该顺序恒久不变。 2.    HashMap的数据结构:   HashMap实际上是一个“链表散列”的数据结构,即数组和链表的结合体。   从上图中可以看出,Ha

2014-03-08 14:48:03 906

原创 ListIterator的用法

ListIterator是一个功能更加强大的Iterator的子类型,其定义为:    public interface ListIterator extends Iterator     ListIterator的强大之处在于其可以双向移动,还可以产生相对于迭代器在列表中指向的当前位置的前一个和后一个元素的索引,还可以使用set()方法替换它访问过的最后一个元素。不过ListIterat

2014-03-06 14:57:13 4181

原创 transient关键字的用法

transient关键字只能用来修饰字段,表明这个字段不需要被序列化。简单的看下面的例子,就明白了其用法了:        import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.ObjectInputStream;import java.io.ObjectOutputStrea

2014-03-06 13:57:32 574

原创 final的用法

面试的时候,经常被问到final不同用法的区别,所以特意总结一下。   使用final主要有三种情况:数据,方法和类。1.    final数据用于基本数据类型,final使数值恒定不变;用于对象引用,final使引用恒定不变。一旦引用被初始化指向一个对象后,就无法把它改为指向另一个对象。但是,对象其自身是可以被修改的。如下例class Value{    int i;

2014-02-26 15:27:14 500

原创 Java 枚举使用方法

JDK 5提供了enum关键字,实现了对枚举类型的支持。    枚举是一个被命名的整型常数的集合,枚举在日常生活中很常见。 例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY,就是一个枚举。    1.枚举的实现     public enum Week { SUNDAY, MONDAY

2014-02-25 12:48:15 836

原创 吸血鬼数字

吸血鬼数字指的是位数为偶数的数字,可以由一对数字相乘而得到,而这对数字则各包含乘积一般位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的,例如下面的吸血鬼数字:     1260 = 21 X 60     1827 = 21 X 87     2187 = 27 X 81    下面的算法,是找出4位数的所有吸血鬼数字。     我们假设一个吸

2014-02-21 12:25:40 577

原创 Integer.valueOf(String)不同JDK版本的差异

1.System.out.println(Integer.valueOf(127) == Integer.valueOf(127));2.System.out.println(Integer.valueOf(128) == Integer.valueOf(128));大家可能都知道上面这两行的结果:1.true2.false因为valueOf会返回一个Integer(整型)对象

2014-02-12 15:40:46 941

原创 单例模式

单例模式可以说是最容易学会的设计模式了,但是其简约而不简单,还是有几个问题值得大家探讨的。      单例模式的定义:           确保一个类只有一个实例,并提供一个全局访问点      单例模式主要作用确保一个类只能有一个实例,比如:线程池,缓存,打印机等设备的驱动对象。这些对象只能有一个实例,不然就会出现奇奇怪怪的问题。      单例模式的实现方法有很多种,但是最关键

2014-02-12 13:44:39 561

空空如也

空空如也

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

TA关注的人

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