240 发简信
IP属地:北京
  • Resize,w 360,h 240
    追忆似水年华(一)

    还记得那只橘猫在某天清晨给我的惊天一吻,这一吻迸发出的同性间爱的光辉闪瞎了睡在我旁边好基友的dog eye。 当你看到这个标题或者读完下面的文字...

  • Go最佳实践 - Error handling

    背景 众所周知,Go的异常是很简单的,任何实现了error 接口的都可以作为异常。error接口定义如下: 错误检查 1.使用errorstru...

  • 比特币挖矿新区块奖励减半机制

    在所有的比特币代码规则中,很少有这么受人推崇的规则,那就是对比特币发行量的硬性限制。 在比特币的生命周期中,将会有21,000,000个比特币被...

  • go语言的值传递和指针传递

    Go允许通过指针(有时称为引用)和值来传递参数。在这篇文章中,我们将比较两种方法,特别注意可能影响选择的不同情境。 指针传递与值传递 严格地说,...

  • RedisTemplate用SETNX命令实现分布式锁

    使用SETNX命令获取分布式锁的步骤: C1和C2线程同时检查时间戳获取锁,执行SETNX命令并都返回0,此时锁仍被C3持有,并且C3已经崩溃 ...

  • docker基础命令

    1.使用 docker pull 命令来从仓库获取所需要的镜像。 2.使用 docker images 显示本地已有的镜像。 3.docker ...

  • JVM内存分配与回收策略

    前言 对象的内存分配,往大方向讲,就是在堆上分配(但也可能经过JIT编译后被拆散为标量类型并间接地栈上分配),对象主要分配在新生代的Eden区上...

  • 线程池的种类

    线程池的种类 之前说过ThreadPoolExecutor的用法,jdkExecutors包下还封装了一些其他类型的线程池。 newFixedT...

  • 更好的使用Java线程池ThreadPoolExecutor

    在多线程编程中创建线程池的时候,一般禁止使用Executors.newFixedThreadPool(8)方式创建线程池,这是一种偷懒的行为。一...