互联网大厂的缓存策略:抵抗超高并发的秘密武器,已开源!

6 月 11 日
阅读 6 分钟
375
最近,有小伙伴私信我:冰哥,我最近出去面试,面试官问我如何设计缓存能让系统在百万级别流量下仍能平稳运行,我当时没回答上来。接着,面试官问我之前的项目是怎么使用缓存的,我说只是缓存了一些数据。当时确实想不到缓存还有哪些用处,估计这次面试是挂了。冰哥,你可以给我讲讲互联网大厂项目是怎么设计和使用缓存...
封面图

又一个可以写到简历的项目,嘎嘎强!

3 月 26 日
阅读 3 分钟
192
分布式IM即时通讯系统本质上就是对线上聊天和用户的管理,针对聊天本身来说,最核心的需求就是:发送文字、图片、文件、语音、视频、消息缓存、消息存储、消息未读、已读、撤回,离线消息、历史消息、单聊、群聊,多端同步,以及其他一些需求。
封面图

又一个涵盖前后端+DevOps+OpenAI大模型的高并发项目启动了

2023-11-22
阅读 4 分钟
366
今天,正式通知大家一件事情:又到了启动新项目的时候,这也是 冰河技术 知识星球继 Seckill秒杀系统 项目后,又一个高并发实战项目。星球其他项目与专栏,大家可移步到冰河的个人站点:[链接] 进行查看。
封面图

五个月,秒杀,38个大的篇章,126+篇文章、视频、小册,150+源码分支,完美收官!

2023-09-18
阅读 2 分钟
439
经过四个多月的坚持,《Seckill秒杀系统》终于接近尾声了,也感谢大家这四个多月以来的坚持和陪伴,也相信大家在《Seckill秒杀系统》专栏中,学到了不少知识和技术。接下来,我们就一起对《Seckill秒杀系统》专栏做个总结。
封面图

高考成绩都出来了,你的秒杀系统如何了?

2023-06-30
阅读 1 分钟
751
截止到目前,秒杀系统从需求立项、架构设计、技术选型、环境搭建、编码实现、极致缓存设计到扣减库存防超卖设计,已经完成16个大的篇章47篇文章。
封面图

假期做了一项调研:大厂为啥都自研RPC?结果合乎情理!

2023-05-04
阅读 2 分钟
736
大家好,我是冰河~~五一假期过的可真快,今天开始,又要搬砖了。在五一假期当中,冰河做了一项调研,感觉结果还是挺合乎情理的。翻看招聘信息先来看我在某招聘网站上随便搜索了下Java招聘的岗位,看到的招聘信息。可以看到,很多岗位都要求有分布式、微服务相关的开发经验,并且清一色都需要掌握RPC框架,有RPC开发经验...
封面图

如何通过项目更好的学习并发编程?

2023-04-25
阅读 4 分钟
729
今天,正式通知大家一件事情:在今后一段时间内,冰河会带着大家一起从零开始搭建并开发一套可支持瞬时百万流量的高并发秒杀系统,这里会涉及到很多互联网大厂开发过程中所使用的核心技术和架构设计模式,也有冰河在大厂工作过程中,自主研发和参与研发的企业级中间件技术。
封面图

《深入理解高并发编程:JDK核心技术》-冰河新书上市

2023-03-17
阅读 3 分钟
666
2022年6月我出版了“冰河技术丛书”之“深入理解高并发编程”系列的第1部作品——《深入理解高并发编程:核心原理与案例实战》,书中全面细致地介绍了高并发编程的基础知识、核心原理、实战案例和系统架构等内容,帮助读者从根本上理解并发编程出现各种诡异Bug问题的根源,并从原理与实战层面找到解决问题的方案。随后这本书被...
封面图

冰河指南AI技术社区基于ChatGPT正式启动运营

2023-02-18
阅读 2 分钟
1k
最近ChatGPT真的太火了,科技圈几乎都在争相报导这个黑科技,它能够通过学习和理解人们的语言来和人类进行对话,能够与人们进行交流,甚至可以对你提出的问题进行分析,尽可能给出你想要的答案。还能够自动写论文、写代码等等,真的挺强大的,说到这里,不禁心里会感慨一声:AI都可以写代码了,难道程序员真的要失业了吗?
封面图

InterruptedException异常会对并发编程产生哪些影响?

2022-11-25
阅读 3 分钟
1.2k
当我们在调用Java对象的wait()方法或者线程的sleep()方法时,需要捕获并处理InterruptedException异常。如果我们对InterruptedException异常处理不当,则会发生我们意想不到的后果!
封面图

