- 博客(11)
- 收藏
- 关注
原创 Spark源码阅读03-Spark存储原理之序列化和压缩
JavaSerializer继承于java.io.Serializable,但性能不佳, 而且生成的序列结果也较大, 因此Spark提供性能更佳的KryoSerializer方法,不过KryoSerializer不支持所有的系列化对象, 而且要求用户注册类。需要注意的是,这里可配的序列化的对象是Shuffle数据以及RDD缓存等场合,对于Spark 任务的序列化是通过spark.closure.serializer米配置, 目前只支待JavaSerializer。
2024-09-22 16:41:10
615
原创 Cloud Native 与12-Factor_十二因子 cloud native
目前,在企业中广泛采用服务器模式的版本控制系统,但越来越多的企业开始倾向于采用分布式模式版本控制系统。读者如果对版本控制系统感兴趣,可以参阅笔者所著的《分布式系统常用技术及案例分析》中的“第7章分布式版本控制系统”内容。本书“10.3 代码管理”章节部分,还会继续深入探讨 Git 的使用。
2024-09-22 14:46:48
1021
原创 Oracle认识及安装
一个数据库至少有一个表空间。Guest访问网络的所有数据都是由主机提供的,Guest并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Guest的存在。Guest可以访问主机能访问到的所有网络,但是对于主机以及主机网络上的其他机器,Guest又是不可见的,甚至主机也访问不到Guest。虚拟机与网络中其他主机的关系:只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。虚拟机与主机的关系:只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。
2024-09-22 14:09:24
1064
原创 Android绘制日历_android 日历
一个月最多有31天,其中最多有4个整周(28天)刚好是当前月,剩下的的3天可能分布在其余两个月,所以我们日历需要绘制6行。首先求出当前月的第一天是星期几需要注意的是这里的结果是从周日开始计算的从周日开始计算(日:1 一:2 二:3 三:4 四:5 五:6 六:7)然后根据计算出日历上需要显示上个月的日期先获取上个月的天数,然后获取倒数几个,days用来存储需要绘制的日期。接着加入当前月的日期(当前月全部装入days)最后计算出需要下一个月的日期,因为我们绘制6行,所以一共显示42天。
2024-09-22 11:49:57
875
原创 MyBatis整体架构分析:基础支持层、核心处理层和接口层
提供详细的日志输出信息,并且能够集成多种日志框架,其日志模块的一个主要功能就是集成第三方日志框架。资源加载模块主要是对类加载器进行封装,确定类加载器的使用顺序,并提供了加载类文件以及其他资源文件的功能。解析器模块主要提供两个功能,一个功能是对 XPath 进行封装,为 MyBatis 初始化时解析 mybatis-config.xml 配置文件以及映射配置文件提供支持;另一个功能是为处理动态 SQL 语句中的占位符提供支持。MyBatis 自身提供了相应的数据源实现,也提供了与第三方数据源集成的接口。
2024-09-22 10:27:51
1114
原创 LeetCode - Easy - 234
方法一:我写的,双指针。由于是单向链表而不是双向链表,其中一指针要反复横跳。时杂O(N²),空杂O(1)。方法四:双指针,反转链表的半部分,这会修改原链表结构。时杂O(N),空杂O(1)。时杂O(N),空杂O(N)。时杂O(N),空杂O(N)。// 方法四:双指针,以及要反转链表。// 方法一:我写的。// 方法二:使用栈。
2024-09-22 07:58:34
1030
原创 Java架构师全路线总结+高频面试题(2024年最新版)
即使不是人人都可以成为架构师,但是在成为架构师的路上成就自己一番,别有一种满足感不是吗?(面向对象+Java的超类+Java的反射机制+异常处理+集合+泛型+基础IO操作+多线程+网络编程+JDK新特性)(理解运行时数据区+堆外内存解读+JDK+内存泄漏问题排查+Arthas+GC算法和垃圾回收器+类加载机制等)(Redis+mongoDB+MySQL高可用+Mycat+Sharing-Sphere)(Zk实战+RabbitMQ+RocketMQ+Kafka)数据库(调优+事务+锁+集群+主从+缓存等)
2024-09-22 03:06:42
837
原创 Java多线程的五种实现方式
这是很有用的,比如车站的售票窗口,每个窗口可以看做是一个线程,他们每个窗口做的事情都是一样的,也就是售票。这种方式的实现就是我们后面要详细介绍的Future模式,只是在jdk5的时候,官方给我们提供了可用的API,我们可以直接使用。在Java中实现定时任务有很多种方式,JDK提供了Timer类来帮助开发者创建定时任务,另外也有很多的第三方框架提供了对定时任务的支持,比如Spring的schedule以及著名的quartz等等。那么每次需要的时候创建,不需要的时候销毁,是非常浪费资源的。
2024-09-22 00:41:30
997
原创 Java~集合中的fail-fast(快速失败)机制
if (!hasNext())上面的代码中的checkForComodification会检查modCount和expectedModCount的值是否一致,不一致则抛出异常。
2024-09-21 22:03:53
554
原创 Elasticsearch学习系列之一:基础知识与软件安装
文档是构建索引的基本单元。是分布式搜索引擎,每个索引都有一个或多个分片,索引的数据被分配到各个分片上, 这就相当于一堆沙子可以由不同的容器来装。分为两层意思,一是建立索引,而是对应的索引文件。集群的名称也是全局唯一的,是近实时的,它是个分布式系统,不但要对数据进行持久化同时需要将数据解构 为方便进行全文检索的数据结构。的实例,主要x向外界提供数据的存储以及集群的搜索与索引功能。可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。集群是自组织的,只需要将节点指定为对应集群名称下的节点即可。
2024-09-21 16:02:51
451
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