02 2016 档案

摘要:1,泛型的定义以及存在意义 泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。例如:GenericClass<T>{} 一些常用的泛型类型变量:E:元素(Element), 阅读全文
posted @ 2016-02-26 09:54 chenxibobo 阅读(271) 评论(0) 推荐(0) 编辑
摘要:【案例1】通过一个对象获得完整的包名和类名 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package Reflect; /** * 通过一个对象获得完整的包名和类名 * */ class Demo{ //other codes... } class hello{ pub 阅读全文
posted @ 2016-02-26 09:53 chenxibobo 阅读(228) 评论(0) 推荐(0) 编辑
摘要:可以证明,字符串操作是计算机程序设计中最常见的行为。 一、String 首先我们要明确,String并不是基本数据类型,而是一个对象,并且是不可变的对象。查看源码就会发现String类为final型的(当然也不可被继承),而且通过查看JDK文档会发现几乎每一个修改String对象的操作,实际上都是创 阅读全文
posted @ 2016-02-25 19:01 chenxibobo 阅读(204) 评论(0) 推荐(0) 编辑
摘要:接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法。 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力。他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别。 一、抽象类 我们都知道在面向对象的领域一切都是对象 阅读全文
posted @ 2016-02-24 19:06 chenxibobo 阅读(244) 评论(0) 推荐(0) 编辑
摘要:在前面三篇博文中LZ讲解了(HashMap、HashSet、HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最精华的部分,所以下面LZ揭开hashCode的“神秘”面纱。 hashCode的作用 要想了解一个方法的内在原理 阅读全文
posted @ 2016-02-24 19:00 chenxibobo 阅读(227) 评论(0) 推荐(0) 编辑
摘要:Java5: 1、泛型 Generics: 引用泛型之后,允许指定集合里元素的类型,免去了强制类型转换,并且能在编译时刻进行类型检查的好处。 Parameterized Type作为参数和返回值,Generic是vararg、annotation、enumeration、collection的基石。 阅读全文
posted @ 2016-02-24 14:27 chenxibobo 阅读(1070) 评论(0) 推荐(0) 编辑
摘要:在Java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较 阅读全文
posted @ 2016-02-23 19:01 chenxibobo 阅读(469) 评论(0) 推荐(0) 编辑
摘要:在编写java程序中,我们最常用的除了八种基本数据类型,String对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!java中集合大家族的成员实在是太丰富了,有常用的ArrayList、HashMap、HashSet,也有不常用的Stack、Queue,有线程安全的Vector、Has 阅读全文
posted @ 2016-02-16 18:19 chenxibobo 阅读(605) 评论(0) 推荐(0) 编辑
摘要:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比 较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构 上 阅读全文
posted @ 2016-02-14 15:27 chenxibobo 阅读(279) 评论(0) 推荐(0) 编辑
摘要:Java(Android)线程池 介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。 1、new Thread的弊端执行一个异步任务你还只是如下new Thread吗? new Thread(new Runnable() 阅读全文
posted @ 2016-02-09 18:59 chenxibobo 阅读(150) 评论(0) 推荐(0) 编辑
摘要:CountDownLatch, “一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。 用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程, 阅读全文
posted @ 2016-02-09 11:23 chenxibobo 阅读(176) 评论(0) 推荐(0) 编辑
摘要:1、版本原因 ProcessBuilder是从java1.5加进来的,而exec系列方法是从1.0开始就有的,后续版本不断的重载这个方法,到了1.5已经有6个之多。 2、ProcessBuilder、Runtime和Process 三者之间的联系 ProcessBuilder.start() 和 R 阅读全文
posted @ 2016-02-06 15:00 chenxibobo 阅读(705) 评论(0) 推荐(0) 编辑
摘要:一、创建型模式 1、抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2、生成器模式(Builder pattern): 使用生成器模式封装一个产品的构造过程, 并允许按步骤构造. 将一个复杂对象的构建与它的表示分 阅读全文
posted @ 2016-02-06 09:52 chenxibobo 阅读(167) 评论(0) 推荐(0) 编辑
摘要:内部类 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相当于其中的某个器官之一,例如心脏:它也有自己的属性和行为(血液、跳动) 显然,此处不能单方面用属性或者方法表示一个心脏,而需要一个类 而心脏又在人体当中,正如同是内部类在 阅读全文
posted @ 2016-02-06 09:49 chenxibobo 阅读(297) 评论(0) 推荐(0) 编辑
摘要:在程序设计中,我们有时可能希望某些数据是不能够改变的,这个时候final就有用武之地了。final是java的关键字,它所表示的是“这部分是无法修改的”。不想被改变的原因有两个:效率、设计。使用到final的有三种情况:数据、方法、类。 一、 final数据 有时候数据的恒定不变是很有用的,它能够减 阅读全文
posted @ 2016-02-05 19:24 chenxibobo 阅读(211) 评论(0) 推荐(0) 编辑
摘要:一、问题的提出 Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为 阅读全文
posted @ 2016-02-05 18:17 chenxibobo 阅读(261) 评论(0) 推荐(0) 编辑
摘要:目录一扩展javalangThread类二实现javalangRunnable接口三Thread和Runnable的区别四线程状态转换五线程调度六常用函数说明:使用方式;为什么要用join方法七常见线程名词解释八线程同步九线程数据传递本文主要讲了java中多线程的使用方法、线程同步、线程数据传递、线 阅读全文
posted @ 2016-02-01 18:18 chenxibobo 阅读(309) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示