【JVM】关于JVM,你需要掌握这些 | 一文彻底吃透JVM系列

2022-11-04
阅读 14 分钟
1.6k
写在前面最近,一直有小伙伴让我整理下关于JVM的知识,经过十几天的收集与整理,初版算是整理出来了。希望对大家有所帮助。JDK 是什么?JDK 是用于支持 Java 程序开发的最小环境。Java 程序设计语言Java 虚拟机Java API类库JRE 是什么?JRE 是支持 Java 程序运行的标准环境。Java SE API 子集Java 虚拟机Java历史版本的...
封面图

【高并发】深度解析ScheduledThreadPoolExecutor类的源代码

2022-10-24
阅读 11 分钟
983
在【高并发专题】的专栏中,我们深度分析了ThreadPoolExecutor类的源代码,而ScheduledThreadPoolExecutor类是ThreadPoolExecutor类的子类。今天我们就来一起手撕ScheduledThreadPoolExecutor类的源代码。
封面图

【高并发】ScheduledThreadPoolExecutor与Timer的区别和简单示例

2022-10-12
阅读 4 分钟
913
JDK 1.5开始提供ScheduledThreadPoolExecutor类,ScheduledThreadPoolExecutor类继承ThreadPoolExecutor类重用线程池实现了任务的周期性调度功能。在JDK 1.5之前,实现任务的周期性调度主要使用的是Timer类和TimerTask类。本文,就简单介绍下ScheduledThreadPoolExecutor类与Timer类的区别,ScheduledThreadPoolExecutor...
封面图

【高并发】通过源码深度解析ThreadPoolExecutor类是如何保证线程池正确运行的

2022-08-30
阅读 7 分钟
894
AtomicInteger类型的常量ctl是贯穿线程池整个生命周期的重要属性,它是一个原子类对象,主要用来保存线程的数量和线程池的状态,我们看下与这个属性相关的代码如下所示。
封面图

多年亿级流量下的高并发经验总结,我毫无保留的写在了这本书中

2022-06-17
阅读 3 分钟
1.4k
今天,给大家隆重的宣布一个好消息:继出版《海量数据处理与大数据技术实战》、《MySQL技术大全:开发、优化与运维实战》和《深入理解分布式事务:原理与实战》之后,冰河的第4本书——《深入理解高并发编程:核心原理与案例实战》正式上市了。
封面图

【高并发】从源码角度分析创建线程池究竟有哪些方式

2022-05-26
阅读 8 分钟
1.2k
在Java的高并发领域,线程池一直是一个绕不开的话题。有些童鞋一直在使用线程池,但是,对于如何创建线程池仅仅停留在使用Executors工具类的方式,那么,创建线程池究竟存在哪几种方式呢?就让我们一起从创建线程池的源码来深入分析究竟有哪些方式可以创建线程池。
封面图

【高并发】深度解析线程池中那些重要的顶层接口和抽象类

2022-05-10
阅读 12 分钟
1.2k
在上一篇《【高并发】不得不说的线程池与ThreadPoolExecutor类浅析》一文中,从整体上介绍了Java的线程池。如果细细品味线程池的底层源码实现,你会发现整个线程池体系的设计是非常优雅的!这些代码的设计值得我们去细细品味和研究,从中学习优雅代码的设计规范,形成自己的设计思想,为我所用!哈哈,说多了,接下来,...
封面图

【高并发】不得不说的线程池与ThreadPoolExecutor类浅析

2022-04-21
阅读 4 分钟
1.8k
既然Java中支持以多线程的方式来执行相应的任务,但为什么在JDK1.5中又提供了线程池技术呢?这个问题大家自行脑补,多动脑,肯定没坏处,哈哈哈。。。
封面图

【高并发】两种异步模型与深度解析Future接口

2022-03-25
阅读 19 分钟
4.7k
本文有点长,但是满满的干货,以实际案例的形式分析了两种异步模型,并从源码角度深度解析Future接口和FutureTask类,希望大家踏下心来,打开你的IDE,跟着文章看源码,相信你一定收获不小!
封面图

【高并发】深入解析Callable接口

2022-02-16
阅读 10 分钟
3.8k
在JDK 1.8中只声明有一个方法的接口为函数式接口,函数式接口可以使用@FunctionalInterface注解修饰,也可以不使用@FunctionalInterface注解修饰。只要一个接口中只包含有一个方法,那么,这个接口就是函数式接口。
封面图

【高并发】深入理解线程的执行顺序

