开发中容易混淆的几个概念

这篇文章主要记录在开发中容易混淆和使用出现错误的知识点,稍作整理,后续会持续更新

 equals和==的区别

 ==

- 是一个运算符

- 比较两个对象的栈内存地址是否相同

- 可以比较基本数据类型的值是否相等


Equalse

- string对象的方法

- 比较两个对象的栈内存地址是否相同

- 既可以表示两个对象的内存地址是否相同,又可以表示值是否相同

NULL和“”的区别

 NULL

-代表一个空对象

-除了=和==,一般不执行其他操作

-String s=null;只是定义了一个句柄,也就是说你有了引用,但引用并未任何内存空间

“”

-代表一个对象实例,这个对象实例的值是一个长度为0的空字符串

-是一个空字符串,可以执行字符串里的方法

-String s="";这个引用已经指向了一块是空字符串的内存空间,可以对其进行任何操作

 单引号和双引号

 单引号

-单引号的数据是char类型

-只能引一个字符

 双引号

-双引号的数据是string类型

-可以引0个及其以上

 wait、sleep和Yield的区别

wait

-Condition/Object的方法

-执行环境:同步代码块内

-是否释放持有的锁:释放

-调用后何时恢复:某个线程调用对应的nofity/signal方法唤醒后进入就绪状态

sleep

-Thread的方法

-执行环境:任意位置

-是否释放持有的锁:不释放

-调用后何时恢复:指定时间后

 Yield

-Thread的方法

-执行环境:任意位置

-是否释放持有的锁:不释放

-调用后何时恢复:立即进入就绪状态

 overload和override的区别

 overload(重载)

-参数类型、个数、顺序至少有一个不相同;

-不能重载只有返回值不同的方法名;

-存在于父类和子类、同类中;

override(重写)

-方法名、参数、返回值相同

-子类方法不能缩小父类方法的访问权限

-子类方法不能抛出比父类更多的异常(但子类方法可以不抛出异常)

-存在于父类和子类之间

-方法被定义为final不能被重写

 String、StringBuffer与StringBuilder之间区别

 String

-字符串常量

-执行速度:最慢

-操作少量数据时使用

StringBuffer

-字符串变量

-执行速度:稍快

-多线程操作字符串缓冲区下大量数据时使用

-线程安全的

 StringBuilder

-字符串变量

-执行速度:最快

-单线程操作字符串缓冲区下大量数据时使用

-线程非安全的

 Collection 和 Collections的区别

 Collection

-是一个集合接口(集合类的一个顶级接口)

-继承与他的接口主要有Set 和List

-它提供了对集合对象进行基本操作的通用接口方法

 Collections

-是集合类的一个工具类/帮助类

-其中提供了一系列静态方法,用于对集合中元素进行排序、搜索以及线程安全等各种操作

ArrayList,Vector, LinkedList的存储性能和特性

 ArrayList

-ArrayList 采用的是数组形式来保存对象的

-此数组元素数大于实际存储数据以便增加和插入元素

-允许直接用序号索引元素

-索引数据快而插入数据慢

-线程不安全的,不是同步的

-当需要增长时,ArrayList却是原来的一半

 Vector

-ArrayList 采用的是数组形式来保存对象的

-此数组元素数大于实际存储数据以便增加和插入元素

-允许直接用序号索引元素

-索引数据快而插入数据慢

-线程安全的,也就是说是同步的

-当需要增长时,Vector默认增长为原来一培

LinkedList

-使用双向链表方式存储数据

-按序号索引数据需要前向或后向遍历数据

-索引数据慢,插入的速度快

 HashMap和Hashtable的区别

 HashMap

-线程不安全

-允许有null的键和值

-效率高一点

-方法不是Synchronize的要提供外同步

-有containsvalue和containsKey方法

-HashMap是Hashtable的轻量级实现

 Hashtable

-线程安全

-不允许有null的键和值

-效率稍低

-方法是是Synchronize的

-有contains方法

-Hashtable 比HashMap 要旧

 final, finally, finalize的区别

 final

-用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承

 finally

-是异常处理语句结构的一部分,表示总是执行

finalize

-是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

 error和exception有什么区别?

 error

-Error类的父类都是throwable类

-Error类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢等

-对于这类错误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。

exception

-Exception类的父类都是throwable类

-Exception类表示程序可以处理的异常,可以捕获且可能恢复

-遇到这类异常,应该尽可能处理异常,使程序恢复运行,而不应该随意终止异常

 abstract class和interface有什么区别?

 abstract class

-抽象类可以有构造方法

-抽象类中可以有普通成员变量

-抽象类中可以包含非抽象的普通方法

-抽象类中的抽象方法的访问类型可以是public,protected和默认类型

-抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意

-抽象类类可以实现多个接口,但只能单继承

 interface

-接口中不能有构造方法

-接口中没有普通成员变量

-接口中的所有方法必须都是抽象的,不能有非抽象的普通方法

-但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型

-但接口中定义的变量只能是public static final类型,并且默认即为public static final类型

-接口只可以继承一个或多个其它接口

正斜杠/和反斜杠\的区别

正斜杠/

从右写到左(右倾)

表示除法,如120/60 = 2;表示单位(除法的变形),如60km/h

表示路径;Unix使用斜杆/ 作为路径分隔符;如果代表的是网络文件路径,则必须使用 正斜杠/

反斜杠\

从左写到右(左倾)

符表示转义字符,如\0表示“空字符”\r表示“回车”,\n表示“换行”等。

表示路径;如果代表的是windows文件路径,则使用 正斜杠/和 反斜杠\是一样的


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,042评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 89,996评论 2 384
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,674评论 0 345
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,340评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,404评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,749评论 1 289
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,902评论 3 405
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,662评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,110评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,451评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,577评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,258评论 4 328
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,848评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,726评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,952评论 1 264
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,271评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,452评论 2 348

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,598评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,079评论 0 62
  • 转自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帅199207阅读 8,504评论 3 93
  • 来杭州转眼已有数月,最开始仅是简单的江南情节,之后就是喜欢这个城市的味道。干净而优雅。烟雨中的杭州也别有一番趣味和雅致。
    zjanezhao阅读 235评论 0 0
  • 这一首诗,写到一半, 手机就莫名的自行关掉。 再打开,电还多,诗已然灭失, 不过我还部分记得起来。 遭遇神秘断电,...
    皇兄H阅读 436评论 1 5