jvm-内存布局设计
内存布局设计 JVM的内存设计上是划分为两个大的区域的启动时向操作系统分配的程序内存区域、直接对系统内存进行操作的区域,后者不属于JVM管理,我们主要是分析前者 大体结构 程序计数器 程序计数器是用来记录当前线程所执行的字节码的行号指示器,字节码解释器在工作时就是通过改变这个计数器的值来记录当前执行的指令. 它是JVM层次的指令执行记录与硬件层次的指令地址寄存器(IR)的区别在于程序计数器...
内存布局设计 JVM的内存设计上是划分为两个大的区域的启动时向操作系统分配的程序内存区域、直接对系统内存进行操作的区域,后者不属于JVM管理,我们主要是分析前者 大体结构 程序计数器 程序计数器是用来记录当前线程所执行的字节码的行号指示器,字节码解释器在工作时就是通过改变这个计数器的值来记录当前执行的指令. 它是JVM层次的指令执行记录与硬件层次的指令地址寄存器(IR)的区别在于程序计数器...
多线程是否会影响执行效率 前提 今天一位同事问了一个问题感觉比较有趣,问题简化规范后是这样的 在同一机器/操作系统上,使用n个线程处理X个任务是不是和使用n*m个线程处理X个任务效率相同? 这样的观点是基于RR-时间片轮转来进行推导的;我不太认同这种观点,直觉上认为参与处理的任务过多或过少都会影响执行效率;下面先进行这两种观点的推导然后在进行实际的验证 时间片轮转 假设前提: 操作系统对进程...
深入分布式缓存-从原理到实践(三) Redis数据结构 Redis的数据结构可以划分为下图所示: 可以看到Redis底层采用的也是Map的方式来保存key以及value; Redis主要的数据类型分为String、list、set、map、sorted-set等 下面会依次介绍这几种类型对象的底层实现原理 String类型 ...
TiDB数据库之简介 TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP) 的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态...
git workflow的几种最佳实践方式 引言 现有的版本控制系统大多选择使用Git来进行管理/协作;不同的团队有会根据各自的情况选择不同的协助方式,常见的git workflow主要分为三种: Git flow Github flow Gitlab flow 常见的分支模式也可以大致划分为两种: 主干分支模式 特性分支模式 下面就先介绍特性分支模式下的三种 Git WorkFlow特点与优...
分布式数据库系统原理 引言 为什么需要分布式? 处理逻辑 功能 数据 控制 对于这个的理解应该是: 处理逻辑:对应应用实例或者算法之类的,单点无法满足某些需求(AP) 功能:对于功能的分布式划分主要是体现在微服务的拆分上,不同的功能拆分成为不同的服务 数据:对于数据的拆分主要是单点数据服务无法满足要求的情况下,进行拆库拆表 控制:这个暂时不能理解?控制是否为程序或者算法的同义楠? 什...