首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
java
订阅
explorelst
更多收藏集
微信扫码分享
微信
新浪微博
QQ
28篇文章 · 0订阅
多线程编程完全指南
因为并发是整个分布式集群的基础,通过分布式集群不仅可以大大降低同等负载能力的价格,还能使整体可扩展到的负载能力上限大大提升。低廉的服务成本使互联网行业的创意井喷,任何一个人都有能力创建并维持一个服务于成百上千甚至数万人的应用服务;而极高的服务能力上限让无数业务的线上化成为了可能…
为什么我强烈推荐你用枚举来实现单例模式
单例模式是 Java 中最简单,也是最基础,最常用的设计模式之一。在运行期间,保证某个类只创建一个实例,保证一个类仅有一个实例,并提供一个访问它的全局访问点。下面就来讲讲Java中的N种实现单例模式的写法。 这是实现一个安全的单例模式的最简单粗暴的写法,这种实现方式我们称之为饿…
Java7/8中的HashMap和ConcurrentHashMap全解析
阅读建议:四节基本上可以进行独立阅读,建议初学者可按照 Java7 HashMap -> Java7 ConcurrentHashMap -> Java8 HashMap -> Java8 ConcurrentHashMap 顺序进行阅读,可适当降低阅读门槛。 阅读前提:本文分…
HashMap 深度分析
这篇文章主要是分析 HashMap 的工作原理,HashMap 涉及的知识远远不止 put 和 get 那么简单。这篇文章分析得很深入了。
手写算法并记住它:快速排序(5行代码简单版)
本系列文章就尝试解决这个问题。 研读那些排序算法,细品它们的名字,其实都很贴切。 比如快速排序,一个快字就能体现出其价值,因而它是用得最多的。 因为它相对难一些,本系列将分两篇文章讲解它。 本篇是一种简单实现版本,与归并排序做对比,摸清快排的总体思路。下一篇才是常见于各教程中的…
为什么阿里巴巴要求谨慎使用ArrayList中的subList方法
集合是Java开发日常开发中经常会使用到的。在之前的一些文章中,我们介绍过一些关于使用集合类应该注意的事项,如《为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作》、《为什么阿里巴巴建议集合初始化时,指定集合容量大小》等。 subList是Lis…
如何设计一个百万级用户的抽奖系统?
本文给大家分享一个之前经历过的抽奖系统的流量削峰架构的设计方案。 抽奖、抢红包、秒杀,这类系统其实都有一些共同的特点,那就是在某个时间点会瞬间涌入大量的人来点击系统,给系统造成瞬间高于平时百倍、千倍甚至几十万倍的流量压力。 比如抽奖,有一种场景:某个网站或者APP规定好了在某个…
30 分钟快速入门 Docker 教程
1. Docker 与虚拟化 在没有 Docker 的时代,我们会使用硬件虚拟化(虚拟机)以提供隔离。这里,虚拟机通过在操作系统上建立了一个中间虚拟软件层 Hypervisor ,并利用物理机器的资源虚拟出多个虚拟硬件环境来共享宿主机的资源,其中的应用运行在虚拟机内核上。但是,…
深入分析synchronized原理和锁膨胀过程(二)
上一篇文章介绍了多线程的概念及synchronized的使用方法《synchronized的使用(一)》,但是仅仅会用还是不够的,只有了解其底层实现才能在开发过程中运筹帷幄,所以本篇探讨synchronized的实现原理及锁升级(膨胀)的过程。 synchronized是依赖于…
Java 中的 Timer 源码分析及缺陷
深入剖析 Java 中的原理及缺陷