33张图剖析ReentrantReadWriteLock源码

本文大纲如下纵观全局我的英文名叫ReentrantReadWriteLock(后面简称RRW),大家喜欢叫我读写锁,因为我常年混迹在读多写少的场景。读写锁规范作为合格的读写锁,先要有读锁与写锁才行。所以声明了ReadWriteLock接口,作为读写锁的基本规范。之后都是围绕着规范去实现读锁与写锁。读锁与写锁WriteLock与ReadLock就是读锁和写锁,...
📅 2023-08-15 阅读全文 →

实战篇:Security+JWT组合拳 | 附源码

简介先赘述一下身份认证和用户授权:用户认证(Authentication):系统通过校验用户提供的用户名和密码来验证该用户是否为系统中的合法主体,即是否可以访问该系统;用户授权(Authorization):系统为用户分配不同的角色,以获取对应的权限,即验证该用户是否有权限执行该操作;Web应用的安全性包括用户认证和用户授权两个部分,而Spring Secu...
📅 2023-08-15 阅读全文 →

百度二面:一个线程OOM了,其它线程还能运行吗?

由于面试官仅提到OOM,但 Java 的OOM又分很多类型:堆溢出(“java.lang.OutOfMemoryError: Java heap space”)永久代溢出(“java.lang.OutOfMemoryError:Permgen space”)不能创建线程(“java.lang.OutOfMemoryError:Unable to create...
📅 2023-08-15 阅读全文 →

如何用“大小周”搞垮一个公司?

作者| Mr.K   整理| Emma来源| 技术领导力(ID:jishulingdaoli)字节一提“大小周”,鹅厂笑了:“这都是我们玩剩下的,996不是加班,是正常上班好吗?”菊花厂在一旁刷鸿蒙,笑而不语,心想:“Low逼了吧,我们‘以奋斗者为本’,奋斗者的加班,怎么能叫加班呢,那叫自我奋斗!”拼夕夕是不服的,论“内卷”我怕...
📅 2023-08-15 阅读全文 →

16岁黑客入侵腾讯系统入狱,后做手游创业赚数亿,如今31岁的他在哪里?

来自公众号:新智元【导读】他初中辍学自学电脑,他混迹「天涯」用技术「黑进」各大系统……他是16岁就入侵了腾讯系统的天才黑客——菜霸,当年曾在互联网上掀起波浪的他,如今怎么样了呢?黑进腾讯公司的内部系统,不图钱不图利。唉,难道就是玩儿?2006年8月8日的早上,一位黑客冲破数十道关卡,进入腾讯网站。但他并没有做什么坏事,而是找到了负责人的电话并告知他,网站上出...
📅 2023-08-15 阅读全文 →

系统架构设计:进程缓存和缓存服务,如何抉择?

作者:翁智华来源:https://www.cnblogs.com/wzh2010/p/13874206.html概述我们所说的缓存分为进程内部缓存(系统内部缓存)和 缓存服务(如redis/memcache)。计算机服务从原来的单体结构,到多实例,到现在流行的微服务,缓存服务变得原来越流行了。  进程缓存先说说进程缓存,它将数据存储在站点...
📅 2023-08-15 阅读全文 →

使用Redis搭建电商秒杀系统

作者:小热爱来源:https://juejin.cn/post/6955372476649963556秒杀活动是绝大部分电商选择的低价促销、推广品牌的方式。不仅可以给平台带来用户量,还可以提高平台知名度。一个好的秒杀系统,可以提高平台系统的稳定性和公平性,获得更好的用户体验,提升平台的口碑,从而提升秒杀活动的最大价值。一 秒杀的特征秒杀活动对稀缺或者特价的商...
📅 2023-08-15 阅读全文 →

图解:消息传输的架构模式

从概念上讲,一条消息是一个发送方与一个或多个接收方之间的一次信息交换。自从大型机问世以来,消息交换一直是计算机编程和架构设计的重要组成部分。多年来,消息传输的实践已经发展成多种消息传输模式。在本文中,我将分享一些较为常用的方法。我将这些模式分为两部分。第一部分的标题为“消息交换架构”,描述了在发送方和接收方之间移动消息的结构。第二部分是“路由”,涵盖了用于在...
📅 2023-08-15 阅读全文 →

微服务架构及其最重要的 10 个设计模式!

来源:Java日知录软件设计模式是解决软件设计中常见问题的通用、可复用的解决方案。设计模式让我们可以分享通用词汇并使用经实战检验的方案,以免重复造轮子。现在,我将介绍一系列设计模式来实现这些最佳实践。微服务架构的设计模式独享数据库(Database per Microservice)当一家公司将大型单体系统替换成一组微服务,首先要面临的最重要决策是关于数据库...
📅 2023-08-15 阅读全文 →

字节全员标配的内部指令集鼠标垫,我的粉丝每人包邮送一块

最近很多粉丝后台说 steam 都开夏促了,看公号这么久有啥福利没……年中了是该给大家发点福利,我仔细琢磨了一下,找大厂的朋友要了一套他们撸了多年的 Java 算法逻辑 + 面试要点的私货,于是叫上合作伙伴,加急定制了一波桌面大鼠标垫!很大…很爽、很实用这批鼠标垫市面上必然买不到,从供应商给我的设计图来看, B 格还是不错的(拿...
📅 2023-08-15 阅读全文 →

代码写的烂,经常被同事怼,教你一招!

面对复杂的业务场景,千变万化的客户需求,如何以一变应万变,以最小的开发成本快速落地实现,同时保证系统有着较低的复杂度,能够保证系统后续de持续迭代能力,让系统拥有较高的可扩展性。这些是一个合格的架构师必须修炼的基础内功,但是如何修炼这门神功???我将常用的软件设计模式,做了汇总,目录如下:(考虑到内容篇幅较大,为了便于大家阅读,将软件设计模式系列(共23个)...
📅 2023-08-14 阅读全文 →

字节终面:CPU 是如何读写内存的?

如果你觉得这是一个非常简单的问题,那么你真应该好好读读本文,我敢保证这个问题绝没有你想象的那么简单。注意,一定要完本文,否则可能会得出错误的结论。闲话少说,让我们来看看CPU在读写内存时底层究竟发生了什么。谁来告诉CPU读写内存我们第一个要搞清楚的问题是:谁来告诉CPU去读写内存?答案很明显,是程序员,更具体的是编译器。CPU只是按照指令按部就班的执行,机器...
📅 2023-08-14 阅读全文 →

某程序员遭遇奇葩事:辞退自己的leader竟然命令自己回前公司,给前同事讲代码!

分手之后的恋人还能做朋友吗?估计一半人会选择老死不相往来,毕竟许多分手都不是那么和平友好。同样的道理,离职之后还愿意给前公司免费干活吗?估计大多数人也不想这么做,走都走了,就是不想有任何牵扯,还免费干活,做梦呢?一个程序员就遇到了这样一件糟心事:前公司辞退自己的leader打电话给自己,用命令的口气让自己给相关前同事讲清楚代码,怎么办?网友说,竟然用命令的口...
📅 2023-08-14 阅读全文 →

面试官一问就蒙的设计模式,是时候怼回去了!

最近总有读者在后台跟我说,工作几年,自己的代码质量似乎没有什么提升。我觉得他的情况非常典型,很多人应该或多或少都有过类似的经历: 毕业几年,几乎一直在做复制黏贴的工作;偶尔会遇到原有业务扩展的需求,想简单应付一下完事的话,也不难,无非就是多加几个 if else。可一旦需要调整原有业务,就根本不敢下手。原有的代码耦合严重,既没法看,也没法改;想跳槽...
📅 2023-08-14 阅读全文 →

一文看懂Tomcat、Nginx和Apache的区别

这三者都是web server,各自有什么特点?他们之间的区别是什么?nginx 和 tomcat性能上有何异同?tomcat用在Java后台程序,难道不能用apache和nginx?题目中的Apache其实是Apache HTTP Server Project,和Nginx一样都是开源的HTTP服务器软件。HTTP服务器本质上也是一种应用程序——它通常运行...
📅 2023-08-14 阅读全文 →

美团一面,看看你能否回答上来?

大家好,我是老田,今天给大家分享的是一位网友,去美团点评面试遇到的技术问题(一面),希望你先用这些题目进行默答,看看自己知道多少。题目 1、做一下自我介绍吧,简单说一下你的项目?2、有遇到过内存泄漏吗?你们是怎么解决的?这个前阵子确实遇到过一次,还算运气比较好。3、java的基本类型有哪几个?String是不是java的基本类型?String为什么要是fin...
📅 2023-08-14 阅读全文 →

深入浅出 ZooKeeper

ZooKeeper 是一个分布式协调服务 ,由 Apache 进行维护。ZooKeeper 可以视为一个高可用的文件系统。ZooKeeper 可以用于发布/订阅、负载均衡、命令服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能 。一、ZooKeeper 简介1.1 ZooKeeper 是什么ZooKeeper 是 Ap...
📅 2023-08-14 阅读全文 →

某程序员大牛放弃130万年薪,离开北京回老家事业单位!网友:太可惜!何不再忍两年?

脱口秀演员李雪琴说,宇宙的尽头是铁岭,所以她选择离开北京,回到铁岭。那互联网从业者的尽头是什么?是无穷无尽的内卷和996,还是回老家找个稳定工作躺平?程序员们想要的是继续消耗自己挣钱,还是过上钱少却轻松的小日子?一个30岁的程序员大牛选择了后者,他考上了老家的事业单位,毅然决定放弃130万年薪的工作离开北京。虽然父母家人都念叨着让他回家考公务员,也觉得他放弃...
📅 2023-08-14 阅读全文 →

弃用消息队列!这个新一代消息系统,腾讯、华为都用疯了?

在 SOA 架构盛行的今天,无论大数据工程师还是开发工程师,利用消息中间件实现可靠的消息传输是一门必修课。消息队列中间件的使用并不复杂,但消息队列的选型一直是个难点。比如:不同业务场景下该如何选型消息队列?流消息系统和队列消息系统的 producer 有何区别?Kafka、RocketMQ、RabbitMQ 各自的优劣在哪?在实际场景中,...
📅 2023-08-14 阅读全文 →

黑客常用SQL注入绕过技术总结!

今天给大家再次分享一篇硬核内容,那就是黑客常用的SQL注入绕过技术,还是那句话:我们学渗透技术不是为了攻击别人的系统,而是了解黑客常用的渗透技能,以此来修复我们自己系统中的漏洞,使我们的系统更加健壮,更加安全。1.绕过空格(注释符/* */,%a0)两个空格代替一个空格,用Tab代替空格,%a0=空格:%20 %09 %0a %...
📅 2023-08-14 阅读全文 →

深入理解 Linux 的 epoll 机制

坚持思考,就会很酷在 Linux 系统之中有一个核心武器:epoll 池,在高并发的,高吞吐的 IO 系统中常常见到 epoll 的身影。IO 多路复用在 Go 里最核心的是 Goroutine ,也就是所谓的协程,协程最妙的一个实现就是异步的代码长的跟同步代码一样。比如在 Go 中,网络 IO 的 read,write 看似都是同步代码,其实底下都是异步调...
📅 2023-08-14 阅读全文 →

从零构建一个Java主流架构项目!不愧是阿里 Top3 项目!

最近收到一位求职者的简历,先来看看个人技能,如下:看完啥感觉?针对这份简历,我感觉技术栈与项目用到的技术严重不匹配,罗列了很多技术栈,但是项目中用到技术又屈指可数,这样的简历只能证明曾学过,不能证明具备实际应用的经验,就如下图“站不稳”。      当前人才泛滥的时代,有项目经验的人才是稀缺的,而不是号称会xx技术的人...
📅 2023-08-14 阅读全文 →

小米豪派大红包!向几千名员工发放股权激励,人均39万,应届生都有!小米员工却吵翻天:不公平,作秀!

“别人家的老板”又来了!最近“雷布斯”豪掷千金给员工发钱,还发了不止一波,简直是有钱任性的代表。第一波发钱:7月2日,小米发布公告,称向集团3904名员工授予7023.2万股小米股票,奖励优秀青年工程师、应届生和团队核心岗位的优秀员工,以及年度技术大奖获得者。当天,小米股票收盘价为26.2港元,以此计算,小米一共拿出了价值约15.3亿元人民币的股票奖励员工,...
📅 2023-08-14 阅读全文 →

彻底搞懂 Nginx 的五大应用场景

 作者:vbirdbest blog.csdn.net/vbirdbest/article/details/80913319一、HTTP服务器Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署。1、 首先在文档根目录Docroot(/...
📅 2023-08-14 阅读全文 →

Amazon 63岁员工因算法评分太低被自动开除!

整理 | Carol出品 | CSDN(ID:CSDNnews)“我被一个机器解雇了。” 1、63岁“老司机”因跟踪算法被开除 一觉醒来,63岁的斯蒂芬 · 诺曼丁(Stephen Normandin)发现自己居然被莫名其妙解雇了。 斯蒂芬是Amazon Flex的一名代理司机。2020年10月的一天早晨,斯蒂芬按照往常的习惯早...
📅 2023-08-14 阅读全文 →

图解 SQL,这也太形象了吧!

在计算机领域有许多伟大的设计理念和思想,例如:在 Unix 中,一切皆文件。在面向对象的编程语言中,一切皆对象。关系数据库同样也有自己的设计思想:在 SQL 中,一切皆关系。关系模型关系模型(Relational model)由 E.F.Codd 博士于 1970 年提出,以集合论中的关系概念为基础;无论是现实世界中的实体对象还是它们之间的联系都使用关系表示...
📅 2023-08-14 阅读全文 →

2021CVPR顶会冠军带你解密图像分割

最近全球各大新势力造车公司简直不能再火!小编看着蹭蹭飙升的股价实在是眼红的不要不要的。而懂行的人都知道,以特斯拉为首,各大公司都采用计算机视觉作为自动驾驶的技术底座,而其中正是通过图像分割技术,汽车才能分清楚哪里是路,哪里是人。那图像分割重不重要还需要小编强调么?而今天小编要给大家介绍的这个开源套件,就涵盖业界最前沿的图像分割算法,并效果超群,这就是 Pad...
📅 2023-08-14 阅读全文 →

中年程序员转行第1年感悟,年中总结!

作者 | 王磊,来源 | Java中文社群(ID:javacn666)开始之前先自我介绍一下,我叫王磊(人称磊哥),来自陕西西安,三十来岁,在软件行业呆了也算有十余年了。2009 年初来乍到,先做了几年的 C# 开发,之后又去了一家 500 强的民营企业做了几年的技术经理,使用的技术也从 C# 开始扩展到了其他语言。因为公司有很多技术小组,当时用的技术也比较...
📅 2023-08-14 阅读全文 →

图解Java中那18 把锁

乐观锁和悲观锁独占锁和共享锁互斥锁和读写锁公平锁和非公平锁可重入锁自旋锁分段锁锁升级(无锁|偏向锁|轻量级锁|重量级锁)锁优化技术(锁粗化、锁消除)乐观锁和悲观锁悲观锁悲观锁对应于生活中悲观的人,悲观的人总是想着事情往坏的方向发展。举个生活中的例子,假设厕所只有一个坑位了,悲观锁上厕所会第一时间把门反锁上,这样其他人上厕所只能在门外等候,这种状态就是「阻塞」...
📅 2023-08-14 阅读全文 →

海量无序数据寻找第 K 大的数

前言最近在参加阿里云举办的《第三届数据库大赛创新上云性能挑战赛--高性能分析型查询引擎赛道》,传送门:https://tianchi.aliyun.com/competition/entrance/531895/introduction。好久没有打比赛了,也是突然来了兴致,参加性能挑战赛总有一种自己还年轻的感觉。因为比赛还没有结束,所以赛题解析还不方便这时候...
📅 2023-08-14 阅读全文 →