这里分别讲==和equals()的关系,以及equals()和hashcode()的关系 讲解之前,需要先明白对象的内容.对象的引用,基本类型,引用类型这几个概念,此处不做解释 一.==和equals() 两者都是比较"是否相同"这个概念.不同在于 1.基本类型比较是否相同用 == 和 != 2.对象使用==时比较的是对象的引用,默认的Object.equals()比较对象引用地址,如果想比较对象的内容 那么需要覆盖equals()方法,大多数Java类库特别是"表示值得类&…
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76358523冷血之心的博客) 马上就要秋招了,新的一轮笔试面试马上就要开始轰炸了,在这关键的节骨眼上,要做到查缺补漏,夯实基础,特此总结~ 友情链接: Java基础拾遗(一) Java基础拾遗(二) Java集合相关知识 HashMap和Hashtable的区别 HashMap没有考虑同步,是线程不安全的:Hashtable使用了synchronized关键字,是…
java基础解析系列(十一)---equals.==和hashcode方法 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder java基础解析系列(二)---Integer缓存及装箱拆箱 java基础解析系列(三)---HashMap原理 java基础解析系列(四)---LinkedHashMap的原理及LRU算法的实现 java基础解析系列(五)---HashMap并发下的问题以及HashTable和CurrentHashMap的区别 j…
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76358391冷血之心的博客) 马上就要秋招了,新的一轮笔试面试马上就要开始轰炸了,在这关键的节骨眼上,要做到查缺补漏,夯实基础,特此总结~ 友情链接: Java基础拾遗(一) Java基础拾遗(二) Java基础概念 Java和C++的区别: 都是面向对象的语言,都支持封装.继承和多态 指针: Java不提供指针来直接访问内存,程序更加安全 继承: Java的类是…
目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什么是值传递和引用传递? 5.Java的访问修饰符是什么? 6.Java 基础数据类型有哪些? 7.hashCode()和equals()方法的重要性体现在什么地方? 8.switch 中用于判断的表达式,可以用哪些数据类型? 9. char型变量中能不能存贮一个中文汉字?为什么? 10.静态变量和实…
JAVA基础(二)-- 常用的类与方法 1 Math类 abs ceil floor 绝对值 大于等于该浮点数的最小整数 小于等于该浮点数的最大整数 max min round 两参数中较大的 两参数中较小的 四舍五入,算法为 Math.floor(x+0.5) pow sqrt random 指数 算术平方根 随机数,在[0,1)间,取整int()即可 exp log en In(n) 找数组中max/min: int a[] = {10,5,8}; int min = Arrays.stre…
java  基础知识二 基本类型与运算符 1.标识符 定义:为类.方法.变量起的名称 由大小写字母.数字.下划线(_)和美元符号($)组成,同时不能以数字开头 2.关键字 java语言保留特殊含义或者特殊功能的关键词,不能用着标识符 3.注释 java代码中不会编译,帮助介绍代码的文字片段 三种注释方式,分别是单行注释(//).多行注释(/* */)和文档注释(/** */) 4.基本数据类型 基本类型有以下四种: int长度数据类型有:byte(8bits).short(16bits).int…
java基础(二章) 一,变量 1.变量是内存中的一个标识符号,用于存储数据 2.变量命名规则 l  必须以字母.下划线 _ .美元符号 $ 开头 l  变量中,可以包括数字 l  变量中,不能出现特殊的符号,空格 l  java中的关键字(红色字体),不能做变量名 3.变量命名,遵循 骆驼命名法(变量由1个以上的单词组成,第1个单词首字母小写,后面单词的首字母大写) 二, 数据类型 a)        数字(整型int(整数).双精度浮点型double(小数)) b)        字符型(c…
Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println(f.num);//是父类,答案是3 2,成员函数(非静态). 编译看左边,运行看右边. 因为成员函数存在覆盖特性. Fu f = new Zi();//f.show();输出的是子类里面的show方法 3,静态函数. 编译和运行都看左边. 静态函数不具备多态性,多态性是对象的多态性,然后静态函数不涉…
java基础-多线程二 继承thread和实现Runnable的多线程每次都需要经历创建和销毁的过程,频繁的创建和销毁大大影响效率,线程池的诞生就可以很好的解决这一个问题,线程池可以充分的利用线程进行任务调度,重复利用 1. 线程池Executor与Executors Executor为concurrent包下的线程顶级接口,提供了一个execute方法,参数为Runnable的实例 void execute(Runnable command); Executors负责创建不同功能的线程池,线程…