- 博客(4)
- 收藏
- 关注
转载 2021-08-23
背景:在早期的JVM中,synchronized存在巨大的性能开销。因此,有人想出了一个“聪明”的技巧:双重检查锁定(Double-Checked Locking)。人们想通过双重检查锁定来降低同步的开销。下面是使用双重检查锁定来实现延迟初始化的示例代码。 java public class DoubleCheckedLocking { // 1 private static Instance instance; // 2 public static Instance getInstance()
2021-08-23 12:54:18
49
原创 单链表有无环
一、判断单链表中有无环 1.定义两个快慢指针,fast和slow 2.从头开始遍历,fast一次走两步,slow一次走一步 3.当它俩相遇的时候,说明该链表有环 注意:不能让fast一次走三步,有可能导致fast与slow擦肩而过,相遇的时间不确定,甚至永远相遇不了,所以说fast一次走两步是最合适也是最快的方法 public boolean hasCycle() { Node fast = this.head; Node slow = this.head; .
2021-08-21 11:00:28
188
原创 初识C语言
C语言基础 1.顺序语句,选择语句,循环语句 1.1 顺序结构:按照语句出现的先后顺序依次执行 1.2选择结构:根据条件判断是否执行相关语句 if······else语句 switch语句 1.3 循环结构:当条件成立时,重复执行某些语句 while 循环语句 do while 循环语句 for 循环语句 2.函数 2.1通过函数,可以把一个复杂任务分解成为若干个易于解决的小任务。充分体现结构化程序设计由粗到精,逐步细化的设计思想。 2.2内存 数据区里面存放全局变量 栈区里面存放局部变量(被调用时
2021-08-21 10:57:30
43
原创 初识C语言
C语言基础1.1软件 软件是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件,应用软件和介于二者之间的中间件。软件并不只是包括可以在计算机上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单来说就是程序+文档的集合体。 1.2文件 文件由文件名和文件主体构成。文件分为可执行文件和不可执行文件。 可执行文件:(windows系统)扩展名为.exe,.bat,.com等的文件是。可执行文件由指令和数据构成。linux是靠文件属性来判断文件是都可以执行。 不
2021-08-07 10:24:09
112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人