首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
偶尔也想发光
掘友等级
程序员
|
杭州互联网公司
Java后端开发、篮球
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
9
文章 9
沸点 0
赞
9
返回
|
搜索文章
最新
热门
一次线上OOM与RocketMQ消费者源码分析
这是一个临时文件的清洗服务,主要使用消费者生产者模型。 使用MQ为RocketMQ,因为对其中参数理解不够深入,导致线上出现了OOM。 本文是对本次问题的一个梳理。
媒体处理微服务从0到1
构建媒体处理微服务,实现基本处理能力。主要功能为: 1. 视频处理:视频转码、视频拼接、视频截图、视频水印等等。 2. 音频处理:音频转码、音频拼接 3. 文件安全:音视频加密
高性能缓存 - JUC(六)
缓存是在实际生产中非常常用的工具,用了缓存以后,我们可以避免重复计算,提高吞吐量。 1)场景:我们数据库中有一些业务相关的配置(业务名称,业务ID,业务描述,业务字段等等),这些配置存放在若干个表中,每一次组装信息的时候我们都可能需要做多次查询和计算,但是这些配置我们又不会频繁…
线程治理 Future和Callable - JUC(五)
其中,获取源文件这一步,如果使用for循环去排队获取(下载),10个10M的文件可能就需要30s(依照当前带宽情况而定)。 如果使用多线程去下载,最大可以将时间缩短到3s。因为各个文件的下载并不存在串行条件。 我们先从老朋友Runnable讲起。 如果说Run方法可以抛出异常,…
AQS - JUC(四)
从实际生活中的面试场景出发,我们来看看AQS究竟做了什么事情。 是也。 上图就是有使用到AQS的类。 总结一下:AQS是一个用于构建锁、同步器、协作工具类的工具类(框架)。有了AQS之后,更多的协作工具类都可以很方便的被写出来。 面试类别有群面、单面。 而安排就坐、叫号、处理先…
并发容器与并发控制 - JUC(三)
很简单,别想太多,就是因为性能不好。 look, look, 这个synchronized是直接修饰在方法上的,如果你上下翻翻,就可以发现基本上这个类的所有方法都是synchronized修饰的。 Hashtable也是如此。 同时扩容时,只会保留一个扩容的数组。 多线程同时扩…
锁与CAS - JUC(二)
效率低:锁的释放情况少(IO,sleep不会释放锁)、试图获取锁时不能设置超时时间、不能中断一个正在试图获取锁的线程。 不够灵活:加锁和释放的时机单一,每个锁仅有单一的条件(某个对象),可能是不够的。 无法知道是否成功获取锁:没有如tryLock的方法。 悲观锁的原始开销要高于…
线程池与ThreadLocal - JUC(一)
这里的Worker即持有具体thread的工作线程,workQueue(阻塞队列)则是我们传入的一个个需要被执行的任务(run方法里面的内容)。其他的结构性的说明可以瞅瞅这篇美团技术团队的文章,写的特别好: 工作线程在执行完成一个任务以后,就会去阻塞队列获取新的任务,执行任务的…
初探:Java 并发原理
代码耦合度太高,不利于后续的重构。比如未来如果需要使用Task、Executor等;创建线程、执行线程、销毁线程是Thread类做的事情,我们应该把具体的执行内容解耦出来。 资源节约。一个Runnable可以使用在多个线程中,可以资源共享;新建线程的损耗,如果继承Thread类…
个人成就
文章被点赞
73
文章被阅读
16,644
掘力值
543
关注了
1
关注者
60
收藏集
0
关注标签
18
加入于
2016-09-22