摘要: HashMap和HashTable有何不同? 线程安全: HashTable 中的方法是同步的,而HashMap中的方法在默认情况下是非同步的。在多线程并发的环境下,可以直接使用HashTable,但是要使用HashMap的话就要自己增加同步处理了。 继承关系: HashTable是基于陈旧的Dic 阅读全文
posted @ 2019-08-25 18:38 陆佳骅的博客 阅读(222) 评论(0) 推荐(0) 编辑
摘要: Vector是java.util包中的一个类。 SynchronizedList是java.util.Collections中的一个静态内部类。 在多线程的场景中可以直接使用Vector类,也可以使用Collections.synchronizedList(List list)方法来返回一个线程安全 阅读全文
posted @ 2019-08-25 18:31 陆佳骅的博客 阅读(1426) 评论(1) 推荐(1) 编辑
摘要: 名单主要有数组列表,链表与矢量几种实现。 这三者都实现了List接口,使用方式也很相似,主要区别在于因为实现方式的不同,所以对不同的操作具有不同的效率。 ArrayList是一个可改变大小的数组。当更多的元素加入到ArrayList中时,其大小将会动态地增长。内部的元素可以直接通过get与set方法 阅读全文
posted @ 2019-08-25 18:24 陆佳骅的博客 阅读(6241) 评论(0) 推荐(1) 编辑
摘要: transient、instanceof、volatile、synchronized、final、static、const 原理及用法 阅读全文
posted @ 2019-08-25 18:17 陆佳骅的博客 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 字符串池、常量池(运行时常量池、Class常量池)、intern() 阅读全文
posted @ 2019-08-25 18:16 陆佳骅的博客 阅读(394) 评论(0) 推荐(0) 编辑
摘要: Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进。到目前为止切换支持这样几种数据类型:byte short int char String。但是,作为一个程序员我们不仅要知道他有多么好用,还要知道它是如何实现的,开关对整型的支持是怎么实现的呢?对字符型是怎么 阅读全文
posted @ 2019-08-25 18:14 陆佳骅的博客 阅读(1401) 评论(0) 推荐(1) 编辑
摘要: 我们有三种方式将一个int类型的变量变成呢过String类型,那么他们有什么区别? 第三行和第四行没有任何区别,因为String.valueOf(i)也是调用Integer.toString(i)来实现的。 第二行代码其实是String i1 = (new StringBuilder()).appe 阅读全文
posted @ 2019-08-25 18:01 陆佳骅的博客 阅读(1918) 评论(0) 推荐(0) 编辑
摘要: 字符串,是Java中最常用的一个数据类型了。 本文,也是对于Java中字符串相关知识的一个补充,主要来介绍一下字符串拼接相关的知识。本文基于jdk1.8.0_181。 字符串拼接 字符串拼接是我们在Java代码中比较经常要做的事情,就是把多个字符串拼接到一起。 我们都知道,String是Java中一 阅读全文
posted @ 2019-08-25 17:59 陆佳骅的博客 阅读(31641) 评论(2) 推荐(5) 编辑
摘要: String s =“a”+“b”,编译器会进行常量折叠(因为两个都是编译期常量,编译期可知),即变成String s =“ab” 对于能够进行优化的(String s =“a”+变量等)用StringBuilder的append()方法替代,最后调用toString()方法(底层就是一个新的Str 阅读全文
posted @ 2019-08-25 17:50 陆佳骅的博客 阅读(676) 评论(0) 推荐(0) 编辑
摘要: replaceFirst、replaceAll、replace区别 阅读全文
posted @ 2019-08-25 17:49 陆佳骅的博客 阅读(189) 评论(0) 推荐(0) 编辑