Java 与底层操作系统的交互细节

作者/分享人:小强
向 Ta 提问
某互联网公司担任架构师,有过微服务架构从0到1的经历,对微服务生态下的相关中间件源码有过深入研究。

下层基础决定上层建筑,只有扎实的基础知识,熟练掌握底层原理,才能在技术道路上走的更远,更深。

Java 作为一门高级语言也一样,你了解什么是缓存伪共享么?你了解 RocketMQ 为提升文件读写速度做了哪些优化么?你知道为什么大家总建议线程池大小设置为 CPU 核心 * 2 ,这样合理么?

本场 Chat 将介绍以下内容

  1. CPU 访问内存
  2. 虚拟存储
  3. 进程中断
  4. 系统调用
  5. Java 内存映射
  6. Java 对象内存布局
  7. Java 线程同步
  8. Unsafe 类方法分析
已有403人预订
预订达标
文章出炉
     
03月13日
03月28日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张小强的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
小强
人生真是寂寞如雪啊
磊哥: 是整个系列就这么一篇文章?
大臭太臭
MappedByteBuffer不会直接分配物理内存,但是ByteBuffer.allocateDirect会直接分配物理内存。
大臭太臭: MappedByteBuffer每个页写一次才能把所有页都加载,学习了。谢谢~
小强: ByteBuffer.allocateDirect用的unsafe.allocateMemory(size)来分配内存,MappedByteBuffer是个抽象类,MappedByteBuffer每个页写一次会把这个页里面的所有数据都加载进内存,4kb 一页,要加载所有页进内存则需要把每个页都读或者写一次
小强: MappedByteBuffer是个抽象类,实际用到的还是DirectByteBuffer
你可能还喜欢
高并发、低 RT 的风控系统架构及技术架构的实现
火币集团研发中心
全栈开发入门实战:后台管理系统
鲁鹏
程序员副业赚钱的 8 种模式
安晓辉
每一个开发人员都应该懂的 UML 规范
码匠笔记
Python 协程模块 asyncio 使用指南
陈祥安
“花式吊打”系列之逻辑回归讲透透
天马行空
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
添加小助手微信×