
java
文章平均质量分 58
骑着蜗牛向前跑
纵若急风起
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
踩坑 AUTH password called without any password
或者已确定 ”mymaster“原创 2024-01-18 12:13:44 · 3110 阅读 · 0 评论 -
java 创建 777 权限的目录
java创建目录大都是 777 权限的目录原创 2022-08-15 17:08:59 · 2553 阅读 · 0 评论 -
java 时间类型和 mysql 时间类型对应关系
java 时间类型和 mysql 时间类型对应关系原创 2022-08-07 13:02:27 · 805 阅读 · 0 评论 -
正则表达式匹配全是标点符号的字符串
^[^a-zA-Z0-9\u4e00-\u9fa5]+$可以在线测试:https://c.runoob.com/front-end/854/。原创 2022-03-08 10:17:21 · 2137 阅读 · 0 评论 -
HashMap 深拷贝
场景描述浅拷贝与深拷贝的概念就不用赘述了,本质区别是两个引用指向同一个对象还是分别指向不同的对象。这里要讲的是 HashMap的深拷贝,如果所有的 value 是基础类型的,那简单的构造函数就能完成深拷贝。但是当 value 是引用类型时,以构造函数为代表的 ”深拷贝“ 方式就有问题了。此时最有效的方式是使用序列化,先将本体序列化,再反序列化时会 new 出新的 Map,即便是引用嵌套了好多层,也能迅速实现深拷贝。基于 Gson 的深拷贝实现Gson 是个序列化/反序列化库,实现深拷贝的demo如下原创 2022-02-24 23:35:07 · 2180 阅读 · 0 评论 -
再次理解Threadlocal
温故而知新,但要做笔记。1.ThreadLocal 解决了什么问题解决了两个问题:不同线程之间,变量隔离。同一个线程中,不同的方法之间变量共享。2. ThreadLocal 的使用ThreadLocal 的使用很简单,就三个方法:public void set(T value) {} //将变量与当前线程绑定。(将变量存储到当前线程中)public T get() {} //从当前线程中拿出变量。public void remove() {} // 将变量与当前线程解绑。(从当前线.原创 2021-07-01 20:46:25 · 219 阅读 · 1 评论 -
concurrentHashMap 源码理解
一、table 的初始化table 数组的第一次初始化会发成在 putVal 的时候,但是在构造器中已经设置了容量和阈值。1、无参构造函数// 默认容量是 16.public ConcurrentHashMap() {}##2、带初始容量的有参构造函数如果提前能知道容量的大小,可以在创建对象时就给出初始容量。 public ConcurrentHashMap(int initialCapacity) { // 下限检测 if (initialCapaci原创 2021-05-30 18:44:34 · 377 阅读 · 0 评论 -
HashMap源码简单理解:put
还是要做笔记的!还是要做笔记的!还是…! 重要的事情说三遍。之前梳理过,但这会记忆已经很模糊了,这次写个笔记,要是忘了,来这找!1.数据放在那里了?HashMap 常用的打开方式如下:、HashMap<String,Ingeter> hashmap = new HashMap<>();hashmap.put("diego",1);hashmap.put("amos",2);// ........ //那存入的两个键值对到底放在那里了?是以何种格式存放的?//原创 2021-05-23 17:22:42 · 268 阅读 · 0 评论 -
ArrayList源码:add 方法
1. add(E e):// 向列表中追加一个元素。// size:当前列表中元素的数量。public boolean add(E e) { // size+1 表示最小容量。最小容量 == 当前列表中元素个数+1。 ensureCapacityInternal(size + 1); // Increments modCount!! // 到这里已经扩容结束了。将新元素追加到数组。 elementData[size++] = e; // 添加成功,返回 tru原创 2021-05-20 21:07:08 · 864 阅读 · 0 评论 -
HashMap源码简单理解:put
还是要做笔记的!还是要做笔记的!还是…! 重要的事情说三遍。之前梳理过,但这会记忆已经很模糊了,这次写个笔记,要是忘了,来这找!1.数据放在那里了?HashMap 常用的打开方式如下:、HashMap<String,Ingeter> hashmap = new HashMap<>();hashmap.put("diego",1);hashmap.put("amos",2);// ........ //那存入的两个键值对到底放在那里了?是以何种格式存放的?//原创 2021-03-01 14:43:18 · 176 阅读 · 1 评论 -
java Long 的享元模式
先说下保护性拷贝引用赋值,一般是老应用将其值赋给新引用,结果就是新、老应用指向堆中的同一个对象。而保护性拷贝,是将老引用指向的对象拷贝一份新的出来,结果是老引用指向老对象,新引用指向新对象,但新、老对象的内容一样。这种通过创建副本对象来避免共享的手段称之为【保护性拷贝(defensive copy)】。享元模式因为如果每次都保护性拷贝会创建大量的对象,占用内存。【享元模式】指的是当要创建的对象 obj1 的内容,与内存中已存在的对象 obj2 的内容相同时,直接将 obj2 拿来使用。这样就能大大减少原创 2021-01-01 12:30:38 · 299 阅读 · 1 评论