首页

来自智得网
跳转至: 导航、​ 搜索

精选文章

CMS垃圾回收算法【Java】查看全文
JVM的CMS垃圾回收算法.png
CMS垃圾回收算法是在常用的老年代垃圾回收算法之一,CMS垃圾回收算法是一种并行的垃圾回收算法,并行是指CMS在执行GC的过程中,大部分时间是和业务线程同时运行的。不同于串行化垃圾回收算法更加注重吞吐率指标,CMS垃圾回收算法主要关注的指标是暂停时间。

CMS垃圾回收算法主要分为以下流程: 初始标记,初始标记是从GC root开始,将所有的垃圾进行标记。 并发标记,GC root直接关联的对象完成标记之后,CMS垃圾回收算法就可以进行并发标记。 重新标记,在并发标记的过程中,业务程序还在运行,所以可能会有漏标和误标的情况发生,漏标是指应该被标记为垃圾的对象未被标记,误标是指被标记为垃圾的对象又被重新引用,重新标记主要是为了解决误标的问题。 并发清理的过程是和业务程序同时运行的,将系统中已经被标记为垃圾的对象进行清理,之后该空间可以释放被重新分配。 初始标记 初始标记阶段是STW(Stop The World,暂停所有业务线程)的,因为初始标记阶段是将和GC root直接关联的对象进行标记,所以该阶段需要一个静态的快照,也就是需要STW。 但是因为GC Root的数据对象是一个相对固定的数量,和堆空间的大小无关,所以初始标记的时间是相对可控的。 GC Root是垃圾回收算法标记的起点,GC Root是指明确存活的不能被垃圾回收的对象,这些对象: 虚拟机线程栈的引用的对象,即局部变量表 方法区的常量以及类静态属性的变量 JNI即本地方法栈中引用的对象。

Java虚拟机内部的引用,入基本数据类型的Class对象,一些常驻的异常对象(比如NullPointException、OutOfMemoryError等),还有系统类加载器…
ERP查看全文
ERP发展历史.png
ERP是企业资源计划(Enterprise Resource Planning)的缩写,由美国 Gartner Group 公司于1990年提出。企业资源计划是MRP II(企业制造资源计划)下一代的制造业系统和资源计划软件。

在MRP II之前,在20世纪40年代,人们就提出了库存控制系统,用于系统化的解决库存方面的问题。 20世纪60年代,提出了MRP的概念,MRP系统的核心价值是优化库存水平的能力。它让制造商知道生产需要哪些原材料,需要多少,什么时候需要,可以从哪里购买。 这样,制造商就可以只维持所需要的库存,从而减少仓储的搬运和租金成本。材料需求计划系统也有助于预测,这有助于制造商更好地计划销售,采购活动和交货时间表。材料需求计划系统的其他优点包括及时提供正确的生产材料,及时向客户运送制成品,以及最佳地使用机器和设备等。 MRP系统的缺点包括严重依赖准确的输入信息。如果输入系统的数字或数据有任何不准确之处,那么整个计划和预测过程就会出现问题,比如订单数量过多,甚至调度延迟。 后来人们又提出生产计划与控制以及企业经营管理的一系列理论以及系统,在20世纪90年代,基于这些系统的整合,提出了ERP系统。 ERP系统除了MRP II 已有的生产资源计划、制造、财务、销售、采购等功能外,还有质量管理,实验室管理,业务流程管理,产品数据管理,存货、分销与运输管理,人力资源管理和定期报告系统。 ERP核心是满足企业发展的需求,提升企业的经营效率,所以ERP的功能和企业类型相关,但是常见的ERP都包括以下模块: 客户管理

客户管理模块将所有客户数据以统一的结构进行组织和存储,客户资源以及信息是企业最宝贵的数据资源之一,客户也是企业的财富来源…
Kafka查看全文
Kafka体系图.png
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。

kafka是apache旗下一款著名的消息队列。其最早由LinkedIn公司采用Scala语言开发,支持多分区,多副本,kafka以高吞吐,可水平扩展,支持流式数据处理等多种特性而被广泛使用。 kafka的体系概念有几个重要的术语。 Producer,生产者,也就是消息的发送方。 Consumer,消费者,连接kafka集群,接受消息,并进行业务逻辑处理。 Broker,服务节点,可以看作一个kafka实例。 Topic,是一个逻辑概念,Producer和Consumer都会关联特定的主题进行发送和消费。一个Topic还可以分为若干个分区,称为Partition,每个Partition对应不同的物理存储和日志文件。 存储设计 kafka的因为顺序写的特点,所以存储使用日志。每个分区副本下的日志文件会分为多个分段,LogSegment,每个LogSegment有一个日志文件和两个索引文件构成,两个索引文件分别是对偏移量和时间戳的索引。 延迟消息 kafka存在大量的延时操作,例如延时生产,延时消费,延时拉取等,kafka基于时间轮的概念实现此类需求。 时间轮是一个存储定时任务的环形队列,队列中每一项代表了该时间范围内需要触发的任务。

时间轮是可以复用的,因为定时任务可能延时较久,所以时间轮有多个级别。比如最小粒度的时间轮间隔时间为1ms,时间轮的格子为20个,则该时间轮可以表示的时间跨度为20ms,那么其上级时间轮的每个格子代表的时间跨度就是20ms…

热门分类

算法题库

精选内容