Tony's Blog

LeetCode - 链表中的使用指针的技巧

思路 使用一个指针(java引用)表示当前遍历的链表中的present节点,移动节点的的操作为 p = p.next 注意在链表的拼接操作中,由于链表维护的特性,在拼接了一个节点后,该操作其实是将以该节点为起点的整个链表拼接了过来,在多数情况下可以不对此做额外处理,但有时候需要对尾部节点进行显式地进行 node.next = null操作以防止一些错误出现。(即有时候需要额外处理node...

多线程中的各种锁🔐- 2: AQS与其子类实现

在前一篇博文中讲的是CLH队列与AQS对其的优化,其用于维护线程的等待状态。但我发现把CLH作为第一篇其实有点不合适,原本将其作为第一篇是因为其本身作为了整个锁机制在实现上的开端,但我现在发现其不适合作为学习这一整个概念的开端,但我也懒得改了。其实本篇才适合作为开端,而CLH那篇可以仅作为拓展博文观看。 更严格地讲,本篇的术语表中的同步概念才是整个锁系列的开篇,希望未来的我 或者新读者(有...

多线程中的各种锁🔐- 1: CLH锁以及AQS对其的改进

本篇博客中的大部分内容并非原创,仅做整理作为学习资料使用 credit: Java AQS 核心数据结构-CLH 锁 在进行java并发学习的时候发现关于锁这一涵盖性术语有太多的子概念,所以本篇博文的目的是做一个简单易懂的锁相关概念总结,以帮助更好地理解和应用锁。 术语表 独占锁: 确保同一时间只有一个线程可以访问共享资源,比如synchronized关键字和Reentran...

SSH连接局域网内的windows电脑的踩坑记录

windows SSH踩坑记录 心血来潮想用ssh连接windows,结果就是连不上,一直报错,最终还是找到了解决办法,记录一下。 无法连接,没有任何提示,只有timeout 饶了一点弯路 ,最后从防火墙方向入手,其实就是server不理这个请求,被防火墙ban了,加了个入站22端口的规则就行。 无法连接,请求直接被reset 这一步是个大坑,我也没搞明白是什么原因 最终的解决方式...

运行时StringBuilder动态拼接的String是否会被自动放入字符串常量池中?

基本的八股文概念就不赘述了,本文主要讲解自己踩的坑 其实直接用逻辑推断也能得出答案:不会 ,否则设计这么个常量池的意义何在。 但是我因为学艺不精,很多概念没有理解透彻,然后多饶了很久去验证想法。本篇博文就是分享我的思路历程。 写在最前 本篇博文主要记录我自己的心路历程,所以一开始我也记录了我的一些错误的想法,其直到后面的部分才被矫正,所以推荐先看完这部分 运行时创建的任何St...