自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (2)
  • 收藏
  • 关注

原创 d 111

将以下操作保存为bat文件(新建txt,然后将后缀改为bat),然后双击运行即可。reg delete "HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4" /v CacheID /f这个操作是删除BeyondCompare4注册表里CacheID的值;如果你不嫌麻烦的话,可以等到试用期到了之后自己手动执行该操作,重新打开之后试用期就又是30天了;另外你可以添加定时任务,比如每隔3周自动执行该操作,这样试用期就会自己刷新了

2021-12-10 13:53:05 193 1

原创 HashMap源码----jdk1.8 resize()方法实现

jdk1.7中,resize方法在并发时,有可能将链表变成环,导致程序无止境的循环下去。导致这种bug的产生原因是,扩容过程采用头插法,会导致链表方向逆向,从而有可以成环jdk1.8修改了1.7中的倒插法,链表的元素扩容之后,只可能分配到两个地方,1.当前所在的哈希表的下标处,2.当前所在的哈希表的下标处+当前哈希表的容量。 Node<K,V> loHead = null, loTail = null; Node<K,V&gt

2021-05-29 18:36:33 143

原创 HashMap源码之keyset

HashMap遍历的时候,推荐使用entrySet,不建议使用keySet。因为使用keySet相当于对hashmap遍历了两次,一次对key的遍历,一次对整个map的遍历。研究了一下keyset发现与我想象中的不太一样。原本以为hashmap会在put和remove中操作keyset,但是并没在put方法中找到任何关于keyset的操作。但是idea调试时候,能看到hashmap调用put后,keyset对应的容量变化了,并且key也能在keyset找到。一头雾水还是没能找到答案。度娘告诉我,ide

2021-03-30 11:12:39 346

原创 java中的==

java中的==,基础的用法就是,比较两者的内存地址。但是这么说是不准确的。如果比较的是数字,那么就是比较值。比如:public static void main(String[] args) { int a =10; long b =10; float d =10.0f; float e =0.5f; double f =0.5d; double c =10.0d; System.out.println(a==b); Sy

2021-03-22 22:29:20 1006

原创 循环体break、continue的另类语法

研究ThreadPoolExecutor源码中发现,addWorker方法有一个retry:的写法,第一次见,所以鼓捣了一下。retry并非关键字,这里类似goto语法中的标记位置。这里主要是为了跳出多层循环使用的,单层循环break和continue本身就可以实现。多层循环就需要在跳出的循环体之前做上标记flag:,然后内层循环跳出用break flag;或者continue flag即可...

2021-03-05 17:01:00 260

原创 聊聊ThreadLocal

重点理清楚Thread ThreadLocalMap ThreadLocal的关系。同时,ThreadLocalMap存在内存泄露问题。1.key是弱引用,存放的ThreadLocal对象,当其设置为null时,gc可以回收它。但是value是强引用。因此ThreadLocal的set方法会遍历Entry数组,所有key为null的,也会清除value。但是虽然这样设计能降低内存泄露的风险,但是依然存在泄露的可能。a.使用了Thread,但是没有调用set方法。b.使用了Thread,然后没

2021-03-04 16:36:32 118 1

原创 Shell中的变量与下划线、数字、英文字符的关系

工作中,遇到这种情况i=2echo $i_001终端输出的是空。说明:shell变量名后面要跟如下内容:非小写字符串(包括大小字符串)、数字或下划线,要么用转义字符“\”或者变量名用大括号。否则就会向本例中shell试图使用filename_作为变量名。除非出现$filename_已经存在的偶然情况,否则该语句不会打印任何内容(为null或空字符串)。在shell中,取一个变量值的方法$varname的语法实际上是常用语法${varname}的简写形式,不管是避免歧义,还是增加可读性

2021-01-21 09:39:24 907

mysql安装图解

mysql安装图解

2018-11-08

SoapUI-Pro-x64-5.1.2

SoapUi开发工具,内含安装文件和破解文件,支持版本:SoapUI-Pro-x64-5.1.2

2018-11-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除