java语言
River丶
这个作者很懒,什么都没留下…
展开
-
HashSet,TreeSet和LinkedHashSet的区别
Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false。Set判断两个对象相同不是使用==运算符,而是根据equals方法。也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象。HashSetHashSet有以下特点 不能保证元素的排列顺序,顺序有可能发生变化 不是同步的 集合元素可转载 2016-02-26 22:09:04 · 371 阅读 · 0 评论 -
Java泛型
一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(String[] args) { 4 List list = new ArrayList(); 5 list.add("qqyumidi");转载 2016-07-19 23:23:58 · 238 阅读 · 0 评论 -
java synchronized详解(原文基础改进)
记下来,很重要。Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问object的原创 2016-06-17 16:25:18 · 3885 阅读 · 0 评论 -
Java之命令模式(Command Pattern)
1.概念 将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与不变的因素。 在面向对象的程序设计中,一个对象调用另一个对象,一般情况下的调用过程是:创建目标对象实例;设置调用参数;调用目标对象的方法。但在有些情况下有必要使用一个专门的类对这种调用过程加以封装,我们把这种专门转载 2016-06-13 14:42:30 · 280 阅读 · 0 评论 -
适配器模式
本文讨论适配器模式。适配器模式是23中设计模式之一,它的主要作用是在新接口和老接口之间进行适配。它非常像我们出国旅行时带的电源转换器。为了举这个例子,我还特意去京东上搜了一下电源转换器,确实看到了很多地方的标准不一样。我们国家的电器使用普通的扁平两项或三项插头,而去外国的话,使用的标准就不一样了,比如德国,使用的是德国标准,是两项圆头的插头。如果去德国旅游,那么我们使用的手机充电器插头无法插到德国转载 2016-06-26 13:04:03 · 265 阅读 · 0 评论 -
Java枚举的7种常见用法
DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。 Java代码 public enum Color {转载 2016-06-01 23:56:38 · 256 阅读 · 0 评论 -
Java的桥接模式
转载自:http://www.importnew.com/6857.html放在这里,主要是方便记忆。侵权立删。简单来讲,桥接模式是一个两层的抽象。桥接模式是用于“把抽象和实现分开,这样它们就能独立变化”。 桥接模式使用了封装、聚合,可以用继承将不同的功能拆分为不同的类。1、桥接模式的故事电视和遥控器(图中有错字)是一个完美展示两层抽象的例子。你有一个电视机的接口,还有转载 2016-05-31 11:16:37 · 570 阅读 · 0 评论 -
java的左移和右移的区别常见的hascode和equals写法
java的左移和右移的区别常见的hascode和equals写法“>> 右移,高位补符号位” 这里右移一位表示除2“>>> 无符号右移,高位补0”; 与>>类似“<< 左移” 左移一位表示乘2,二位就表示4,就是2的n次方@Overridepublic boolean equals(Object o) { if (this == o) return true; if原创 2016-04-11 21:52:14 · 755 阅读 · 0 评论 -
java.util.Collections.unmodifiableMap()方法实例
unmodifiableMap() 方法用于返回指定映射的不可修改视图。声明以下是java.util.Collections.unmodifiableMap()方法的声明。public static K,V> MapK,V> unmodifiableMap(Map extends K,? extends V> m)参数m--这是一个不可修改视图是要返回的映射。返原创 2016-04-11 21:36:20 · 4241 阅读 · 0 评论 -
hasmap和treemap的实现与区别
2.两种常规Map实现 HashMap:基于哈希表实现。使用HashMap要求添加的键类明确定义了hashCode()和equals()[可以重写hashCode()和equals()],为了优化HashMap空间的使用,您可以调优初始容量和负载因子。 (1)HashMap(): 构建一个空的哈希映像 (2)HashMap(Map m): 构建一个哈希映像,并且添加映像m的所有映原创 2016-02-26 22:16:14 · 1785 阅读 · 0 评论 -
ArrayList 和LinkedList 的优缺点
ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦LinkedList 采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引 但是缺点就是查找非常麻烦 要丛第一个索引开始转载 2016-02-26 22:26:24 · 292 阅读 · 0 评论 -
java中的sleep()和wait()的区别
对于sleep()方法,我们首先要知道该方法是属于Thread类中的。而wait()方法,则是属于Object类中的。sleep()方法导致了程序暂停执行指定的时间,让出cpu该其他线程,但是他的监控状态依然保持者,当指定的时间到了又会自动恢复运行状态。在调用sleep()方法的过程中,线程不会释放对象锁。而当调用wait()方法的时候,线程会放弃对象锁,进入等待此对象的等待锁定池,只转载 2016-07-20 21:25:43 · 265 阅读 · 0 评论