首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/5658056/blog/5495424

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

Java系列 | 远程热部署在美团的落地实践

Sonic是美团内部研发设计的一款用于热部署的IDEA插件,本文其实现原理及落地的一些技术细节。在阅读本文之前,建议大家先熟悉一下Spring源码、Spring MVC 源码 、Spring Boot源码 、Agent字节码增强、Javassist、Classloader等相关知识。 1 前言 1.1 什么是热部署 所谓热部署,就是在应用正在运行时升级软件,却不需要重新启动应用。对于Java应用程序来说,热部署就是在运行时更新Java类文件,同时触发Spring以及其他常用第三方框架的一系列重新加载的过程。在这个过程中不需要重新启动,并且修改的代码实时生效,好比是战斗机在空中完成加油,不需要战斗机熄火降落,一系列操作都在“运行”状态来完成。 1.2 为什么我们需要热部署 据了解,美团内部很多工程师每天本地重启服务高达5~12次,单次大概3~8分钟,每天向Cargo(美团内部测试环境管理工具)部署3~5次,单次时长20~45分钟,部署频繁频次高、耗时长,严重影响了系统上线的效率。而插件提供的本地和远程热部署功能,可让将代码变更“秒级”生效。一般而言,开发者日常工作主要分为开发自测和联调两...

这三种内存管理算法你知道吗?

本文分享自中移OneOS公众号《内存管理》。 根据应用程序需求和系统资源的差异,操作系统提供了不同的内存分配管理算法,分别是小内存管理算法、slab管理算法和memheap管理算法。 小内存管理算法主要针对系统RAM空间比较少的情况,一般用于小于2MB内存空间的系统,也是使用最广泛的内存管理算法。 slab内存管理算法则主要是在系统RAM空间比较丰富的情况,提供了一种近似内存池分配的快速算法。 memheap算法则用于系统存在多个内存堆的情况,它可以将多个内存连接在一起,形成一个大的内存堆,应用程序使用时感知不到多个内存堆的存在。 这几类内存堆管理算法在系统运行时只能选择其中之一或者完全不使用,他们提供给应用程序的API接口完全相同。 小内存管理算法 在小内存管理算法中,使用内存块的形式管理。 每个内存块都包含一个数据头,通过数据头把内存块用双向链表的方式连接起来,不论使用块或者空闲块都在同一个链表中管理。内存块的数据头数据结构定义如下: struct os_heap_mem { os_uint16_t magic; /*魔数*/ os_uint16_t used; /*...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册