Java中一些相似知识点的区别

(此篇文章将持续更新)

一、flush()和close()的区别

  • flush():将流中的缓冲区缓冲的数据刷新到目的地中,刷新后,流还可以继续使用。
  • close():关闭资源,但在关闭前会将缓冲区中的数据先刷新到目的地,否则丢失数据,然后在关闭流。流不可以使用。如果写入数据多,一定要一边写一边刷新,最后一次可以不刷新,由close完成刷新并关闭。

二、ArrayList和LinkedList的区别

  1. LinkedList底层实现是链表,ArrayList底层实现是数组

  2. LinkedList不存在扩容 的说法,因为是链表结构。ArrayList底层是动态数组存在扩容说法,默认的数组大小是10,在检测是否需要扩容后,如果扩容,会扩容为原来的1.5倍大小。原理就是把老数组的元素存储到新数组里面

  3. ArrayList的查找快,增删慢,因为底层是数组,适用于查找元素。LinkedList底层是双链表,增删快,查找慢。

  4. 相同点:LinkedList和ArrayList的数据存储都是有序的,而且元素是可以重复的。

    两者add都是将元素追加到现有集合元素的末尾。

三、Collection和Collections的区别

1、java.util.Collection 是一个集合的顶级接口。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式。List,Set,Queue接口都继承Collection

2、java.util.Collections 是一个集合的工具类。 它包含有各种有关集合操作的静态方法(对集合的搜索、排序、线程安全化等),大多数方法都是用来处理线性表的。此类不能实例化,就像一个工具类,服务于Java的Collection框架。

四、Comparable和Comparator的区别

  1. Comparable在java.lang包里,Comparator在java.util包里
  2. Comparable是自然排序接口(默认排序接口),Comparator是自定义排序接口
  3. Comparable是比较的意思,接口中实现了CompareTo方法。Comparator是比较器的意思,要先定义一个自定义比较器类,该类实现Comparator接口,重写compare(T t1,T t2)比较方法。 即为:Comparable 必须由自定义类内部实现排序方法,而 Comparator 是外部定义并实现排序的。

五、entrySet和keySet的区别

  1. entrySet和keySet都是Map集合中的一种迭代方式。

  2. KeySet():

    Map集合遍历方式是键找值:即通过元素中的键,获取键所对应的值Map集合的键集是一个Set集合遍历Set集合,分别取出key,通过key找到value

  3. entrySet()方法:

    用于返回Map集合中所有的键值对(Entry)对象,以Set集合形式返回。

    遍历set集合得到 Entry<String , String> 对象

    Entry<String , String> 对象调用 getKey()得到 key

    Entry<String , String>对象调用getValue()得到 value

六、字节流与字符流的区别

字节流:以字节(byte)为单位输入输出,字节流按照8位传输

字符流:以字符(char)位单位输入输出,字符流按照16位传输

七、final finalize finally的区别

  1. Final修饰变量、方法、类。修饰变量时变量不能改值,修饰方法时方法不能被重写,修饰类时类不允许被继承。

  2. Finalize是方法,定义在Object类中,用于对象销毁时,由GC进行调用。

  3. Finally:表示代码块,与try进行配合使用,无论try块中的代码是否正常执行,都将执行finally块中的代码。

八、HashMap和Hashtable有什么区别

  1. HashMap去掉了Hashtable的contains方法

  2. Hashtable是线程安全的,效率低,HashMap是非线程安全的,效率高

  3. HashMap允许有一个null的键,Hashtable不允许键为null值也不允许为null

九、HashMap 和 HashSet 区别

  1. HashMap实现了Map接口,而HashSet实现了Set接口
  2. HashMap用于存储键值对,而HashSet用于存储对象
  3. HashMap不允许有重复的键,可以允许有重复的值。HashSet不允许有重复元素
  4. HashMap允许有一个键为null,多个值为null,HashSet允许有一个null
  5. HashMap中使用put()将元素加入map中,而HashSet使用add()将元素放入set中

十、BIO、NIO、AIO有什么区别?

  1. BIO:Blocking IO 同步阻塞式IO,就是我们平时使用的传统IO,它的特点是模式简单,使用方便,并发处理能力低。
  2. NIO:Non Blocking IO 同步非阻塞IO,是传统IO的升级,客户端和服务端通过Channel(通道)通讯,实现了多路复用
  3. AIO:Asynchronous IO 是NIO的升级,也叫NIO2,实现了异步非阻塞,是基于回调机制的IO。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容