【Java基础之重写equals、hashCode和compareTo方法】什么时候需要重写重写equals方法?为什么重写equals方法,一定要重写HashCode方法?

1.何时需要重写equals() 当一个类有自己特有的“逻辑相等”概念(不同于对象身份的概念)。 2.设计equals() [1]使用instanceof操作符检查“实参是否为正确的类型”。 [2]对于类中的每一个“关键域”,检查实参中的域与当前对象中对应的域值。 [2.1]对于非flo...

2015-07-03 15:16:21

阅读数 2468

评论数 0

【Java基础之线程同步(三)】使用ReentrantLock Condition实现线程同步

java的java.util.concurrent.locks包内有Condition接口,该接口的官方定义如下: Condition factors out the Object monitor methods (wait, notify and notifyAll) into d...

2015-04-10 13:12:48

阅读数 203

评论数 0

【Java基础之线程同步(二)】java线程同步:synchronized关键字,Lock接口以及可重入锁ReentrantLock

多线程环境下,必须考虑线程同步的问题,这是因为多个线程同时访问变量或者资源时会有线程争用,比如A线程读取了一个变量,B线程也读取了这个变量,然后他们同时对这个变量做了修改,写回到内存中,由于是同时做修改,就会导致修改的状态不一致. 用一个实际的例子来说明线程同步的必要性: package cn...

2015-04-10 13:09:51

阅读数 321

评论数 0

【Java基础之Object类(二)、线程同步(一)】Java中使用Object类的wait,notify,notifyAll做线程调度

我们知道java中的所有类的祖先都是Object,Object类有四个个方法wait(),wait(long timeout),notify(),notifyAll(),这四个方法可以用来做线程的调度或者说是线程的同步控制。 wait() 方法用来控制当前线程停止执行,等待其他线程对此Obj...

2015-04-10 13:06:57

阅读数 976

评论数 0

【Java基础之Object类(一)】Java中Object类中的所有方法(toString、equals、hashCode、clone、finalize、wait和notify等)详解

一、Object中所有方法简介: 在根类Object中包含一下方法:  clone();equals();finalize();getClass();[align=left][/align]notify(),notifyAll();hashCode();toString();wait(); 我们...

2015-04-10 12:33:32

阅读数 2700

评论数 0

【Java基础之内部类】Java内部类作用和详解

一、 定义 放在一个类的内部的类我们就叫内部类。 二、 作用 1、内部类可以很好的实现隐藏,因为 一般的非内部类,是不允许有 private 与protected权限的,但内部类可以。 2、内部类拥有外围类的所有元素的访问权限 3、可是实现多重继承 4、可以避免修改接口而实现同一个类中...

2015-04-10 11:49:40

阅读数 412

评论数 0

【Java基础之内存管理】Java中栈内存与堆内存的区别

Java把内存划分成两种:一种是栈内存,一种是堆内存。                 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空...

2015-04-09 17:15:46

阅读数 929

评论数 0

【Java基础之String、StringBuilder、StringBuffer】Java中的String、StringBuilder以及StringBuffer的区别

相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方。 精炼总结: (1)String对象值是不可追加的,StringBuilder和StringBuffer对象值是可追加的。 (2)StringBuffer是线程安全的,String...

2015-04-09 16:59:44

阅读数 412

评论数 0

【Java基础之集合(三)】集合对象比较大小和比较重复的区别和不同实现

Comparable接口:针对排序list   问题:上面的算法根据什么确定容器中对象的“大小”顺序? 所有可以“排序”的类都实现了java.lang.Comparable接口,Comparable接口中只有一个方法 Publicint compareTo(Object o...

2015-04-09 16:47:02

阅读数 2885

评论数 0

【Java基础之集合(二)】Java中HashMap详解

HashMap 和 HashSet 是 Java Collection Framework 的两个重要成员,其中 HashMap 是 Map 接口的常用实现类,HashSet 是 Set 接口的常用实现类。虽然 HashMap 和 HashSet 实现的接口规范不同,但它们底层的 Hash 存储机...

2015-04-09 16:37:39

阅读数 249

评论数 0

【Java基础之集合(一)】各种常用集合(Array、ArrayList、HashSet、HashMap、TreeMap等)分析对比

Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。 集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。    抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。    实现类...

2015-04-09 15:49:27

阅读数 1220

评论数 0

【Java基础之多维数组访问】访问多维数组时潜在的性能问题

[c-sharp] view plaincopyprint? boolean[][] b = new boolean[8000][1000];      long s = System.currentTimeMillis();      for ( int i...

2015-04-09 15:31:10

阅读数 283

评论数 0

【Java基础之多态中静态方法重写问题】java中静态方法的重写问题详解

多态:通过父类变量可以引用其子类对象,从而调用子类中那些继承自自己并被重写(覆盖)的方法。 首先来看看以下程序将会打印出什么: class Dog { public static void bark() { System.out.print("Woof &...

2015-04-09 15:08:25

阅读数 1285

评论数 0

【Java基础之数据类型转换】数据类型自动转换和强制转换、及相关常见面试题(如return (short)x / y* 2; 的返回类型)

类型转换 Java 语言是一种强类型的语言。强类型的语言有以下几个要求: 变量或常量必须有类型:要求声明变量或常量时必须声明类型,而且只能在声明以后才能使用。 赋值时类型必须一致:值的类型必须和变量或常量的类型完全一致。 运算时类型必须一致:参与运算的数据类型必须一致才能运算。 但是在...

2015-04-09 14:51:28

阅读数 2615

评论数 0

【Java基础之finally和return】有return的情况下try catch finally的执行顺序

结论: 1、不管有没有出现异常,finally块中代码都会执行; 2、当try和catch中有return时,finally仍然会执行; 3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值...

2015-04-09 14:20:10

阅读数 402

评论数 1

java的war、jar、ear包的作用分别是什么?及eclipse打包war文件方法

war包:是做好一个web应用后,通常是网站,打成包部署到容器中。 jar包:通常是开发时要引用通用类,打成包便于存放管理。 ear包:企业级应用,通常是EJB打成ear包。 所有的包都是用jar打的,只不过目标文件的扩展名不一样。 ear本身就是一个包,怎么打成war啊? 你是说把要打成ear的...

2015-03-20 10:11:05

阅读数 5448

评论数 0

Java 回调函数作用和使用场景

1. 什么是回调函数  回调函数(callback Function),顾名思义,用于回调的函数。 回调函数只是一个功能片段,由用户按照回调函数调用约定来实现的一个函数。回调函数是一个工作流的一部分,由工作流来决定函数的调用(回调)时机。回调函数包含下面几个特性:  1、属于工作流的一个部分;...

2015-03-04 17:54:54

阅读数 5219

评论数 3

【Android网络开发】(一)HTTP请求报文和HTTP响应报文

HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的。HTTP有两类报文:请求报文和响应报文。 HTTP请求报文 一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式...

2015-03-04 12:16:57

阅读数 4541

评论数 3

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