Java丰富的生态和语言强大的内存管理技术(GC),使得Java应用的开发非常便捷,各类应用场景的适配都非常优秀,大大减少了从Idea到应用落地的难度。不过这一切也不是没有代价的,针对于Java应用内存占用比较高的问题一直拿出来和其他语言比较。虽然JVM已经自带了例如指针压缩(compressed oops)来节约内存开销,不过Java Object对象头本身占用的内存还是非常可观。本文就介绍一下OpenJDK的最新技术,对象头压缩,来大幅优化Java对象的内存占用。目前这个技术尚未在Java语言官方实现OpenJDK中正式发布,但是Dragonwell11已经率先应用,请参考JDK发布指南:Dragonwell 11 release notes[1]。
携程内部会有大量的部门或团队需要在App新版本、新站点完成研发阶段所有功能测试后,在上架前(Post Release)阶段,再进行无拘束的从客人视角验收的诉求(比如竞品对比、Localization体验等)。对于已经上架的版本,我们的客服人员在客人协助、新员工培训等场合,也有着使用生产资源来获得与客人同一视角的环境诉求,这对我们研发流程中已经存在的测试环境的适用性提出了巨大的挑战,无论从操作体验、还是资源对齐等多方面,测试环境都难以满足诉求。
在广告检索系统中,增量索引(实时索引)是一类常见的技术,用于使广告信息的变更及时生效。其中一种主要的思路即由检索系统消费广告更新数据流,实时更新内存索引,对此行业中已有很多优秀方案实现。然而,对与如何构建出“广告更新数据”,却鲜有提及。 本文将针对如何构建出完整、可靠、可维护的“广告更新数据流”进行展开叙述。
新质生产力是创新起主导作用,摆脱传统经济增长方式、生产力发展路径,具有高科技、高效能、高质量特征,符合新发展理念的先进生产力质态。两会政府工作报告进一步提出,大力推进现代化产业体系建设,加快发展新质生产力,积极培育新兴产业和未来产业,积极打造商业航天、低空经济等新增长引擎。低空经济是当前我国新质生产力的代表性产业,本文分析低空出行发展的“电动化、长续航、智能化”三大技术趋势,对技术、政策、基础设施、产业链和应用等方面提出创新的思考。
GitLab作为支撑技术部门各种研发平台工具的核心系统之一,系统的稳定性保障尤其重要!内部的研发相关的工具平台大部分都底层依赖GitLab系统,可以试想一下:一旦GitLab系统挂了,哪些系统受影响?哪些研发活动不能正常进行?代码不能提交合并、发布系统不能使用、App不能打包、新的代码不能进行测试验证等……研发活动将完全处于停止状态。由此可见GitLab系统的稳定性的优先级非常高!GitLab的稳定性建设一方面要从架构上升级,另一方面也要持续治理使用场景,规避那些不合理的使用行为。今天在这里将GitLab系统的稳定性建设过程通过文字的形式分享给大家,欢迎大家一起交流探讨!
在鸿蒙中开发Flutter项目,一个最大的问题,就是「不太会写鸿蒙代码」,这对于一个Flutter开发者来说,虽然不是一件很麻烦的事,但由于现在鸿蒙的版本和文档还略有一些混乱,所以要写好还是有一些麻烦的,所以,秉着能用工具解决的问题就不要自己写的原则,我们参考Native的Flutter Channel的实现,也就是pigeon的方式,不熟悉的同学可以参考我之前的文章。