![](https://img-blog.csdnimg.cn/20190724173241686.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
探究源码
文章平均质量分 96
源码的意义~
穿条秋裤到处跑
Wu,Rosen Wanlong
展开
-
这次我一定要弄清楚Filter和Interceptor
过滤器和拦截器大家应该都用过,两者在一定程度在,与AOP思想相呼应。如果现在问你,过滤器和拦截器有什么区别,你有信心能够回答好这个问题吗?原创 2022-07-15 11:23:08 · 261 阅读 · 0 评论 -
循环体中对集合进行增删时报错:java.util.ConcurrentModificationException
先看一段代码: @Test public void test02(){ List<String> list = new ArrayList<>(8); list.add("tom"); list.add("jack"); list.add("marry"); list.add("wuwl"); for(String string:list){ if("wuwl".equals(string)){原创 2020-07-07 22:48:04 · 334 阅读 · 0 评论 -
synchronized 关键字的底层原理
synchronized关键字实现了多个线程之间访问资源的同步性,保证了被它修饰的方法或代码块在任意时刻最多只有一个线程执行。synchronized关键字是通过JVM底层实现的。按使用位置分,同步语句块和同步方法实现线程安全的方式不同synchronized关键字同步语句块public class SynchronizedDemo { public void method() ...原创 2020-01-15 17:00:04 · 308 阅读 · 0 评论 -
ConcurrentHashMap与HashTable的区别
ConcurrentHashMap与HashTable都是线程同步的容器,主要区别体现在二者实现线程安全的方式上。底层数据结构:JDK1.7的 ConcurrentHashMap 底层采用 分段的数组+链表 实现;JDK1.8 采用的数据结构跟HashMap1.8的结构一样,数组+链表/红黑二叉树。Hashtable 和 JDK1.8 之前的 HashMap 的底层数据结构类似都是...原创 2020-01-14 16:44:35 · 154 阅读 · 0 评论 -
关于null对象使用print方法打印问题总结,null+"123"打印结果是"null123"还是"123"?
首先回忆一下String str = null与String str = “” 的区别:null表示一个空对象,除了基础类型以外的其它类型,都能以此声明一个对象,但未分配堆内存空间,就好比口头宣布“我要上北大”;后者声明了一个实实在在的字符串,只不过这个字符串比较特殊,他的长度为0,可以理解为“买好了所有的复习资料准备撸起袖子开干了,但是还未开始,积累为0”。null对象在使用String的方...原创 2019-07-19 10:31:37 · 1395 阅读 · 0 评论 -
String通过“+”号拼接字符串的底层实现
在实际开发过程中,经常涉及到字符串的处理,特别是字符串的连接。常规情况下,我们都习惯了直接使用“+”来连接两个字符串,方便简洁,但又总会有人告诉你,使用“+”连接字符串是一种低效的处理方式。由于“+”不是一个特定的类,无法从jdk源码去一探究竟底层如何实现的,所以,唯一的解释就是编译器动了手脚。L0LINENUMBER 27 L0ACONST_NULLASTORE 1L1LIN...原创 2019-07-18 18:22:29 · 1525 阅读 · 0 评论