- 博客(7)
- 收藏
- 关注
原创 数据结构—二叉树广度优先遍历
如果说深度遍历是在一个方向上“一头扎到底”,那么广度遍历则恰恰相反,现在各个方向上走出第1步,再在各个方向上走出第2步,第3步…一直在各个方向上全部走完。学习二叉树层序遍历时,第一次发现数据结构还是挺有意思的,选用不同的数据结构,对完成数据操作的难易程度和效率都有很大影响,根据不同业务场景,选择合适的数据结构,至关重要。...
2020-06-25 11:06:43
7319
3
原创 Java集合—HashMap初始化容量带大小设置成多少合适
1.Map简介Map 常用的实现类如下:Hashtable:Java 早期提供的一个哈希表实现,它是线程安全的,不支持 null 键和值,因为它的性能不如 ConcurrentHashMap,所以很少被推荐使用。HashMap:最常用的哈希表实现,如果程序中没有多线程的需求,HashMap 是一个很好的选择,支持 null 键和值,如果在多线程中可用 ConcurrentHashMap 替代。TreeMap:基于红黑树的一种提供顺序访问的 Map,自身实现了 key 的自然排序,也可以指定 Comp
2020-06-14 20:08:23
7620
原创 java运算符—自增(减)操作是线程安全的吗
1.简单介绍++i 先自加再赋值;i++ 先赋值再自加;不再赘述2. ++/-- 线程安全问题先看一个例子:static int count = 0;public static void main(String[] args){ new Thread(() -> { for (int i = 0; i < 10000; i++) { System.out.println("thread:" + Thread.currentThre
2020-06-10 22:09:18
1047
原创 Java String—String, StringBuilder, StringBuffer
1.简介字符串相关类型主要有这三种:String、StringBuffer、StringBuilder,其中 StringBuffer、StringBuilder 都是可以变的字符串类型,StringBuffer 在字符串拼接时使用 synchronized 来保障线程安全,如图:因此在多线程字符串拼接中推荐使用 StringBuffer。StringBuilder 的使用方法和 StringBuffer 一样,它们都继承于 AbstractStringBuilder。性能:String 每次修改相
2020-06-09 21:21:24
145
原创 Java String—String创建的方式
1. String创建的两种方式 String str = "mcdull"; String str1 = str; String str2 = new String("mcdull"); System.out.println(str == str1); System.out.println(str == str2);输出结果:true、false。为什么会这样?原因是 str2 使用 new String 时一定会在堆中重新创建一个内存区域,而 str1 则会直接使用了 str
2020-06-08 22:36:33
263
原创 About My First Blog
我的第一篇技术博客About meAbout me工作这两年,CRUD写了不少,一直忙碌于工作,却很少时间有自己的反思,从现在起算是一个新的开始吧,把自己想到的,了解到的share出来,给自己一个总结。若干年后,即使仍旧默默无闻,至少还有几段文字保留在这茫茫的cyber space,或许,说不定还有人能翻到其中的某些呢~...
2020-06-07 18:20:45
401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人