java内核
明月三千里68
这个作者很懒,什么都没留下…
展开
-
jdk1.8下的自动装箱cache
【现象】在jdk 1.8.0_111下代码:public static void main(String[] args) { Integer a = 2; Integer b = 2; System.out.println(a==b); Integer c = 222; Integer d = 222; System.out.println(c==d);}结果输出为:truefa...原创 2018-04-11 11:12:00 · 618 阅读 · 0 评论 -
java常考面试题-字符串比较
float a = 3.0f;int b = 3;System.out.println(a==b); //trueString c = "hello";String d = "hello";System.out.println(c==d); //true,因为"hello"是编译时就计算出来的字符串直接量,存在于常量池中,因此c和d都指向同一个字符串直接量String e = new ...原创 2018-04-11 12:49:55 · 1146 阅读 · 2 评论 -
java里String类的比大小compareTo方法实现分析
代码实例:System.out.println(new String("ab").compareTo(new String("kld")));java如何对字符串进行比较的?源码分析:String.classprivate final char value[];public int compareTo(String anotherString) { int len1 = value....原创 2018-04-19 16:26:40 · 2960 阅读 · 0 评论 -
java.util.concurrent.CopyOnWriteArrayList如何实现实现写入的线程安全性
CopyOnWriteArrayList和CopyOnWriteArraySet也是线程安全的集合,其中所有的修改线程对底层数组进行复制。当线程对其读,直接读取集合本身无需加锁和阻塞;当线程对其写入(包括调用add,remove,set等方法),该集合会在底层复制一份数组,接下来对数组进行写入操作。由于对其写入都是对数组副本的操作,因此是线程安全的。由于每次写入都要复制数组会导致性能很差,因此适合...原创 2018-05-10 20:47:04 · 1081 阅读 · 0 评论