自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

井底之蛙

学而知不足,思而得远虑

  • 博客(30)
  • 资源 (5)
  • 问答 (4)
  • 收藏
  • 关注

原创 Java-instanceof总结

纸上得来终觉浅,绝知此事要躬行  --陆游    问渠那得清如许,为有源头活水来  --朱熹instanceof其实是Java的一个二元操作符,用于判断左边的对象是否是右边这个特定的类或者它的子类的实例,返回boolean类型的数据。一般在使用无泛型的集合(List、set等)时,比较多的使用  instanceof  ,由于集合能够存各种对象,所以在读取时一般要进行相应的判断

2015-08-30 00:30:57 2707

原创 Java集合之TreeSet

TreeSet是一个有序的集合,它的作用是提供有序的Set集合。它继承了AbstractSet抽象类,实现了NavigableSet,Cloneable,Serializable接口。TreeSet是基于TreeMap实现的,TreeSet的元素支持2种排序方式:自然排序或者根据提供的Comparator进行排序。TreeSet的接口依赖图:从图中可以看出:(1)T

2015-08-30 00:25:43 3268 3

原创 Java集合之HashSet

HashSet是一个没有重复元素的集合,HashSet是由HashMap实现的,不保证元素的顺序,并且HashSet允许使用null元素。HashSet不是线程安全的,当多个线程同时访问HashSet时,会出现问题,解决的方法是通过对自然封装该Set的对象执行同步操作来完成的。还可以使用Collections.synchronizedSet方法来包装set。Set s=Collectins.s

2015-08-30 00:16:17 3101 3

原创 Java集合之WeakHashMap

WeakHashMap继承于AbstractMap,同时实现了Map接口。和HashMap一样,WeakHashMap也是一个散列表,存储的内容也是键值对 key-value映射,并且键和值都可以是null。WeakHashMap的键都是弱键,给定一个键,其映射的存在并不阻止垃圾回收器对该键的丢弃,使该键成为可终止,然后被回收。弱键的原理就是Entry继承了WeakReference接口,当G

2015-08-29 00:32:16 2024

原创 Java集合之Hashtable

纸上得来终觉浅,绝知此事要躬行  --陆游    问渠那得清如许,为有源头活水来  --朱熹和HashMap一样,Hashtable也是一个散列表,存储的内容也是键值对key-value映射。它继承了Dictionary,并实现了Map、Cloneable、io、Serializable接口。Hashtable是线程安全的,并且key和value不能为空,并且不是有序的。H

2015-08-29 00:27:03 1836

原创 Java集合之TreeMap

纸上得来终觉浅,绝知此事要躬行  --陆游    问渠那得清如许,为有源头活水来  --朱熹TreeMap与Map的关系如下图:TreeMap介绍:(1)TreeMap是一个有序的key-value集合,是通过红黑树来实现的。(2)TreeMap是继承于AbstractMap,所以他是一个Map,是一个key-value集合。(3)TreeMap实现

2015-08-29 00:19:21 6813 2

原创 Java集合之HashMap

纸上得来终觉浅,绝知此事要躬行  --陆游    问渠那得清如许,为有源头活水来  --朱熹HashMap是一个散列表,存储的内容是键值对(key-value)映射。HashMap继承于AbstractMap并实现了Map、Cloneable、Serializable接口。(1)HashMap不是线程安全的,同时key-value都可以为null,并且是无序的。(2)H

2015-08-29 00:08:10 2597 2

原创 Java集合之Map

Map架构:如上图:(1)Map是映射接口,Map中存储的内容是键值对(key-value)(2)AbstractMap是继承于Map的抽象类,实现了Map中的大部分API。(3)SortedMap是继承于Map的接口,SortedMap中的内容是排序的键值对,排序的方法是通过比较器。(4)NavigableMap继承于SortedMap,其中有一系列的导航方法,如

2015-08-28 00:22:58 2556

原创 Java集合之Stack

