从原理聊JVM(三):详解现代垃圾回收器Shenandoah和ZGC | 京东云技术团队
现代的垃圾回收器为了低停顿的目标可谓将“并发”二字玩到极致,Shenandoah在G1基础上做了非常多的优化来使回收阶段并行,而ZGC直接采用了染色指针、NUMA等黑科技,目的都是为了让Java开发者可以更多的将精力放在如何使用对象让程序更好的运行,剩下的一切交给GC,我们所做的只需享受现代化GC技术带来的良好体验。
Souleigh ✨ Souleigh ✨
4年前
初识 JS 中的柯里化
作为函数式编程语言,JS带来了很多语言上的有趣特性,比如柯里化。1.简介柯里化(Currying),又称部分求值(PartialEvaluation),是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数而且返回结果的新函数的技术。核心思想是把多参数传入的函数拆成单参数(或部分)函
Wesley13 Wesley13
3年前
2、libvirt创建虚拟机并设置网络
一:介绍libvirt是基于xen、kvm等虚拟化技术之上的进一步操作封装,通过他可以快速调用kvm、xen命令快速创建、管理虚拟机。比如libvirt通过xml配置文件的方式记录kvm创建虚拟机需要的参数,然后每次启动虚拟机就只需要读取这个xml的配置信息即可,不需要每次都输入那么多命令和参数。他们的关系如下:!(https://os
Stella981 Stella981
3年前
Netty系列之Netty高性能之道
1\.背景1.1.惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4Thrift压缩二进制编解码技术,他们实现了10WTPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据并不感到惊讶,根据我5年
Easter79 Easter79
3年前
SpringCloud多模块打包失败问题记录
项目采用了SpringCloud微服务架构,由于存在很多公共配置及工具类,所有抽离出一个公共模块供所有模块引用,但是对SpringCloud项目打包时总是提示找不到公共模块中的某个路径或者找不到main方法。!(https://imgblog.csdnimg.cn/20200923100014598.png?xossprocessimage/
Stella981 Stella981
3年前
Linux系统配置及服务管理
一,文件和用户管理1,liunx目录结构WINDOWS/LINUX目录对比:Windows:以多根的方式组织文件C:\\D:\\E:\\Linux:以单根的方式组织文件/2,简介:Windows:以多根的方式组织文件C:\\D:\\E:\\Linux:以单根的方式组织文件/3,图
Stella981 Stella981
3年前
Picasso:开启大前端的未来
“道生一,一生二,二生三,三生万物。”——《道德经》Picasso是大众点评移动研发团队自研的高性能跨平台动态化框架,经过两年多的孕育和发展,目前在美团多个事业群已经实现了大规模的应用。Picasso源自我们对大前端实践的重新思考,以简洁高效的架构达成高性能的页面渲染目标。在实践中,甚至可以把Native技术向P
Stella981 Stella981
3年前
Seaborn学习02:折线图(多坐标)
在Seabor中实现折线图有两种。一种是在relplot()函数中的kind参数设置line就可以,另一种是lineplot()函数来可以直接实现折线图。通过relplot来实现importmatplotlib.pyplotaspltimportseabornassns数据集data
Stella981 Stella981
3年前
JFinal 万能CMS系统,极速开发,动态生成数据属性
JFinal万能CMS系统,极速开发,动态添加字段,自定义标签,动态创建数据库表并crud数据,数据库备份、还原,动态添加站点(多站点功能),一键生成模板代码,让您轻松打造自己的独立网站,同时也方便二次开发,让您快速搭建个性化独立网站,为您节约更多时间,去陪恋人、家人和朋友。1.技术框架:MVC:JFinal3.6页面:enjoy缓存:e
基于三层流量卸载方案的子网路由
本文介绍的子网路由功能是基于三层流量卸载方案、通过OpenFlow流表方式来实现的。在介绍子网路由之前,先了解一下东西向三层流量卸载方案。如图1所示,vm1、vm2和vm3分别属于三个不同网段的子网,同属于一个VPC,即三层可通。在卸载之前,同VPC三层流量均需要通过租户网关TGW拉通,导致TGW的流量压力较大,无法满足大客户对于同VPC三层互访流量的需求