- 博客(695)
- 收藏
- 关注
原创 Proxyless Mesh 在 Dubbo 中的实践
Service Mesh 又译作 “服务网格”,作为服务间通信的基础设施层。Buoyant 公司的 CEO Willian Morgan 在他的这篇文章中解释了什么是 Service Mesh,为什么云原生应用需要 Service Mesh。下面是 Willian Morgan 对 Service Mesh 的解释。翻译成中文服务网格(Service Mesh)是处理服务间通信的基础设施层。它负责构成现代云原生应用程序的复杂服务拓扑来可靠地交付请求。
2023-01-03 10:21:29
545
原创 阿里首席架构师讲解“双十一”亿级流量高并发的系统架构搭建方法
从软件技术诞生以来,开发人员从来没有停止过对高并发技术的钻研。随着大数据时代的到来,如何处理海量数据也是高并发的研究方向之一。一般而言,可以先通过验证码和 IP 限制等手段拦截非法的用户请求,然后搭建服务集群,将合法的并发请求进行分流。之后还可以在服务器内部设置最大连接数、最大并发数等服务参数,并通过消息队列对海量的并发请求进行削峰填谷处理。此外,为了让数据库稳定地处理高并发请求,还需要通过缓存中间件减少用户请求数据库的次数,并通过服务降级等策略减轻高并发峰值期间对系统的访问压力。
2022-12-30 13:48:59
547
原创 GitHub 标星 120K+最新 23 版 Java 岗面试攻略,涵盖 28 个技术栈
身体好点在家,主要建议大家就做两件事:第一:整理工作经验,制定新年求职计划。等一些不错的公司放出新的 hc,市场情况一回暖,马上开始面试。第二:回顾面试八股文和技术资料。主要是为提高面试成功概率,为多拿几个心仪的 offer 做准备,也趁这段空闲时间,补一下技术方面的短板。今天鄙人给大家带来了一份专门为年后面试、跳槽、冲刺大厂而整理的 Java 工程师面试攻略,大家一起提高技术、一起共度难关!
2022-12-30 13:37:21
454
原创 阿里人出手,超全解Spring Security 源码手册,无所不用其极,拿捏跳槽面试不是问题
说明:为方便教学,这里已经事先为大家准备好了一个半成品的后台管理系统,而想要完善另一部分,就需要用到我们今天学习的内容 SpringSecurity 了。
2022-12-28 14:57:58
327
原创 Alibaba 官方微服务扛把子「SpringCloudAlibaba 全彩学习手册.PDF」,开源学习ing,
系统架构演变微服务架构介绍SpringCloudAlibaba 介绍垂直应用架构微服务架构的常见解决方案。
2022-12-28 14:56:48
562
原创 GitHub 获 120k+star 的阿里内网“疯传”葵花宝典 JVM 虚拟机调优指南
控制 JVM 堆栈大小.一般来说,JVM 在内存分配上不需要你修改,(举例)但是当你的程序新生代对象在某个时间段产生的比较多的时候,就需要控制新生代的堆大小.同时,还要需要控制总的 JVM 大小避免内存溢出。控制 JVM 线程的内存分配.如果是多线程程序,产生线程和线程运行所消耗的内存也是可以控制的,需要通过一定时间的观测后,配置最优结果。控制 GC 的行为.GC 是一个后台处理,但是它也是会消耗系统性能的,因此经常会根据系统运行的程序的特性来更改 GC 行为。Java 性能的误解。
2022-12-28 13:42:24
134
原创 Secret?GitHub 下载量过百万,阿里 P8 秘密分享的「亿级并发系统设计」
随着互联网的不断发展,CPU 硬件的核心数也在不断进步,并发编程越来越普及,但是并发编程并不像其他业务那样直接了当。在编写并发程序时,我们常常都会出现各种漏洞,这些问题往往都突然出现,然后又迅速消失,并且在大部分位置中重复出现。
2022-12-28 13:34:34
135
原创 Java 十年功力还是涨不了薪,推荐必看《Java 核心技术及面试指南
埋头做技术或者“CV 工程师”,再做几年也没成长。当你在面试的时候不能系统阐述在工作中使用过的技术或者开发情况时,难免面试者会怀疑你的专业能力。所以,如果你平时只知道埋头苦干或者,或习惯“CV”,没有抬头审视过这些技术,那么在准备面试时,很有必要好好梳理一下 Java 知识体系,这样才能拿下满意的 Offer。这里给大家分享一份。
2022-12-28 13:33:26
182
原创 GitHub 上标星 65k+ 超火的《Java 大厂面试》,分享整理的 PDF 版本
什么是 B/S 架构?什么是 C/S 架构Java 都有那些开发平台?什么是 JDK?什么是 JRE?Java 语言有哪些特点面向对象和面向过程的区别1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的;2. 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;2.和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
2022-12-28 13:32:21
213
原创 Java 十年功力还是涨不了薪,推荐必看《Java 核心技术及面试指南
埋头做技术或者“CV 工程师”,再做几年也没成长。当你在面试的时候不能系统阐述在工作中使用过的技术或者开发情况时,难免面试者会怀疑你的专业能力。所以,如果你平时只知道埋头苦干或者,或习惯“CV”,没有抬头审视过这些技术,那么在准备面试时,很有必要好好梳理一下 Java 知识体系,这样才能拿下满意的 Offer。这里给大家分享一份。
2022-12-27 17:00:27
197
原创 为什么感觉 Java 面试变难了?
几年前,你只需要简单的 ssm 框架,就能轻松找到一份 Java 的工作,但现在不一样了,随着涌入这个行业的人越来越多,同一个岗位需要筛选掉更多人,要求自然水涨船高,这也就是现在越来越多 Java 程序员抱怨行业越来越卷的原因,当然这个情形也适用于其他行业,大环境如此,经济形势如此,反正要么开源,要么节流,未雨绸缪,做好自己,抱怨永远解决不了问题,网络上的人也没义务没可能设身处地帮你解决问题,好好提升自己,做好自己的规划才是最重要的。
2022-12-27 13:21:17
520
原创 阿里首席架构师讲解“双十一”亿级流量高并发的系统架构搭建方法
从软件技术诞生以来,开发人员从来没有停止过对高并发技术的钻研。随着大数据时代的到来,如何处理海量数据也是高并发的研究方向之一。一般而言,可以先通过验证码和 IP 限制等手段拦截非法的用户请求,然后搭建服务集群,将合法的并发请求进行分流。之后还可以在服务器内部设置最大连接数、最大并发数等服务参数,并通过消息队列对海量的并发请求进行削峰填谷处理。此外,为了让数据库稳定地处理高并发请求,还需要通过缓存中间件减少用户请求数据库的次数,并通过服务降级等策略减轻高并发峰值期间对系统的访问压力。
2022-12-26 13:54:10
186
原创 Java 中 Map 集合的三种遍历方式
方式一:键找值的方式遍历:先获取 Map 集合全部的键,再根据遍历键找值。方式二:键值对的方式遍历,把“键值对“看成一个整体,难度较大。方式三:JDK 1.8 开始之后的新技术:Lambda 表达式。
2022-12-25 16:13:27
1765
原创 为什么更推荐使用组合而非继承关系?
最近在看公司项目的代码,看到了大量的继承体系,而且还是继承了多层,维护、阅读都十分的困难。在查阅了一些资料以后,包括《Effective Java》一书中的第 16 条提到“组合优先于继承”。那继承到底会暴露什么问题呢?为什么更推荐优先使用组合呢?不知道大家项目中继承用的多吗?其实在 JDK 中就有许多违反这条原则的地方,比如栈Stack类并不是Vector,不应该有继承关系,但是实际上就是继承自Vector。不管如何,在项目中决定使用继承而不是组合前,一定要考虑清楚,子类是否真的是父类的子类型?
2022-12-25 16:07:00
442
原创 OpenTelemetry 系列 (四)| 如何使用 Java Agent 来实现无侵入的调用链
Java Agent一般可以被称为探针,是一种可以在 Java 应启动前和运行中修改应用的字节码的技术。通过在启动项中添加来制定使用特定的 Agent。是一个隶属于 OpenTelemetry 系列的项目,这个项目就是一个基于Java Agent来实现无侵入式接入的官方 Agent 项目。复制代码将下载下来,然后使用上述指令就能够运行,在启动成功后就能够直接接入成功,而不用对应用本身的代码进行任何的修改。在这个篇章中我们简单的介绍了的使用,实际上这个项目支持了不少自定义的扩展能力。
2022-12-25 15:03:31
2678
原创 骨灰级精品,京东百万架构师亲码的 MySQL 内部笔记太硬核
作为最为流行的开源数据库软件之一,MySQL 数据库软件已经是广为人知了。但是为了照顾对 MySQL 还不熟悉的读者,这章我们将对 MySQL 做一个简单的介绍。主要内容包括 MySQL 各功能模块组成,各模块协同工作原理,Query 处理的流程等MysQLServer 简介MySQL 与其他数据库的简单比较MySQ 的主要适用场景小结。
2022-12-17 14:05:12
197
原创 并发量很大?阿里上传在 GitHub 的亿级流量百万并发手册真的很强
对于高并发的场景来说,比如电商类,o2o,门户,等等互联网类的项目,缓存技术是 Java 项目中最常见的一种应用技术。然而,行业里很多朋友对缓存技术的了解与掌握,仅仅停留在掌握 redis/memcached 等缓存技术的基础使用,最多了解一些集群相关的知识,大部分人都可以对缓存技术掌握到这个程度。
2022-12-17 13:46:24
212
原创 阿里整理出 SQL 手册:收获不止 SQL 优化,抓住 SQL 的本质
有数据库就有 SQL,SQL 应用可一字概括: “”"。加之其简单易学,SOL 实现也可一字概括:“”。
2022-12-17 10:03:11
388
原创 京东内网遭开源的“顶级”SpringCloud 实战手册,GitHub 列为首推
第一篇,入门进入微服务世界准备开发环境和工具实例 1:用 Spring Cloud 实现一个微服务系统第二篇:基础认识微服务Spring Cloud 基础第三篇:进阶用 Consul 实现服务治理用 Ribbon 和 Feign 实现客户端负载均衡和服务调用用 Hystrix 实现容错处理用 Spring Cloud Gateway 构建微服务网关用 Spring Cloud Sleuth 实现微服务链路跟踪用 Spring Cloud Config 配置微服务。
2022-12-17 09:59:06
215
原创 来聊一聊 ElasticSearch 最新版的 Java 客户端
可能不少小伙伴都注意到了,从 ElasticSearch7.17 这个版本开始,原先的 Java 高级客户端 Java High Level REST Client 废弃了,不支持了。老实说,ElasticSearch 算是我用过的所有 Java 工具中,更新最为激进的一个了,在 Es7 中废弃了 TransportClient,7.17 又废弃了 TransportClient,那么现在用啥呢?现在的客户端叫做 Elasticsearch Java API Client。
2022-12-17 09:55:37
1097
原创 这次不找借口了,找不到工作就好好学一下这份 16W 字 Java 面试合集
倒霉的时候总会想起福祸相依,但你会发现倒霉起来没完没了,就是看不到传说中的“福”年初被裁了,我会安慰自己,此处不留爷自有留爷处,然后踏入找工作的行列;没有面试邀请,我会告诉自己,只是投的简历太少了,再多投几份就有了;面试通过不了,我会想是不是最近复习不到位,开始背 Java 八股文,看面经,做总结;实习期被开了,我会想是不是我现在的技术不符合公司要求,琢磨怎么提升硬实力。最后我发现,除了大环境的影响,自身硬实力的不够,运气还一直很差!当然,这只是我一直以来的借口而已,通过和同事、朋友的沟通后我发现:有实力的
2022-12-16 13:34:18
310
原创 别再秃头背锅了,这个小技巧统计第三方接口耗时很安逸
之前我有写过一篇记录生产环境事故的文章,获得了不少好评。后续,我们团队有做过一些讨论,为了支撑运营维护,搭建了更好的日志平台 Granfa+Loki,也引入了 SkyWalking 做链路追踪。但过程中也遇到了一些问题,我会在下面讲述出来,然后将这个简单的小技巧分享出来,希望对大家有所帮助。最后,我把这种方式的好处再总结一遍,如果和我所在公司情况类似的同行可以参考下。
2022-12-16 13:31:56
627
原创 GitHub 获 120k+star 的阿里内网“疯传”葵花宝典 JVM 虚拟机调优指南
控制 JVM 堆栈大小.一般来说,JVM 在内存分配上不需要你修改,(举例)但是当你的程序新生代对象在某个时间段产生的比较多的时候,就需要控制新生代的堆大小.同时,还要需要控制总的 JVM 大小避免内存溢出。控制 JVM 线程的内存分配.如果是多线程程序,产生线程和线程运行所消耗的内存也是可以控制的,需要通过一定时间的观测后,配置最优结果。控制 GC 的行为.GC 是一个后台处理,但是它也是会消耗系统性能的,因此经常会根据系统运行的程序的特性来更改 GC 行为。Java 性能的误解。
2022-12-15 16:49:33
123
原创 曾经风靡一时的阿里内网 Redis 开发参考手册,GitHub 再次重温经典
今天要给大家介绍的就是曾经火爆阿里的 redis 开发运维实战指南,如今这本书再出上的热榜,所以今天小编就给大家分享出这本书的内容:redis 特性:
2022-12-15 14:55:45
205
原创 今年秋招的寒冬形势,用一句话来讲就是,狗见了都摇头
今年秋招的寒冬形势,用一句话来讲就是,狗见了都摇头!我之前发过一个对 24 届以及以后的大形势的投票,大多数人也呈消极态度。所以 24 届秋招大概率也是一场惨烈的战斗,那么,对于我们 Java 选手 来说,我们到底要掌握什么样的技术,什么程度的知识,才能找到所谓的好工作呢?
2022-12-14 13:39:32
202
原创 顶级架构师编写 2580 页 DDD 领域驱动设计笔记,属实有牌面
正所谓有人的地方就有江湖,有设计的地方也一定会有架构。如果你是一位软件行业的老鸟,你一定会有这样的经历:一个业务的初期,普通的 CRUD 就能满足,业务线也很短,此时系统的一切都看起来很 nice,但随着迭代的不断演化,以及业务逻辑越来越复杂,我们的系统也越来越冗杂,模块彼此关联,甚至没有人能描述清楚每个细节。当新需求需要修改一个功能时,往往光回顾该功能涉及的流程就需要很长时间,更别提修改带来的不可预知的影响面。于是 RD 就加开关,小心翼翼地切流量上线,一有问题赶紧关闭开关。
2022-12-14 13:33:37
133
原创 GitHub 爆赞的 RocketMQ 分布式中间件学习手册,竟一夜下载量破 10W+
众所周知 RocketMQ 消息队列一直是由阿里云作为此技术的天花板,消息队列 RocketMQ 版(原名开放消息服务,简称 ONS)是阿里云基于 Apache RocketMQ 构建的低延迟、高并发、高可用、高可靠的分布式消息中间件。
2022-12-14 13:30:45
169
原创 这 88 道阿里高级岗面试题,刷掉了 80% 以上的 Java 程序员
2022,可谓是招聘面试最难季。不少大厂,如腾讯、字节的招聘名额明显减少,面试门槛却一再拔高,如果不用心准备,很可能就被面试官怼得哑口无言。今天不谈其它,就说说我作为面试官面试的那些事儿
2022-12-14 13:13:58
186
原创 超现实,GitHub 上标星 65k+ 超火的《Java 大厂面试》,分享整理的 PDF 版本
什么是 B/S 架构?什么是 C/S 架构Java 都有那些开发平台?什么是 JDK?什么是 JRE?Java 语言有哪些特点面向对象和面向过程的区别1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的;2. 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;2.和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
2022-12-14 13:12:56
173
原创 Java 开发如何通过 IoT 边缘 ModuleSDK 进行协议转换
设备 id 需要与添加边缘设备时设置的“设备标识码”一致。查看“device_ids.json”文件,设备 id 需要与添加边缘设备时设置的“设备标识码”一致。4.进入产品详情页,单击“自定义模型”,添加“BasicData”服务 ID,并“确认”。设备状态显示未激活。2.在左侧导航栏,单击“应用管理”,选择“应用名称”进入页面,查看应用为“已发布”状态。1.进入边缘节点概览页,在左侧导航中选择“边缘设备”,单击“添加边缘设备”。平台对部署此应用模块下的节点的添加边缘设备后,回调此函数。
2022-12-14 13:08:50
815
原创 JAVA 中的注解可以继承吗?
注解想必大家都用过,也叫元数据,是一种代码级别的注释,可以对类或者方法等元素做标记说明,比如 Spring 框架中的@Service,@Component等。那么今天我想问大家的是类被继承了,注解能否继承呢?可能会和大家想的不一样,感兴趣的可以往下看。自定义注解可以通过标记元注解@Inherited实现注解的继承,不过这只适用于类。如果要继承定义在接口或方法上的注解,可以使用 Spring 的工具类。
2022-12-14 13:06:09
540
原创 Secret?GitHub 下载量过百万,阿里 P8 秘密分享的「亿级并发系统设计」
随着互联网的不断发展,CPU 硬件的核心数也在不断进步,并发编程越来越普及,但是并发编程并不像其他业务那样直接了当。在编写并发程序时,我们常常都会出现各种漏洞,这些问题往往都突然出现,然后又迅速消失,并且在大部分位置中重复出现。这些情况使得高并发编程在程序员手中成为了一项使人头疼的技术。所以小马哥捞到了一份阿里的秘密文档,以实际需求出发,向小伙伴们全面细致地讲解了高并发系统的核心内容。
2022-12-12 19:51:46
165
原创 八股文不让看,非得让看并发编程全彩图册,这下又进厂了
我不知道你有没有发现,很多 Java 的高级知识点,其实在我们平时的工作中,用到的场景并不是很多。这样下来就造成了一个知识漏洞的现象,自己平时在工作中表现和成绩都是不错的,但是在没有进行复习、准备的情况下出去 裸 面 ,则可能导致一个问题发生,那就是——经过面试官的连环炮攻击之后,给到的评价是此人业务精通,但是基础太差,对于该职位不匹配。
2022-12-12 19:49:58
135
原创 天天刷 B 站,了解他们的评论系统是如何设计的吗?
后来衍生了更为复杂的热评:既包括类似「妙评」这种用户推荐、运营精选且带 logo 突出展示的产品形态,也包括各类热评排序算法,且热评排序算法应用场景也不仅局限于评论主列表的热度序,还包括楼中楼(外露子评论)、动态外露评论等。如何在B站评论区脱颖而出?一文从内容运营层面,介绍了什么样的评论更容易上热评前排。咬文嚼字来说,我们对「热」的理解,大致分为几个阶段:→ 解决热评的有无问题2. 基于用户正负样本投票的,加权平均高,就代表热度高。→ 解决高赞高踩的负面热评问题→ 解决高赞永远高赞的马太效应。
2022-12-12 13:34:20
1300
原创 分布式计算 MapReduce 究竟是怎么一回事?
如果要对文件中的内容进行统计,大家觉得怎么做呢?一般的思路都是将不同地方的文件数据读取到内存中,最后集中进行统计。如果数据量少还好,但是面对海量数据、大数据的场景这样真的合适吗?不合适的话,那有什么比较好的方式进行计算呢?不急,看完本文给你答案。是一个分布式计算框架,用于轻松编写分布式应用程序,这些应用程序以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多 TB 数据集)。MapReduce 是一种面向海量数据处理的一种指导思想,也是一种用于对大规模数据进行分布式计算的编程模型。
2022-12-12 13:22:56
334
原创 Hadoop 如何保证自己的江湖地位?Yarn 功不可没
任何计算任务的运行都离不开计算资源,比如 CPU、内存等,那么如何对于计算资源的管理调度就成为了一个重点。大数据领域中的 Hadoop 之所以一家独大,深受市场的欢迎,和他们设计了一个通用的资源管理调度平台 Yarn 密不可分,那 Yarn 是如何做进行资源管理的呢?它的通用性体现在哪里呢?它是如何保证 Hadoop 绝对的统治地位的呢?希望看了本文你心中有了答案。在早期的 Hadoop 1.0 时代是没有 Yarn 这东西的,计算任务 MapReduce 程序分发到大数据集群中是通过和。
2022-12-12 13:12:30
608
原创 没有二十年功力,写不出 Thread.sleep(0) 这一行“看似无用”的代码
这篇文章要从一个奇怪的注释说起,就是下面这张图:我们可以不用管具体的代码逻辑,只是单单看这个 for 循环。在循环里面,专门有个变量 j,来记录当前循环次数。第一次循环以及往后每 1000 次循环之后,进入一个 if 逻辑。在这个 if 逻辑之上,标注了一个注释:prevent gc.prevent,这个单词如果不认识的同学记一下,考试肯定要考的:这个注释翻译一下就是:防止 GC 线程进行垃圾回收。
2022-12-11 14:15:59
6024
6
原创 分布式计算 MapReduce 究竟是怎么一回事?
如果要对文件中的内容进行统计,大家觉得怎么做呢?一般的思路都是将不同地方的文件数据读取到内存中,最后集中进行统计。如果数据量少还好,但是面对海量数据、大数据的场景这样真的合适吗?不合适的话,那有什么比较好的方式进行计算呢?不急,看完本文给你答案。是一个分布式计算框架,用于轻松编写分布式应用程序,这些应用程序以可靠,容错的方式并行处理大型硬件集群(数千个节点)上的大量数据(多 TB 数据集)。MapReduce 是一种面向海量数据处理的一种指导思想,也是一种用于对大规模数据进行分布式计算的编程模型。
2022-12-11 14:08:23
1248
原创 Alibaba 官方微服务扛把子「SpringCloudAlibaba 全彩学习手册.PDF」,开源学习ing,
最近我在知乎上看过的一个热门回答:初级 Java 开发面临的最大瓶颈在于,脱离不出自身业务带来的局限。日常工作中大部分时间在增删改查、写写接口、改改 bug,久而久之就会发现,自己的技术水平跟刚工作时相比没什么进步。
2022-12-11 14:04:47
714
原创 Spring AOP 在项目中的典型应用场景
学过 Spring 的小伙伴相信都知道 AOP,AOP 学的好的小伙伴相信对 AOP 的概念也是轻车熟路:面向切面编程、切点、切面、通知,Aspect、Pointcut、Advice 等如数家珍。AOP 之所以这么重要,是因为它在项目中有着非常广泛的应用,今天这篇文章,松哥就来和大家总结一下,我们在日常开发中,都有哪些典型场景需要用到 AOP。先来一句话总结下,AOP 的使用,基本上都会涉及到自定义注解,一个非常常见的组合,就是自定义注解+AOP。
2022-12-10 13:08:53
1213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人