2022-01-17
阅读 3 分钟
1.8k
最近经常有读者问我:冰河,线程到底是按照怎样的顺序执行的呀?为了同一回答大家的这个问题,今天我就单独写一篇文章吧。好了,不多说了,进入今天的正题。
封面图

【高并发】深入解析Callable接口

2021-11-07
阅读 10 分钟
1.4k
在JDK 1.8中只声明有一个方法的接口为函数式接口,函数式接口可以使用@FunctionalInterface注解修饰,也可以不使用@FunctionalInterface注解修饰。只要一个接口中只包含有一个方法,那么,这个接口就是函数式接口。
封面图

原来ReadWriteLock也能开发高性能缓存,看完我也能和面试官好好聊聊了!

2021-07-27
阅读 6 分钟
3.3k
在实际工作中,有一种非常普遍的并发场景:那就是读多写少的场景。在这种场景下,为了优化程序的性能,我们经常使用缓存来提高应用的访问性能。因为缓存非常适合使用在读多写少的场景中。而在并发场景中,Java SDK中提供了ReadWriteLock来满足读多写少的场景。本文我们就来说说使用ReadWriteLock如何实现一个通用的缓存...
封面图

冰河公开了进大厂的核心技能,服了!

2021-03-08
阅读 2 分钟
1.2k
很多小伙伴问我进大厂到底需要怎样的技术能力,趁着年假,经过几天的思考和总结,终于梳理出一份相对比较完整的技能清单,小伙伴们可以对照清单提前准备相关的技能,在平时的工作中注意积累和总结。只要在平时的工作中总结到位,对技术知其然,知其所以然,进大厂,是水到渠成的事情。接下来,我就简单的列举下,在我个...
封面图

在一个操蛋(执行力极差)的团队工作是一种怎样的体验?

2021-03-05
阅读 2 分钟
1.1k
一个执行力极差的团队能把一个公司活活的拖死,在这种团队中工作是一种怎么的体验呢?相信很多小伙伴会对这种团队的工作氛围感兴趣。正好冰河在假期与一位经历过这种团队的朋友聊天,聊到了这个话题,今天就给小伙伴们总结下在一个执行力差的团队工作是一种怎样的体验!
封面图

为何你进不了大厂?

2021-03-02
阅读 2 分钟
1.3k
当然,大厂对于技术的要求也是比较高的。起码工作年限的长短要和应该具备的能力匹配。不可能你工作1年左右时间要求你掌握P7、P8级别的能力,也不可能你工作10年左右只是要求你掌握到P6级别的能力。进大厂,首先你的工作年限起码要和应该具备的能力匹配。注意∶这里说的是起码,具体意思就是说工作年限至少要和应该具备的...
封面图

肝了很久,冰河整理出这份4万字的SpringCloud与SpringCloudAlibaba学习笔记!!

2021-03-02
阅读 16 分钟
1.5k
不少小伙伴让我整理下有关SpringCloud和SpringCloudAlibaba的知识点,经过3天的收集和整理,冰河整理出这份4万字的SpringCloud与SpringCloudAlibaba学习笔记!!
封面图

Java中String到底占用多大的内存空间?

2021-02-26
阅读 3 分钟
5.7k
对于Java中的String类占用多大的内存空间这个问题,是最近面试中问的比较多的一个问题。很多小伙伴的回答的都不是很正确,有说不占空间的,有说1个字节的,有说2个字节的,有说3个字节的,有说不知道的,更让人哭笑不得的是竟然还有人说是2的31次方。那如果真是这样的话,服务器的内存空间还放不下一个字符串呀!作为程...
封面图

字节跳动面试官这样问消息队列:高可用、不重复消费、可靠传输、顺序消费、消息堆积,我整理了下

2021-02-24
阅读 10 分钟
5.2k
又到了年底跳槽高峰季,很多小伙伴出去面试时,不少面试官都会问到消息队列的问题,不少小伙伴回答的不是很完美,有些小伙伴是心里知道答案,嘴上却没有很好的表达出来,究其根本原因,还是对相关的知识点理解的不够透彻。今天,我们就一起来探讨下这个话题。注:文章有点长,你说你能一鼓作气看完,我有点不信!!
封面图

计算机中的层次化存储是个什么鬼?

2021-02-20
阅读 4 分钟
1.7k
撸代码只是程序员的一项最基本的技能,除此之外,还有很多知识需要程序员掌握。【程序员进阶系列】专题,旨在分享程序员想要进一步提升自我,突破发展瓶颈的一系列技术。今天,我们来一起聊聊计算机中的层次化存储结构。
封面图