在 JDK 9 之前,Java 基本上平均每三年出一个版本。但是自从 2017 年 9 月份推出 JDK9 到现在,Java 开始了疯狂更新的模式,基本上保持了每年两个大版本的节奏。从 2017 年至今,已经发布了一个版本到了 JDK 19。其中包括了两个 LTS 版本(JDK11 与 JDK17)。除了版本更新节奏明显加快之外,JDK 也围绕着云原生场景的能力,推出并增强了一系列诸如容器内资源动态感知、无停顿GC(ZGC、Shenandoah)、运维等等云原生场景方面的能力。这篇文章是 EDAS 团队的同学在服务客户的过程中,从云原生的角度将相关的功能进行整理和提炼而来。希望能和大家一起认识一个新的 Java 形态。 上一篇 (《 从 JDK 9 到 19,我们帮您提炼了和云原生场景有关的能力列表(上) 》)我们讲了在整个演进过程中针对运行时模型和运维能力的一些重要变化,这一节我们主要是来讲讲内存相关的变化。
本人自 14 年校招加入淘宝 UED(淘系前端前身)后,一直从事淘宝的业务前端开发工作,至今已有 8 年多。一直想对自己已经度过的四分之一职业生涯(如果我能干 30 年的话)做个简单总结,无奈『拖延症』严重,直到年前被邀约做年终总结时,才下定决心,于是有了这篇文章。 本文是一个业务前端对如何支撑好业务,以及在这过程中如何获得个人成长的总结。一些心路历程的变化可能不是在某个瞬间,而是在实践过程中潜移默化形成的。
在降本增效的大背景下,为提高机器资源利用率,将不同优先级的在线业务(通常为延迟敏感型高优先级任务)和离线任务(通常为延时不敏感型低优先级任务)部署在相同的物理机器上。内存作为重要资源,混部任务一旦调度到某个k8s节点后,在内存资源使用上可能对在线任务产生竞争,为了避免此种情况对在线任务的干扰,我们可能需要感知在线任务的负载情况并做相应的内存隔离管控,尽量做到对在线任务零干扰。
相信大家对布隆过滤器(Bloom Filter,BF)都不陌生,就算没用过也听过。布隆过滤器是一种具有空间优势的概率数据结构,用于回答一个元素是否存在于一个集合中这样的问题,但是可能会出现误判——即一个元素不在集合但被认为在集合中。 布隆过滤器可用于避免缓存穿透、海量数据快速查询过滤之类的场景。但是,大家真的了 BF 吗?BF 有哪些参数?BF 支持删除吗?BF 的哈希函数怎么选?还有其他类型的 BF 吗?等等...... 本文将从论文着手,从 BF 的起源开始,介绍初始的 BF,介绍 BF 的概率计算过程。接着介绍几个 BF 的变种:包括可以支持删除的(Count Bloom Filter, CBF);在 CBF 的基础上能进一步节省空间的(dlCBF);支持多个集合的(Spatial Bloom Filter, SBF)和支持动态扩容的(Scalable Bloom Filter)。最后介绍一些关于 BF 的疑问,并且结合部分 Golang 组件源码分析,将 BF 的理论带入设计实践。
AntV 是开源数据可视化解决方案,包含一系列可视化资产、工具、产品和设计指引。我们常在各类数据产品看到图表、地图、关系图等可视化应用,AntV 一直活跃在这些场景中,帮助人们在观察和分析数据时提升效率。得益于丰富的业务场景和用户需求挑战,AntV 经历多年积累与不断打磨,已支撑阿里集团和蚂蚁集团内外 20000+ 业务系统,通过了日均千万级 UV 产品的严苛考验。 AntV 团队发源于蚂蚁集团体验技术部,联合蚂蚁支付宝企业级设计团队,如今已发展成为包括阿里、蚂蚁、菜鸟等多集团多事业部近百人的技术&设计团体和社区生态组织,一群有爱有梦的人,怀揣 「让人们在数据世界里获得视觉化思考能力」的梦想而前行。 下面给大家介绍保姆级可视化解决方案的家庭成员有哪些~
本文作者从亲身经验阐述了一线技术人为什么述职、怎么述职以及述职的重要性。每年述职都是一大关,作者把自己的一些经验教训通过文字分享给大家,希望能帮助到更多的人。
当前的软件系统越来越复杂,越来越多的开发者使用各种 IDE 、中间件来简化自己的软件开发过程。在这样的背景下,传统 IDE 产品的局限性日渐显现,开发者不得不学习更多的技术,引入更多的工具,花费更多的时间在开发环境的管理和维护上。 去哪儿网拥有大量的前后端工程和应用,每个工程所需要的代码编辑器,运行时,SDK,中间件,应用服务器,配置以及底层操作系统可能都不一样,而传统 IDE 工具在可开发性上做的很好,但都无法解决如上所述的开发环境依赖问题。 那么对于前后端工程师来说,如何在当前人力紧张、远程办公、项目不熟悉的情况下,随时随地快速着手开发和发布项目?对于团队来说如何保证团队开发环境的标准配置化的统一,让开发者按照规范工作?带着这些问题,参考云原生实践,基础架构团队实现了去哪儿网 WebIDE 云开发平台,面向多种业务场景提供了标准的容器化的开发环境,对开发者来说大大提升了效率和便捷性。 云开发平台在公司上线后,已接入前后端大多数业务场景,机酒火车票等业务线都在实际开发中使用,云开发工作区月活 400+ 。
乐高(MINOS)的初衷是为了快速解决网易严选 C 端大促频繁配置 + 大量已有业务配置沉淀在 Apollo 的现状下,引发的对研发资源占用问题,希望能够把技术语言的配置转化为业务语言,同时将配置的角色扩散到产品、业务方等。