- 博客(4)
- 问答 (1)
- 收藏
- 关注
原创 java程序在JVM中是如何运行的?
JVM的内存模型 JVM内存是人为根据不同内存空间的存储特点以及存储的数据进行划分的。 程序计数器:当前线程所执行的字节码行号指示器 本地方法栈:为虚拟机使用的native方法服务 Java虚拟机栈:描述Java方法执行的内存模型,每个方法被执行的时候都会同时创建一个栈帧用于存储局部变量表,操作栈,动态链接,方法出口等信息。每一个方法会创建一个栈帧,栈帧存放了当前方法的数据信息(局部变量),当方法执行完毕栈帧就被销毁。 Java堆:被所有线程共享的一块内存区域,在虚拟机启动时创建,所有的对象实例
2022-02-16 22:55:16
1453
1
原创 Spark源码解析(一):RDD集合数据—分区数据的分配
RDD是什么:分布式弹性数据集待解决的问题:rdd和数据源分区数据如何进行分配??? 例如(1,2,3,4),分区数numSlices=3,RDD中如何进行数据分区存储? 查看源码能够让我们快速理解。 进到makeRDD函数,看到内部是执行了parallelize函数,并且传入集合和分区数。 parallelize函数内部创造了一个ParallelCollectionRDD对象。 随后,进入ParallelCollectionRDD类内部。 有个同名方法: 将集合切片为numSl..
2022-02-16 00:35:15
337
原创 JVM重点简述—分代收集理论与垃圾收集算法
一、分代收集理论 设计原则:将java堆划分为不同区域,将回收对象依据年龄分配到不同区域存储。由此产生新生代和老年代的概念,新生代每次手机都会有大批对象死去,存活的少量对象逐步晋升为老年代。 三条假说: (一)绝大多数对象都是朝生夕死的 (二)熬过越多次垃圾回收的对象就越难以消亡 (三)跨代引用相对于同代引用来说,仅占少数 二、垃圾收集算法 1.标记-清除算法(最早最基础) 过程:首先,标记所需回收的对象,(标记过程就是对象是否属于垃圾的判定过程) 之后。统一回收所有标记的对
2022-02-14 22:51:16
508
转载 Kafka设计解析(一)- Kafka背景及架构介绍
本文转发自技术世界,原文链接 http://www.jasongj.com/2015/03/10/KafkaColumn1 背景介绍 Kafka创建背景 Kafka是一个消息系统,原本开发自LinkedIn,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础。现在它已被多家不同类型的公司作为多种类型的数据管道和消息系统使用。 活动流数据是几乎所有站点在对其网站使用情况做报表时都要用到的数据中最常规的部分。活动数据包括页面访问量(Page.
2021-03-31 22:29:29
95
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人