在上一章中,我们知道多线程操作共享资源时,会出现三个问题:可见性、有序性以及原子性。 一般情况下,我们采用synchronized同步锁(独占锁、互斥锁),即同一时间只有一个...
在上一章中,我们知道多线程操作共享资源时,会出现三个问题:可见性、有序性以及原子性。 一般情况下,我们采用synchronized同步锁(独占锁、互斥锁),即同一时间只有一个...
自驱,极致,担当,补位
前言: 好久没有整理笔记了,都不记得上次更新简书是什么时候了,是时候整理下最近接触的技能了; 这篇文章是为了以后个人方便复习和查阅; 人不知不觉就会变得懒散,只能这样逼迫自己...
BAT 常问的 Java基础39道常见面试题 1.八种基本数据类型的大小,以及他们的封装类 2.引用数据类型 3.Switch能否用string做参数 4.equals与==...
发生了什么神奇的事情
Linux搭建 tensorflow-gpu环境,快速安装cuda、cudnn...0.前言 好不容易找到个有GPU的机器,喜滋滋...赶快搭建一个GPU环境,跑一下Bert... 但是... 不得不吐槽一下TensorFlow与CUDA、cuDNN的版本搭...
CountDownLatch是一个非常实用的多线程控制工具类。常用的就下面几个方法: CountDownLatch在我工作的多个场景被使用,算是用的很频繁的了,比如我们的AP...
一个快速迭代的项目,时间久了之后,代码中可能会充斥着大量的if/else,嵌套6、7层,一个函数几百行,简!直!看!死!人! 其实这种还算好的,更严重的嵌套我也见过,接手到这...
前言 高并发量引起的问题 一个使用传统阻塞I/O的系统,如果还是使用传统的一个请求对应一个线程这种模式,一旦有高并发的大量请求,就会有如下问题: 1、线程不够用, 就算使用了...