纸上得来终觉浅,绝知此事要躬行  --陆游    问渠那得清如许,为有源头活水来  --朱熹Stack是栈,特性是先进后出(FILO,First In Last Out)。Stack是继承于Vector(矢量队列),由于Vector是同数组实现的,Stack也是通过数组而非链表。Stack和Collection关系如下:Stack示例代码:

2015-08-28 00:21:17 2406

原创 Java集合之Vector

Vector是矢量队列,它继承了AbstractList,实现了List、 RandomAccess, Cloneable, java.io.Serializable接口。Vector接口依赖图:Vector继承了AbstractList,实现了List,它是一个队列,因此实现了相应的添加、删除、修改、遍历等功能。Vector实现了RandomAccess接口,因此可以随机访问

2015-08-28 00:18:16 21135 3

原创 Java集合之LinkedList

LinkedList是一个继承AbstractSequentialList的双向链表,它也可以被当做堆栈、队列或者双端队列进行操作。LinkedList实现了List接口,能对它进行队列操作。LinkedList实现了Seque接口,能将LinkedList当做双端队列进行使

2015-08-28 00:16:29 1736

原创 Java集合之ArrayList

ArrayList简介:ArrayList是一个数组队列,相当于一个动态的数组,容量可以动态的增长;它继承了AbstractList并实现了List,RandomAccess,Cloneable、Serializable这些接口。特性:(1)ArrayList继承了Abs

2015-08-28 00:14:56 1867

原创 Java-clone总结

纸上得来终觉浅,绝知此事要躬行  --陆游    问渠那得清如许,为有源头活水来  --朱熹clone和Copy:当有一个对象Person p1=new Person("name",age);Person p2=p1;此时只是简单的copy了一下引用,p1和p2都指向了内存中的同一个对象,修改p1和p2中任何一个都会影响到对方。当函数的参数是对象时,传递的是引用类型,在对象函数

2015-08-27 09:06:23 2042 2

原创 Java-transient总结

transient有“临时的”,"短暂的"含义,我们了解过Serializable,Java序列化,当对某些变量我们不想对它进行序列化的时候就可以将此变量设置为transient,transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。transient说明一个属性是临时的,不会被序列化。public class TransientDemo implements

2015-08-27 09:03:33 4333 2

原创 Java-Enumeration总结

