首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
Enchanter
更多收藏集
微信扫码分享
微信
新浪微博
QQ
33篇文章 · 0订阅
Redis源码阅读环境搭建
fort redis仓库 https://github.com/redis/redis 拉取代码,切换到5.0分支,如果遇到github下载慢,可以直接在页面上切换5.0分支,然后把代码压缩包zip下载下来,但zip是不带git信息的。 大体意思是支持了但可能不太好,同时还提供…
ForkJoinPool大型图文现场(一阅到底 vs 直接收藏)
并发工具类我们已经讲了很多,这些工具类的「目标」是让我们只关注任务本身,并且忽视线程间合作细节,简化了并发编程难度的同时,也增加了很多安全性。工具类的对使用者的「目标」虽然一致,但每一个工具类本身都有它独特的应用场景,比如: 结合上图相信你的脑海里已经浮现出这几个工具类的具体实…
图解ConcurrentHashMap
Concurrent翻译过来是并发的意思,字面理解它的作用是处理并发情况的 HashMap,在介绍它之前先回顾下之前的知识。通过前面两篇学习,我们知道多线程并发下 HashMap 是不安全的(如死循环),更普遍的是多线程并发下,由于堆内存对于各个线程是共享的,而 HashMap…
【进阶之路】Java代码性能调优(一)
String对象是java中重要的数据类型,在大部分情况下我们都会用到String。在java语言漫长的进化过程中,开发人员也对String做了大量的优化,其中字符串的不变性和常量池复用也是String的重要特点 String类以final进行了修饰,在系统中就不可能有Stri…
没内鬼,来点干货!volatile和synchronized
运行这段代码我们可能会得到一个匪夷所思的结果:我们获得的单例对象是未初始化的。为什么会出现这种情况?因为指令重排 首先要明确一点,同步代码块中的代码也是能够被指令重排的。然后来看问题的关键 由于步骤2,3交换不会改变单线程环境下的执行结果,故而这种重排序是被允许的。也就是我们在…
Java 应用线上问题排查思路、工具小结
本文总结了一些Java应用线上常见问题的定位步骤,分享的主要目的是想让对线上问题接触少的同学有个预先认知,免得在遇到实际问题时手忙脚乱。毕竟作者自己也是从手忙脚乱时走过来的。 只不过这里先提示一下。在线上应急过程中要记住,只有一个总体目标:「尽快恢复服务,消除影响」。 不管处于…
Java堆内存是线程共享的!面试官:你确定吗?
Java作为一种面向对象的,跨平台语言,其对象、内存等一直是比较难的知识点,所以,即使是一个Java的初学者,也一定或多或少的对JVM有一些了解。可以说,关于JVM的相关知识,基本是每个Java开发者必学的知识点,也是面试的时候必考的知识点。 但是,作者可以很负责任的告诉大家,…
深入解读HashMap线程安全性问题
HashMap是线程不安全的,在多线程环境下对某个对象中HashMap类型的实例变量进行操作时,可能会产生各种不符合预期的问题。 本文详细说明一下HashMap存在的几个线程安全问题。 此时t1和t2同时执行put,假设t1执行put(“key2”, “value2”),t2执…
新来的同事用策略模式把if else给"优化"了,技术总监说:能不能想好了再改?
本文来自作者投稿,原作者:上帝爱吃苹果我想大家肯定都或多或少的看过各种“策略模式”的讲解、布道等等,这篇文章就是来好好“澄清”一下策略模式,并尝试回答以下的问题:策略模式是如何优化业务逻辑代码结构的?
七张图彻底讲清楚ZooKeeper分布式锁的实现原理【石杉的架构笔记】
之前写过一篇文章(《拜托,面试请不要再问我Redis分布式锁的实现原理》),给大家说了一下Redisson这个开源框架是如何实现Redis分布式锁原理的,这篇文章再给大家聊一下ZooKeeper实现分布式锁的原理。 同理,我是直接基于比较常用的Curator这个开源框架,聊一下…