今天,又是干货满满的一天.这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始.由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版 全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜) 全网最硬核 JVM TLAB 分析 1. 内存分配思想引入 全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考 全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数 全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全…
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判.如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~ 本篇文章参考了大量文章,文档以及论文,但是这块东西真的很繁杂,我的水平有限,可能理解的也不到位,如有异议欢迎留言提出.本系列会不断更新,结合大家的问题以及这里的错误和疏漏,欢迎大家留言 JMM 相关文档: Java Language Specification Chapter…
1.简述Handler的实现原理 Android 应用是通过消息驱动运行的,在 Android 中一切皆消息,包括触摸事件,视图的绘制.显示和刷新等等都是消息.Handler 是消息机制的上层接口,平时开发中我们只会接触到 Handler 和 Message,内部还有 MessageQueue 和 Looper 两大助手共同实现消息循环系统. (1)Handler 通过Handler的sendXXX或者postXXX来发送一个消息,这里要注意post(Runnable r)方法也会将Runnab…
TLAB 全网最硬核的解析,请参考:全网最硬核 JVM TLAB 分析 TLAB 在何时退还给堆? 有两种情况: 当前 TLAB 不足分配,并且剩余空间小于当前线程最大浪费空间限制时. 发生 GC 时,在 GC 扫描前的时候. 什么是 dummy object? 是一个被标记为可回收的 int[] 数组.填充后, GC 扫描会直接标记为可回收. 为何填充 dummy object 主要保证 GC 的时候扫描高效.由于 TLAB 仅线程内知道哪些被分配了,在 GC 扫描发生时返回 Eden 区,如…
欢迎关注公众号:bin的技术小屋 大家好,我是bin,又到了每周我们见面的时刻了,我的公众号在1月10号那天发布了第一篇文章<从内核角度看IO模型的演变>,在这篇文章中我们通过图解的方式以一个C10k的问题为主线,从内核角度详细阐述了5种IO模型的演变过程,以及两种IO线程模型的介绍,最后引出了Netty的网络IO线程模型.读者朋友们后台留言都觉得非常的硬核,在大家的支持下这篇文章的目前阅读量为2038,点赞量为80,在看为32.这对于刚刚诞生一个多月的小号来说,是一种莫大的鼓励.在这里bin…
套路--先贴图 demo :  http://www.vvui.net/editor/index.html gitee : https://gitee.com/kevin-huang/Bui-Editor-public 前提 下面的内容忽略ES6.ES6多了一些特性,语法糖,硬核还是内在的经典,本文只讲经典. 吐槽JavaScript  的非主流特性 JavaScript的非主流特点让许多习惯了JAVA.c#等这些现代面向对象风格语言的码农们甚是烦恼.这种怪异的特点,加上天马行空的作用域特性,让…
封面:洛小汐 作者:潘潘 2020 年的大疫情,把世界撕成几片. 时至今日,依旧人心惶惶. 很庆幸,身处这安稳国, 兼得一份安稳工. · 东家常讲的一个词:深秋心态 . 大势时,不跟风.起哄, 萧条时,不放弃播种和耕耘的信心, 热时不燥.冷时不弃, 这就是深秋心态. · 大疫情,相信只是大自然的规律, 也恰是我们保持深秋心态的时候, 默默播种和耕耘吧, 今年,世界会慢慢复苏,希望都会来临. 2021年要信心满满 ヾ(◍°∇°◍)ノ゙ 定会收货满满 ~ 上图保存可做朋友圈封面图 ~ 前言 上节我们…
作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司80%员工都是技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈.交互式数据可视化大屏开发平台Easy[V]等产品也在迅速迭代.在进行产品研发的过程中,技术小哥哥们能文能武,不断提升产品性能和体验的同时,也把这些提升和优化过程记录下来,现录入“袋鼠云研发手记”专栏中,以和业内童鞋们分享交流. 下为“袋鼠云研发手记”专栏第二期,本期作者为袋鼠云数栈引擎团队. 袋鼠云数栈引擎团队 袋鼠云数栈引擎团队拥有多名专家级别,经验丰富的后端…
目录 引言 控制反转 读写分离分库分表 理论基础 设计目标 现状调研 设计思路 实现之过五关斩六将 动态对象 动态模型缓存 数据源移植 查询表达式树深度移植 数据合并算法 事务支持 实际使用 展望未来 引言 前方硬核警告:全文干货11000+字,请耐心阅读 遥想去年这个时候,差不多刚刚毕业,如今正式工作差不多一年了.Colder开源快速开发框架从上次版本发布至今差不多有三个月了,Github的星星5个版本框架总共也有近800颗,QQ群从最初的一个人发展到现在的500人(吐槽下,人数上限了,太穷开…
大家都是程序员,大家都是和计算机打交道的程序员,大家都是和计算机中软件硬件打交道的程序员,大家都是和CPU打交道的程序员,所以,不管你是玩儿硬件的还是做软件的,你的世界都少不了计算机最核心的 - CPU CPU是什么 CPU 的全称是 Central Processing Unit,它是你的电脑中最硬核的组件,这种说法一点不为过.CPU 是能够让你的计算机叫计算机的核心组件,但是它却不能代表你的电脑,CPU 与计算机的关系就相当于大脑和人的关系.它是一种小型的计算机芯片,它嵌入在台式机.笔记本电…