Enumeration(枚举)接口的作用和Iterator类似,只提供了遍历Vector和HashTable类型集合元素的功能,不支持元素的移除操作。Java8中Enumeration接口的源码:public interface EnumerationE> {/**

2015-08-27 09:01:22 42416

原创 Java-Iterator总结

纸上得来终觉浅,绝知此事要躬行  --陆游    问渠那得清如许,为有源头活水来  --朱熹迭 代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。在Collection集合中都会实现terator,因此可以通过iterator()函数获得一个iterator对象,然后就可

2015-08-27 08:59:39 5044

原创 Java-collections总结

纸上得来终觉浅,绝知此事要躬行  --陆游    问渠那得清如许,为有源头活水来  --朱熹类Collections是一个包装类。它包含有各种有关集合操作的静态多态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。java.lang.Object        java.util.CollectionsCollectio

2015-08-27 08:57:45 18319 2

原创 Java集合之Set

Set也是继承自Collection,set也是集合的一种,同时set不允许重复的元素存在。Set源码:public interface SetE> extends CollectionE> { int size(); //大小 boolean isEmpty();//是否为空 boolean contains(Object o); //是否包含某个对象

2015-08-26 00:20:36 2827

原创 Java集合之List

List继承自Collection的接口,List也是集合的一种。List是有序队列,List中的没一个元素都会有一个索引,第一个元素的索引是0,往后的元素的索引值依次+1,List中允许有重复的元素。List接口源码:public interface ListE> extends CollectionE> { int size();//大小 boolean isEmp

2015-08-26 00:18:55 1674

原创 Java集合之Collection

Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*Java集合主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)。Java集合框架如下图: 由上图可以看到Java框架主要是C

2015-08-26 00:16:19 2006 1

原创 Java四种引用类型

Java从1.2版本开始引入了4种引用,这四种引用的级别由高到低依次为:强引用>软引用>弱引用>虚引用。一、强引用(StrongReference):        强引用是使用最普遍的引用,一般我们将对象初始化之后就是一个强引用。当一个对象具有强引用时,JVM不会对它进行垃圾回收。当内存不足时,宁愿抛出OutofMemoryError,让程序异常终止,也不会回收强引用。二、软

2015-08-26 00:12:02 1630 1

原创 Java泛型

泛型是JDK1.5中最重要的特征,通过引入泛型,我们将获得编译时类型的安全和运行时更小的抛出ClassCastException的可能。泛型用的最多的地方是集合。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。表面上看起来,无论语法还是应用的环境(比如容器类),泛型类型(或者泛型)都类似于 C

2015-08-26 00:07:59 1139 2

原创 Java 类加载机制 ClassLoder

一个类从被加载到内存中开始到卸载出内存为止,它的整个生命周期包括了:加载(loading)、验证(Verification)、准备(Preparetation)、解析(Resolution)、初始化(Initialization)、使用(Using)、卸载(Uploading)七个阶段。其中验证’准备和解析称为链接。一、ClassLoader类加载的架构

2015-08-25 00:09:33 2098 3

原创 Java序列化Serializable和Externalizable

什么是Java序列化?为什么出现Java序列化?怎样实现Java序列化?一、什么是Java序列化Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。二、为什么出现Java序列化两个进程之间进行通信时,需要传输各种信息,比如文本,图像,声音等等,这些信息是通过二进制流的形式进行传输的。那么进程之间是不是也可以传递

2015-08-25 00:04:53 1458 2

原创 Java异常

一、java异常的超类是java.lang.Throwable异常处理的类结构组成:二、java异常分为两类Error和Exception:Error是程序无法处理的错误,比如OutOfMemoryError、ThreadDeath等,这些异常发生JVM选择线程终止。Exception是程序本身可以处理的异常分为两种:    (1)非运行时异常(发生在编译阶段,称为

2015-08-25 00:01:59 1206 2

原创 Java虚拟机

一、JVM主要的结构如下:二、各个区域功能介绍1)、方法区(Method Area):        (1)用于存储虚拟机加载的类信息、常量、静态变量等,是各个线程共享的内存区域;        (2)默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize 和 -XX:MaxPermSize 参数限制方法区的大小;        (

2015-08-25 00:00:13 1355 2

原创 Java 接口和抽象类

接口,interface,接口泛指供别人调用的方法和函数。接口的形式:public interface interfaceName{        public static final   变量;        void FunctionName(args);}接口的特点:1)、接口中可以含有变量和方法。2)、其中变量被隐式的指定为public static final 变量并且只能是这种变量。...

2015-08-24 15:17:16 1160 2

原创 Java关键字之finalize

纸上得来终觉浅,绝知此事要躬行  --陆游       问渠那得清如许,为有源头活水来  --朱熹Java中提供了finalize方法,在垃圾回收器在进行内存释放时会首先调用finalize,但会有一些误区。1)、对象可能不被垃圾回收。2)、垃圾回收并不等于"析构",finalize不是析构函数。3)、垃圾回收只与内存有关。4)、垃圾回收和finalize都是靠

2015-08-24 13:54:42 1979 2

原创 Java关键字之this

纸上得来终觉浅,绝知此事要躬行  --陆游       问渠那得清如许,为有源头活水来  --朱熹this的作用:1) this是当前对象的一个引用,便于对当前对象参数的使用;2)可以返回对象的自己这个类的引用,同时还可以在一个构造函数当中调用另一个构造函数this示例:public class ThisDemo {

2015-08-24 11:15:51 1375 2

原创 Java关键字之static

static 表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。只要这个类被加载,Java虚拟机就能根据类名在运行时数据区的方法区内定找到他们。因此,static对象可以在它的任何对象创建之前访问,

2015-08-24 10:40:52 1552 1

空空如也

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

TA关注的人

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