首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JAVA底层结构
订阅
Half
更多收藏集
微信扫码分享
微信
新浪微博
QQ
14篇文章 · 0订阅
10分钟看懂动态代理设计模式
从字面意思来看,代理比较好理解,无非就是代为处理的意思。举个例子,你在上大学的时候,总是喜欢逃课。因此,你拜托你的同学帮你答到,而自己却窝在宿舍玩游戏... 你的这个同学恰好就充当了代理的作用,代替你去上课。 很简单的一个例子,用一个随机睡眠时间模拟小鸟在空中的飞行时间。接下来…
高效程序员的 14 个习惯(二)
Paul Isaris 原作,授权 New Frontend 翻译。 这篇文章是「高效程序员的 14 个习惯」系列的第二部分。你可以在这里或者我的博客阅读第一部分。 「高效程序员的 14 个习惯」系列的第一部分讲述了「习惯」在程序员日常生活中带来的好处,以及我们要如何通过在工作…
使用缓存的正确姿势
缓存是现在系统中必不可少的模块,并且已经成为了高并发高性能架构的一个关键组件。这篇博客我们来分析一下使用缓存的正确姿势。 绝大多数情况下,select 是出现性能问题最大的地方。一方面,select 会有很多像 join、group、order、like 等这样丰富的语义,而这…
[肥朝]从线程池理论聊聊为什么要看源码
很多时候,我都想向大家传输一个思想,那就是只有懂了原理,才能随心随心所欲写代码.而看源码,又是了解原理的一个非常重要的途径. 第三点,我认为尤其重要.我们看源码的目的是为了解决问题,我觉得只谈付出,不谈回报都是耍流氓.如果只告诉大家要懂原理,看源码,接着贴几大段源码,然后给大片…
Java线程池「异常处理」正确姿势:有病就得治
更多精彩文章。 假设我们有一个线程池,由于程序需要,我们向该线程池中提交了好多好多任务,但是 这些任务都没有对异常进行try catch处理,并且运行的时候都抛出了异常 。这会对线程池的运行带来什么影响? 正确答案是:没有影响。 这可不是好事情。 想一下,如果是你开发了一个线程…
拜托,面试官别问我「布隆」了
一个网站有 100 亿 url 存在一个黑名单中,每条 url 平均 64 字节。这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中? 这是一道经常在面试中出现的算法题。凭借着题目极其容易描述,电面的时候也出现过。 不考虑细节的话,此题…
实现分布式锁
Java中的锁主要包括synchronized锁和JUC包中的锁,这些锁都是针对单个JVM实例上的锁,对于分布式环境如果我们需要加锁就显得无能为力。在单个JVM实例上,锁的竞争者通常是一些不同的线程,而在分布式环境中,锁的竞争者通常是一些不同的线程或者进程。如何实现在分布式环境…
深入理解Java虚拟机(高效并发)
高效并发是 JVM 系列的最后一篇,本篇主要介绍虚拟机如何实现多线程、多线程间如何共享和竞争数据以及共享和竞争数据带来的问题及解决方案。 让计算机同时执行多个任务,不只是因为处理器的性能更加强大了,更重要是因为计算机的运算速度和它的存储以及通信子系统速度差距太大,大量的时间都花…
如何设计一个百万级用户的抽奖系统?
本文给大家分享一个之前经历过的抽奖系统的流量削峰架构的设计方案。 抽奖、抢红包、秒杀,这类系统其实都有一些共同的特点,那就是在某个时间点会瞬间涌入大量的人来点击系统,给系统造成瞬间高于平时百倍、千倍甚至几十万倍的流量压力。 比如抽奖,有一种场景:某个网站或者APP规定好了在某个…
Java:并发不易,先学会用
我从事Java编程已经11年了,绝对是个老兵;但对于Java并发编程,我只能算是个新兵蛋子。我说这话估计要遭到某些高手的冷嘲热讽,但我并不感到害怕。 因为我知道,每年都会有很多很多的新人要加入Java编程的大军,他们对“并发”编程中遇到的问题也会有感到无助的时候。而我,非常乐意…