首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
AIGC小菜鸡
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
46
文章 46
沸点 0
赞
46
返回
|
搜索文章
赞
文章( 46 )
沸点( 0 )
单例模式,你真的写对了吗?
嗯,好像没什么问题,但是当有多个线程同时调用getLazySingleton方法时,此时刚好对象没有初始化,两个线程同时通过lazySingleton == null的校验,将会创建两个LazySingleton对象。必须搞点手段使getLazySingleton方法是线程安全…
关于掘金小册恢复支付功能的公告
因热心掘友发现掘金小册严重的支付漏洞,为了避免支付漏洞造成更大的经济损失,掘金小册从6月15日开始全面下架了支付功能。 在下架期间,每天都有很多掘友来跟我们咨询恢复上线的时间,也有掘友因为工作项目和跳槽的原因,急需购买某一本小册,但是暂时无法满足他们的要求;在关闭支付期间也影响…
亲,建议你使用LocalDateTime而不是Date哦
calendar是共享变量,并且这个共享变量没有做线程安全控制。当多个线程同时使用相同的SimpleDateFormat对象【如用static修饰的SimpleDateFormat】调用format方法时,多个线程会同时调用calendar.setTime方法,可能一个线程刚设…
IDEA中的Git操作,看这一篇就够了!
大家在使用Git时,都会选择一种Git客户端,在IDEA中内置了这种客户端,可以让你不需要使用Git命令就可以方便地进行操作,本文将讲述IDEA中的一些常用Git操作。 使用前需要安装一个远程的Git仓库和本地的Git客户端,具体参考:10分钟搭建自己的Git仓库。 提交代码并…
Guava 消息框架 EventBus 的实现原理
EventBus的设计理念是基于观察者模式的,可以参考设计模式(1)—观察者模式先来了解该设计模式。 EventBus的使用是非常简单的,首先你要添加Guava的依赖到自己的项目中。这里我们通过一个最基本的例子来说明EveentBus是如何使用的。 首先,这里我们封装了一个事件…
面试官:为什么 MySQL 索引要使用 B+树而不是其它树形结构?比如 B 树?
因为这是可以算出来的,要搞清楚这个问题,我们先从InnoDB索引数据结构、数据组织方式说起。 我们都知道计算机在存储数据的时候,有最小存储单元,这就好比我们今天进行现金的流通最小单位是一毛。 而对于我们的InnoDB存储引擎也有自己的最小储存单元——页(Page),一个页的大小…
LeetCode 攻略 - 2019 年 7 月上半月汇总(55 题攻略)
自 2019-05-16 开始,jsliang 每天折腾一道及以上 LeetCode 题目,并将其解题思路记录成文章,发布到 GitHub 和 微信公众号。 2019/08/15 前。LeetCode 简单难度题目 - 完成 100 道简单 LeetCode 题目的题解。 20…
面试必备:Java线程池解析
掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 面试问题2:按线程池内部机制,当提交新任务…
让人抓头的Java并发(三) 强大的AQS!
AQS是队列同步器AbstractQueuedSynchronizer的简称,是用来构建锁和其他队列同步组件(ReentrantLock、CountDownLatch、Semaphore等)的基础框架。它使用一个volatile修饰的int类型成员变量表示同步状态,使用一个静态…
几种分布式锁的实现方式
一. 基于数据库的分布式锁 基于数据库的分布式锁, 常用的一种方式是使用表的唯一约束特性。当往数据库中成功插入一条数据时, 代表只获取到锁。将这条数据从数据库中删除,则释放送。 这里cust_id 可以是机器的mac地址+线程编号, 确保一个线程只有唯一的一个编号。通过这个编号…
下一页
个人成就
文章被点赞
1
文章被阅读
4,112
掘力值
68
关注了
355
关注者
9
收藏集
32
关注标签
19
加入于
2018-08-01