自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SmartSi

一起陪伴大数据成长

  • 博客(2452)
  • 资源 (69)
  • 问答 (17)
  • 收藏
  • 关注

原创 Flink 高分笔记

这篇博客文章总结了Flink流计算相关的基础知识和实践指南。主要内容包括:1) 流计算基础概念,如事件时间、Watermark机制、Exactly-once语义;2) Flink基础操作,如安装部署、程序结构、并发设置、故障恢复;3) DataStream API核心功能,包括时间概念、窗口计算、状态管理、双流Join等;4) Table API与SQL的使用方法和工作原理。文章提供了丰富的技术文档链接,涵盖了Flink从入门到进阶的各个方面,既有理论讲解也有实践案例,是一个系统的Flink学习资源合集。

2025-06-22 22:50:13 1078

原创 大数据实践案例月报指南

为您准备了阿里、字节、百度等大厂实践案例

2024-07-06 09:53:57 711

原创 Hive 高分笔记

Hive 高分笔记

2022-11-20 15:59:49 1436 2

原创 Flink 源码解读

Flink 源码解读系列

2022-09-18 22:29:14 571

原创 Spark 高分笔记

Spark 系统性学习笔记系列

2022-07-31 17:36:50 1516 1

原创 Hadoop 高分笔记

Hadoop 精选内容汇总

2022-07-24 08:38:48 1489

原创 淘宝闪购实时分析黑科技:StarRocks + Paimon撑起秋天第一波奶茶自由

淘宝闪购项目通过StarRocks + Paimon实时湖仓架构,成功应对了"秋天的第一杯奶茶"活动带来的亿级流量冲击。技术团队采用物化视图优化、RoaringBitmap去重和大查询治理等创新方案,将千亿级数据查询耗时从分钟级压缩至秒级,并实现99.9%的刷新成功率。该架构支持分钟级实时决策,解决了传统离线架构的时效性瓶颈,为业务提供了灵活高效的数据支撑。通过300个计算节点和20800 CU的资源规模,最终支撑单日17万次查询峰值,成为即时零售领域的技术标杆。

2025-09-07 23:19:20 571

转载 快手基于 Apache Flink 的实时数仓建设实践

快手基于Flink的实时数仓建设经历了四个发展阶段:从大型活动场景到核心指标实时化,再到业务数据域建设,最终扩展到线上推荐场景。在技术架构上采用Lambda架构,通过Flink+Kafka构建实时链路,结合维表关联、多机房容灾等技术保障数据质量与高可用。实时数仓分层建设包含ODS层流量拆分、DWD/DWS层维度建模、ADS层场景化方案设计,针对不同业务需求提供灵活解决方案。特别是在单直播间累计等典型场景中,通过动态窗口等技术实现了高效稳定的实时指标计算。

2025-09-05 23:24:13 638

转载 腾讯基于 Flink SQL 的功能扩展与深度优化实践

以 Left Outer Join 为例,且假设左流的数据比右流的数据先到,左流的数据会去扫描右流数据的状态,如果找不到可以 Join 的数据,左流并不知道右流中是确实不存在这条数据还是说右流中的相应数据迟到了。但是对于 SQL,目前是没办法做到的。因此,扩展了现有的 Tumble Window,把迟到的数据也收集起来,同时迟到的数据并不是每来一条就重新触发窗口计算并向下游输出,而是会重新定义一个 Trigger,Trigger 的时间间隔使用 SQL 中定义的窗口大小,以此减少向下游发送数据的频率。

2025-09-05 16:12:49 263

原创 源码解读 | Flink Kafka Connector Source 如何提交 Offset

本文深入解析了Apache Flink 1.13.6中FlinkKafkaConsumer的Offset提交机制。

2025-08-31 17:35:10 887

原创 实战 | Flink DataStream 周期性事件时间触发器 ContinuousEventTimeTrigger

ContinuousEventTimeTrigger是Flink中用于在事件时间窗口内定期触发计算的触发器,相比仅触发一次的EventTimeTrigger,它能在窗口结束前以固定间隔输出中间结果。这种设计在保证最终结果准确性的同时,降低了延迟,适用于需要实时监控的业务场景。通过示例代码展示了如何配置每10秒触发一次计算的分钟级窗口,实现了对单词频次的实时聚合。ContinuousEventTimeTrigger通过"随堂小测+期末考试"的模式,在数据处理延迟和结果准确性之间取得了平衡,

2025-08-30 22:22:03 671

原创 源码解读 | Flink DataStream 窗口触发器 Trigger

本文介绍了Flink中的Trigger接口及其实现,重点分析了ProcessingTimeTrigger和EventTimeTrigger两种核心触发器。Trigger接口定义了onElement、onProcessingTime和onEventTime三个关键方法,分别处理元素到达、处理时间和事件时间到达时的响应。ProcessingTimeTrigger基于系统时间触发,而EventTimeTrigger依赖Watermark处理乱序事件。文章详细说明了触发器的四种响应方式

2025-08-30 10:00:46 823

原创 Flink 窗口剔除器 Evictor

Flink 的窗口模型支持通过 Evictor 在窗口计算前后删除元素,提供了更灵活的数据处理能力。Evictor 接口包含 evictBefore 和 evictAfter 方法,分别用于窗口函数调用前后的元素剔除。Flink 内置了三种 Evictor:CountEvictor(保留指定数量元素)、DeltaEvictor 和 TimeEvictor。以 CountEvictor 为例,其通过迭代器从窗口头部删除多余元素,可通过参数控制在窗口函数前后执行剔除。示例代码展示了如何结合事件时间滚动窗口

2025-08-28 23:55:38 701

原创 Flink 窗口触发器 Trigger

Flink 窗口触发器(Trigger)决定了窗口何时触发计算。本文介绍了 Trigger 的接口方法(如 onElement、onProcessingTime 等)和返回结果(CONTINUE、FIRE、PURGE 等),并列举了内置触发器(如 EventTimeTrigger、CountTrigger 等)及其适用场景。针对特定需求(如按用户数触发窗口计算),文章还展示了如何通过继承 Trigger 抽象类实现自定义触发器,以统计文章点击次数和平均点击次数。通过状态管理和触发逻辑的结合,可以灵活控制窗口

2025-08-27 23:16:43 994

原创 Flink DataStream 如何选择时间特性

在无界流中,数据是持续不断产生的。当我们要计算“过去一小时的销售额”或“每分钟的异常用户数”时,必须明确一个问题:"过去一小时"和"每分钟"是基于哪个时钟定义的?是数据产生时的世界时间(事件时间),还是数据到达Flink系统时的机器时间(处理时间)?

2025-08-23 23:06:38 676

原创 kafka 3.9.1 Error: VM option ‘UseG1GC‘ is experimental and must be enabled via -XX:+UnlockExperiment

摘要: Kafka集群启动时因JVM参数冲突报错,提示UseG1GC是实验性功能需通过UnlockExperimentalVMOptions解锁。该问题源于Kafka新版默认配置与低版本JDK8的兼容性问题。解决方案包括:1)升级Java版本(推荐);2)临时修改Kafka启动脚本,在kafka-run-class.sh中添加-XX:+UnlockExperimentalVMOptions参数解锁G1GC功能。(149字)

2025-08-20 23:05:22 440

原创 Kafka 高分笔记

2025-08-19 22:51:26 388

原创 实战 | ZooKeeper 3.8.4 伪分布式模式安装与启动

本文详细介绍了ZooKeeper伪集群的安装与配置步骤。主要内容包括:通过下载tar包安装ZooKeeper 3.8.4版本;配置多实例的zoo.cfg文件,设置不同端口实现单机伪集群;创建myid文件标识不同节点;配置环境变量;编写启动/停止脚本管理集群。关键点在于调整配置文件中的端口号和dataDir路径,确保各实例配置唯一性,并通过myid文件区分节点。最后给出了启动集群和验证状态的脚本示例,帮助用户快速搭建本地测试环境。

2025-08-17 22:45:48 605

原创 实战 | Zookeeper 3.8.4 Problem starting AdminServer on address 0.0.0.0, port 8080

摘要: Zookeeper 3.8.4集群部署时出现AdminServer端口冲突,因默认8080端口被占用导致启动失败。分析发现伪分布式部署中三个节点未显式配置admin.serverPort,均尝试绑定同一端口。解决方案是为每个节点的配置文件(zoo1.cfg/zoo2.cfg/zoo3.cfg)分别指定唯一端口(如2081/2082/2083),避免冲突。此问题在单机多实例部署时需特别注意端口唯一性。

2025-08-17 22:32:53 377

原创 优化 | Hive 简单查询 FetchTask

摘要: Hive的FetchTask机制通过绕过MapReduce/Tez/Spark引擎,直接从存储层读取数据,显著优化简单查询性能。核心配置参数hive.fetch.task.conversion(默认more)控制其行为,支持none(禁用)、minimal(仅基础查询)和more(扩展支持列筛选和过滤)。配合hive.fetch.task.conversion.threshold(默认1GB)可避免大数据量误触发。通过EXPLAIN查看Stage-0可确认是否启用FetchTask。该机制将简单查询

2025-08-16 19:00:19 625

原创 优化 | Hive 本地执行模式

Hive本地执行模式是一种优化小数据查询性能的轻量级方案。当满足输入数据量小于128MB且任务数少于4个时,Hive可自动在单机执行查询,避免了启动分布式MapReduce作业的系统开销。通过配置hive.exec.mode.local.auto等参数可启用该模式,测试显示本地模式查询耗时仅7.5秒,而远程模式需要89秒。本地模式特别适合处理小规模数据查询,能显著减少资源占用和执行时间。该功能自Hive 0.7.0版本引入,可通过临时SQL设置或修改hive-site.xml实现永久配置。

2025-08-14 23:29:30 829

原创 原理解析 | Hive 从 GROUP BY 查询看 MapReduce 执行全流程

本文通过分析Hive执行GROUP BY查询的MapReduce过程,展示了SQL到MapReduce作业的转换机制。以一个用户行为表为例,解析了计算不同行为类型数量的查询执行计划。执行过程分为两个Stage:Stage-1完成MapReduce作业(包括表扫描、分组聚合和结果输出),Stage-0负责最终结果获取。执行计划详细展示了每个阶段的算子操作(如TableScan、Select、GroupBy等)及数据流转过程,揭示了Hive如何将SQL逻辑转化为分布式计算任务。该案例帮助我们理解Hive查询优化

2025-08-12 23:29:13 946

转载 Apache Paimon 实时数据湖: Streaming Lakehouse 的存储底座

Apache Paimon作为实时数据湖存储底座,支持流计算3.0架构,通过CDC实时入湖实现高效数据更新。相比传统Hive数仓,Paimon采用主键表+Tag机制,提供实时查询、离线视图和增量查询能力,显著降低存储成本。其LSM文件复用特性可实现数十倍存储优化,同时支持Flink双流Join、Lookup Join和Partial Update等多种数据打宽方案。Paimon已形成包含83+贡献者的繁荣生态,兼容Flink、Spark等多种计算引擎,并持续扩展外键打宽等能力,为实时湖仓场景提供灵活高效的解

2025-08-07 23:43:59 995

转载 Apache Paimon 在抖音集团多场景中的优化实践

摘要 抖音集团采用Lambda架构进行实时数仓建设,存在维护成本高、计算口径难对齐等问题。通过引入Apache Paimon流式数据湖技术,优化了游戏视频指标上卷和财经多流拼接两个典型场景。在游戏场景中,Paimon作为维表存储,实现了流批一体开发模式,提高了数据新鲜度并解决了乱序问题;在财经场景中,通过多流拼接构建完整用户交易链路,支持实时OLAP查询。方案显著降低了开发维护成本,提升了数据处理效率和查询能力,为实时数仓建设提供了新思路。Paimon的序列字段、变更日志生成等特性在解决实际问题中发挥了关键

2025-08-04 00:00:28 572

原创 Hive 3.1.3 java.lang.NoSuchMethodError: com.google.common.base.Preconditions.xxx

摘要: Hive 3.1.3初始化时出现NoSuchMethodError异常,原因是Guava版本冲突(Hive依赖19.0,Hadoop 3.2.1依赖27.0)。解决方案是统一使用Hadoop的Guava 27.0版本:删除Hive的guava-19.0.jar,将Hadoop的guava-27.0-jre.jar复制到Hive的lib目录下,重新执行初始化命令即可解决。 关键词: Hive、Guava、版本冲突、NoSuchMethodError、解决方案

2025-08-03 22:24:23 301

转载 Apache Paimon:Streaming Lakehouse is Coming

本文介绍了数据分析架构从Hive到Lakehouse的演进过程。Lakehouse架构具有计算存储分离、冷热数据分层、操作灵活、查询速度快等优势,并能将时效性提升至分钟级。Flink是降低时效性的核心引擎,但现有Lakehouse与Flink实时数仓存在割裂问题。文章重点介绍了Apache Paimon这一新型流式数据湖格式,它专为流更新设计,支持Flink和Spark引擎,延迟仅1-5分钟,可实现CDC更新入湖、Partial-Update等场景,简化了流计算链路。Paimon社区发展迅速,已成为生产可用

2025-07-31 22:59:23 609

转载 Apache Fluss:面向实时分析设计的下一代流存储

当前业界呈现出一个显著的趋势,即大数据的处理正在从离线模式转向实时化。我们可以观察到,多个行业和应用场景都在进行实时化的演进。例如,互联网、车联网和金融等领域都正通过挖掘实时数据来提升业务价值。在技术方面,大数据计算架构经历了显著的演变。从最初的 Hive 传统数据仓库,到引入 Lakehouse 湖仓架构,再到目前国内流行的 Paimon 流式湖仓架构,这些演进的核心驱动力在于提升业务的时效性。从传统的 T+1 天模式,逐步缩短到 T+1 小时,再到 T+1 分钟。

2025-07-29 23:58:21 71

翻译 原理解析 | Hadoop 2.x HDFS 架构

HDFS(Hadoop分布式文件系统)是一个高容错、高吞吐量的分布式文件系统,专为大数据处理设计。其核心架构包括主节点NameNode(管理文件系统元数据)和从节点DataNode(存储实际数据块)。HDFS采用机架感知的副本放置策略确保数据可靠性,支持一次写入多次读取的简单一致性模型,并优先将计算任务调度到数据所在节点以提升效率。系统启动时通过安全模式进行数据块校验,使用FsImage和EditLog持久化元数据变更。HDFS适用于海量数据存储场景,可在低成本硬件上实现跨平台部署。

2025-07-19 22:12:14 80

原创 原理解析 | Hadoop HDFS 剖析文件写入

本文详细描述了HDFS文件写入过程和副本放置策略。写入过程涉及客户端通过DistributedFileSystem创建文件,数据被分块写入由DataNode组成的复制管线,并采用确认队列机制确保数据可靠性。当DataNode故障时,系统会自动处理确保数据完整性。副本放置策略综合考虑可靠性、读写带宽和负载均衡,默认策略将首个副本放在客户端节点,第二个副本置于不同机架,第三个副本在同一机架,其余随机分布。这种设计既保证了数据高可用性,又优化了读写性能。

2025-07-18 22:29:04 48

转载 Flink 1.9 Table API & SQL TableEnvironment 如何选择

本文详细介绍了Flink 1.9中的5种TableEnvironment及其适用场景。TableEnvironment是Table & SQL程序的入口,主要职能包括对接外部系统、表管理、SQL执行等。在Flink 1.9中,保留了1个TableEnvironment接口、2个BatchTableEnvironment和2个StreamTableEnvironment接口,分别支持Java和Scala API。文章对比了不同TableEnvironment在作业类型、API支持等方面的区别,并通过代

2025-07-14 23:23:38 53

翻译 原理解析 | 深入理解 Apache Flink SQL 动态表的持续查询

Apache Flink通过Table API和SQL为流处理提供统一的关系型接口,其核心创新在于动态表(Dynamic Tables)概念。动态表持续更新并可像常规表一样查询,实现流批统一语义。Flink的关系API将流数据转换为动态表,执行连续查询后转回数据流,支持窗口聚合、状态处理等复杂操作。当前版本(2017)已支持基本查询,未来将扩展更新结果功能,以覆盖更多流分析场景。这种设计使SQL成为流处理的标准语言,降低技术门槛,同时保持Flink的高吞

2025-07-07 23:28:19 103

原创 原理解析 | 深入理解 Apache Flink 数据流类型和转换关系

Flink提供了多种数据流类型来实现流批处理统一编程模型。核心数据流类型包括: DataStream:基础并行流,支持map、filter等逐条转换操作 KeyedStream:通过keyBy分组后的数据流,可访问keyed状态 WindowedStream:基于key分组和时间窗口的流,支持窗口聚合 JoinedStreams/CoGroupedStreams:双流join操作,基于窗口实现 ConnectedStreams:连接异构双流并共享状态,不同于union操作 这

2025-06-29 13:10:24 976

翻译 原理解析 | 深入了解 Apache Flink 1.10 TaskManager 内存管理改进

Apache Flink 1.10对内存模型进行了重大优化,提供了更灵活的内存配置选项。文章介绍了Flink的Task Manager内存组成,包括JVM Heap和Off-Heap内存,以及用户代码和框架如何利用这些内存。新版提供了三种内存配置方式:总进程内存、总Flink内存以及细粒度控制Task Heap和Managed Memory。文章还探讨了比例分配内存的方法,并给出了控制容器内存限制的实用建议,如调整RocksDB状态和JVM参数等。这些改进使Flink在容器化环境中运行更加稳定高效。

2025-06-23 23:10:57 92

翻译 原理解析 | 深入了解 Apache Flink 网络栈 II:监控、指标和处理背压

在前面的章节中,我们讨论了如何监控 Flink 的网络栈,主要涉及识别反压:发生的位置,发生的源头,以及(可能)发生的原因。可以通过两种方式来识别:对于简单的场景和调试会话,使用反压监测器;对于持续监控、更深入的分析和更少的运行时开销场景,使用 Flink 的任务和网络栈指标。反压可能由网络层本身引起,但在大多数情况下,是由高负载下的某些子任务引起的。可以通过分析上述指标来区分这两种场景。我们还提供了一些关于监视资源使用情况以及追踪从数据源到数据汇网络延迟的手段。

2025-06-22 22:35:20 79

转载 原理解析 | 深入了解 Apache Flink 的网络栈

原文:Flink 的网络栈是组成模块的核心组件之一,也是每个 Flink 作业的核心部分。它连接了 TaskManager 的各个子任务(Subtask),因此,对于 Flink 作业的性能(包括吞吐量和延迟指标)都至关重要。与 TaskManager 和 JobManager 之间通过基于 Akka 的 RPC 通信的控制通道不同,TaskManager 之间的网络栈依赖于 Netty 的低级 API。这篇博文是关于网络栈系列文章中的第一篇。

2025-06-22 15:34:54 76

转载 Flink Kafka Connector 实现机制简析

Flink Kafka Connector由Consumer和Producer两部分组成,通过Checkpoint机制实现Exactly-Once语义。Consumer通过KafkaFetcher线程和Handover队列异步获取数据,并定期保存分区和偏移量状态。Producer基于TwoPhaseCommitSinkFunction实现两阶段提交协议:preCommit阶段预提交数据,checkpoint完成后正式提交事务。这种机制使Flink能在

2025-06-15 21:52:37 86

原创 Flink 从 Savepoint 备份中启动作业

Apache Flink的Savepoint功能支持流处理程序的零停机升级、状态迁移、版本回滚等场景,显著优于其他流处理器。通过bin/flink savepoint手动触发Savepoint并指定存储路径,或从Savepoint恢复作业(bin/flink run -s)。示例展示了从Kafka消费单词并统计频率的作业,启动作业后手动触发Savepoint,记录消费位点和状态,后续可通过Savepoint恢复作业状态并继续处理。流程包括启动作业、触发Savepoint(保存状态和偏移量)及从Sav

2025-06-14 21:36:23 825

原创 Flink DataStream Hadoop is not in the classpath

本地运行Flink程序时出现 UnsupportedFileSystemSchemeException 异常,提示无法支持HDFS文件系统。原因是Flink需依赖Hadoop客户端实现HDFS支持。解决方法是在pom.xml中添加hadoop-client依赖(版本需匹配集群),如2.10.1版本。该问题常发生于代码中使用HDFS路径但未配置Hadoop依赖的情况。

2025-06-14 14:28:54 435

转载 Flink 1.13 State Backend 优化与生产实践

Flink 1.13版本在State Backend方面进行了多项重要改进:1)引入State访问性能监控功能,可通过采样记录延迟数据;2)实现Savepoint格式统一,支持不同State Backend类型间的切换;3)将状态存储和检查点概念分离,API设计更清晰;4)优化RocksDB的分区索引功能,显著提升内存受限场景性能;5)默认配置调整,如异步检查点和多线程传输。此外,持续优化RocksDB内存管控机制,通过统一管理Write Buffer和Block Cache来避免内存溢出,并改进小文件写入

2025-06-08 13:41:32 797

原创 Hive 实战:NULL 的隐身术陷阱

Hive SQL中NULL值在不等式比较中的陷阱解析 摘要:Hive开发中,NULL值在不等式比较(!=或<>)中的特殊行为是一个常见陷阱。NULL不是值而是未知标记,任何与NULL的比较结果都是NULL而非TRUE/FALSE。文章通过销售数据案例演示,当使用region != 'North'条件时,NULL区域的数据会被意外过滤。解决方法包括使用OR IS NULL或COALESCE函数。此外还分析了NULL在运算、IF、CASE WHEN、HAVING和聚合函数中的特殊表现,强调正确处理N

2025-06-07 09:35:18 887

apache-mahout-distribution-0.11.1-src

Apache Mahout 项目旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout 的创始者 Grant Ingersoll 介绍了机器学习的基本概念,并演示了如何使用 Mahout 来实现文档集群、提出建议和组织内容。

2015-11-30

【1】2015 浙江大华校园招聘算法、软件类笔试题

第一部分2015 【1】2015 浙江大华校园招聘算法、软件类笔试题

2015-11-27

2015 小米校园招聘笔试题

2015 小米校园招聘笔试题

2015-12-17

2015 中体彩测试工程师笔试题

2015 中体彩测试工程师笔试题

2015-12-17

log4j-1.2.17

Apache log4j 1.2.17 is distributed under the Apache License, version 2.0. The link in the Mirrors column should display a list of available mirrors with a default selection based on your inferred location. If you do not see that page, try a different browser. The checksum and signature are links to the originals on the main distribution server.

2015-11-30

LINUX内核设计与实现

《Linux内核设计与实现(原书第3版)》主要内容包括:进程管理、进程调度、时间管理和定时器、系统调用接口、内存寻址、内存管理和页缓存、VFS、内核同步以及调试技术等。同时《Linux内核设计与实现(原书第3版)》也涵盖了Linux 2.6内核中颇具特色的内容,包括CFS调度程序、抢占式内核、块I/O层以及I/O调度程序等。《Linux内核设计与实现(原书第3版)》采用理论与实践相结合的路线,能够带领读者快速走进Linux内核世界,真正开发内核代码。《Linux内核设计与实现(原书第3版)》适合作为高等院校操作系统课程的教材或参考书,也可供相关技术人员参考。

2015-12-14

JavaEE企业应用实战-Struts2+Spring3+Hibernate整合开发

《轻量级Java EE企业应用实战:Struts 2+Spring 3+Hibernate整合开发》是2008年电子工业出版社出版的图书,作者是李刚。《轻量级JavaEE企业应用实战》一书于2008年由电子工业出版社出版发行,该书是《轻量级J2EE企业应用实战》的第二版,同时还融合了《整合Struts+Hibernate+Spring应用开发详解》理论部分。实际上,该书凝结了前两本书的精华部分。该书介绍了Java EE领域的三个开源框架:Struts 2、Spring和Hibernate。其中Struts 2升级到2.1.2,Spring升级到2.5.5,Hibernate升级到3.2.6。该书保留《轻量级J2EE企业应用实战》里关于Tomcat、 Jetty的介绍,新增了关于Ant、CVS的内容。

2015-12-17

Android技术内幕.系统卷

《Android技术内幕:系统卷》是国内首本系统对Android的源代码进行深入分析的著作。全书将Android系统从构架上依次分为应用层、应用框架层、系统运行库层、硬件抽象层和Linux内核层等5个层次,旨在通过对Android系统源代码的全面分析来帮助开发者加深对Android系统架构设计和实现原理的认识,从而帮助他们解决开发中遇到的更加复杂的问题。《Android技术内幕:系统卷》分为两卷,系统卷主要分析了Linux内核层、硬件抽象层和系统运行库层的各个模块的底层原理和实现细节;应用卷主要分析了应用层和应用框架层的各个模块的底层原理和实现细节。 具体而言,系统卷第1章首先从宏观上介绍了Android系统的架构以及各个层次之间的关系,然后介绍了如何获取Android源代码并搭建Android源代码开发环境和阅读环境的方法;第2章有针对性地剖析了Android的内核机制和结构,以及Android对Linux内核的改动和增强;第3章分析了Binder的架构和工作机制,以及Binder驱动的实现原理;第4章分析了Android电源管理模块的机制与实现;第5章全面地剖析了Android硬件设备驱动(显示、视频、音频、MTD、Event、蓝牙、WLAN等)的工作原理和实现,掌握这部分内容即可修改和编写基于Android的设备驱动程序;第6章深刻阐述了Android原生库的原理及实现,涉及系统C库、功能库、扩展库和原生的Server等重要内容;第7章系统地讲解了硬件抽象层的原理与实现,掌握这部分内容即可编写适合特定硬件设备驱动的抽象层接口;第8章和第9章是对系统运行库层的分析,主要讲解了Dalvik虚拟机的架构、原理与实现,以及Android的核心库相关的知识,掌握这部分内容即可完成对Android运行库的移植和修改。

2015-12-17

Android高级编程

《Android高级编程》首先简要介绍Android软件栈,接着陈述为手机创建稳定可靠、赏心悦目的应用程序的基本原理。通过学习,您可以打下牢固的理论根基,了解使用当前Android 1.0 SDK编写定制移动程序所需的知识,还能灵活快捷地运用未来的增强功能构建最前沿的解决方案。 Android提供一个开放的开发环境,为针对移动设备编写创新应用程序带来了激动人心的新机遇。作为使用AndroidSDK构建这些应用程序的实用指南书籍,《Android高级编程》从始至终穿插了一系列示例项目,每个项目都引入Android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍Android的所有基本功能,并通过简明扼要的示例引导您使用高级功能。

2015-12-17

Android开发精要

如何才能写出贴近Android设计理念、能够更加高效和可靠运行的Android应用?通过Android的源代码去了解其底层实现细节是最重要的方法之一!然而,Android系统太过于庞大,源代码实现复杂,学习的技术门槛和时间成本都很高。 有没有一种方法既能帮助开发者深入理解Android应用开发,又能不被底层大量的实现细节所羁绊,迅速掌握编写高质量Android应用所需的知识?本书针对这个问题给出了完美的答案!它从Android繁杂的源代码中抽取出了Android开发的“精华”和“要点”,剥离了大量琐碎的底层实现细节,进行了高度概括和总结,不仅能帮助开发者迅速地从宏观上理解整个Android系统的设计理念,而且能帮助开发者迅速地从微观上掌握核心知识点的原理,从而编写出高质量的Android应用。[1] 本书共13章,在逻辑上分为4个部分。第一部分(1~2章):第1章系统介绍了Android的系统架构、核心模块和设计思想,旨在让读者真正理解它的设计理念;第2章讲解了Android源代码的获取、编译、阅读和编辑的方法。第二部分(3~6章):第3章深入阐述了Android组件机制的设计理念和重要特征,并详细介绍了4大组件的方法和原理;第4章讲解了Intent对象和Android的意图机制,阐明了Android是如何将来自不同应用、不同进程的组件整合在一起的;第5章解析了Android中各个组件的生命周期,包括组件的进程模型和线程模型;第6章从开发的角度详细阐述了组件间数据传输的解决方案,以及它们的优缺点和适用场景。第三部分(7~8章):第7章深入讲解了Android的控件框架,结合实际项目对重要控件的实现和使用逐一进行了分析,还包含Android 4.0界面开发的实践“精华”;第8章分析了Android的资源体系,剖析了Android底层对资源的处理。第四部分(9~13章):第9章讲解了Android的数据存储结构,以及不同数据存储模式的使用要点;第10章分析了Android的各种网络连接方式,涵盖NFC和基于WiFi的P2P连接等内容;第11章讲解了Android的定位服务、地址服务和地图服务的框架实现;第12章仔细分析了Android各种多媒体功能的实现机制;第13章对Android中比较有特色的一些模块的实现细节进行了分析。

2015-12-17

2016 恒生电子校园招聘笔试题

2016 恒生电子校园招聘笔试题

2015-12-17

2015 腾讯校园招聘技术类研发笔试题

2015 腾讯校园招聘技术类研发笔试题

2015-12-17

重构-改善即有代码的设计

本书清晰揭示了重构的过程,解释了重构的原理和最佳实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了70多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助你一次一小步地修改你的代码,从而减少了开发过程中的风险。

2015-12-14

2015 新浪微博校园招聘笔试题

2015 新浪微博校园招聘笔试题

2015-12-17

Mahout算法解析与案例实战

本书是一本经典的Mahout著作,原理与实战并重。不仅全面分析了Mahout算法库中不同模块中的各个算法的原理及其Mahout实现流程,而且每个算法都辅之以实战案例。此外,还包括4个系统级案例,实战性非常强。全书共11章分为三个部分:第一部分为基础篇(第1~2章),首先介绍了Mahout的应用背景、Mahout算法库收录的算法、Mahout的应用实例,以及开发环境的搭建;第二部分为算法篇(第3~7章),分析了Mahout算法库中不同模块的各个算法的原理以及Mahout实现流程,同时在每章书末含有每个算法的实战,让读者可以自己运行程序,感受程序运行的各个流程;第三部分为实战篇(第8~11章),通过对4个不同系统案例的分析讲解,让读者了解一个完整的云平台系统的各个流程,从需求到系统框架到系统功能再到功能开发。

2015-12-16

Eclipse Maven插件

eclipse-maven插件。官网并不提供 maven 插件的离线安装包,在网上搜一下maven 的离线安装即可。

2015-11-30

apache-maven-3.3.9-bin

Apache Maven 3.3.9 is the latest release and recommended version for all users. The currently selected download mirror is http://www.us.apache.org/dist/. If you encounter a problem with this mirror, please select another mirror. If all mirrors are failing, there are backup mirrors (at the end of the mirrors list) that should be available. You may also consult the complete list of mirrors.

2015-11-30

算法艺术和信息学竞赛

本书即为信息学界著名的两本“黑书”之一(另一本为吴文虎、王建德编著的实用算法的分析与程序设计,这本书现在已经在市场是接近绝版,但是在网上能找到电子书·如果想找到替代品的话可以找另外一本由吴文虎教授以及王建德先生编著的黑书《新编实用算法的分析与程序设计》,由北京邮电出版社2008年出版,此书与原版表面内容相差较大,但实质没有太大差别)。

2015-12-14

【4】2015 网易游戏校园招聘运维开发岗笔试题

第一部分2015 【4】2015 网易游戏校园招聘运维开发岗笔试题

2015-11-27

【5】2015 网易游戏校园招聘笔试题游戏插件研发岗

第一部分2015 【5】2015 网易游戏校园招聘笔试题游戏插件研发岗

2015-11-27

Better bitmap performance with Roaring bitmaps

Better bitmap performance with Roaring bitmaps

2023-03-06

Encoded Bitmap Indexing for Data Warehouses

Encoded Bitmap Indexing for Data Warehouses

2023-03-04

数仓规范化-菜鸟数据模型管理实践

数仓规范化—菜鸟数据模型管理实践 PDF

2023-02-19

美团外卖离线数仓建设实践

美团外卖数据仓库主要是收集各种用户终端业务、行为数据,通过统一口径加工处理,通过多种数据服务支撑主题报表、数据分析等多种方式的应用。数据组作为数据基础部门,支持用户端、商家端、销售、广告、算法等各个团队的数据需求。本文主要介绍美团外卖离线数仓的历史发展历程,在发展过程中碰到的痛点问题,以及针对痛点做的一系列优化解决方案

2023-02-19

log4j所需jar包

Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

2016-01-20

jdom-2.0.6.zip

JDOM是一种使用 XML(标准通用标记语言下的一个子集) 的独特 Java 工具包,。它的设计包含 Java 语言的语法乃至语义。

2016-01-03

AspectJ所需Jar包

AspectJ 1.8.8 版本 更新时间 2016/02/12

2016-02-12

Hadoop实战中文版

为云计算所青睐的分布式架构,Hadoop是一个用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,是谷歌实现云计算的重要基石。《Hadoop实战》分为3个部分,深入浅出地介绍了Hadoop框架、编写和运行Hadoop数据处理程序所需的实践技能及Hadoop之外更大的生态系统。  《Hadoop实战》适合需要处理大量离线数据的云计算程序员、架构师和项目经理阅读参考。

2015-12-25

Spring-Jar-4.2.4

Spring应用开发使用的全部jar包: Spring-core.jar Spring-context.jar Spring-expression.jar Spring-beans.jar commons-logging.jar

2016-01-28

Apache Spark源码剖析

《Apache Spark源码剖析》以Spark 1.02版本源码为切入点,着力于探寻Spark所要解决的主要问题及其解决办法,通过一系列精心设计的小实验来分析每一步背后的处理逻辑。

2016-11-12

Android开发秘籍

作为google 开发的全新开源手机平台,android 发展如火如荼。本书通过大量代码秘诀全面详尽地讲述了android 开发技术。从activity 和intent 基础知识开始,到线程、服务、broadcast receiver 以及alert 警告框,再到用户界面布局、界面事件、多媒体技术、硬件接口、网络通信、数据存储方法、基于位置的服务、android 高级开发技术和调试,书中贯穿了经android 设备或者模拟器测试的可用范例,将功能丰富、结构复杂的android 应用程序清晰完美地展现给开发人员。 对于那些有志于android 应用开发的人员来说,本书是难得的参考读物。

2015-12-17

mysql-connector-java-5.1.38

mysql驱动jar包 峰

2016-01-21

大型网站技术核心原理与案例分析

本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web 安全、系统发布、运维监控等在内的大型网站开发全景视图。 本书不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念。

2015-12-25

Shell脚本学习指南

《Shell脚本学习指南》将告诉你这些有关UNIX主流工具的知识。除此之外,《Shell脚本学习指南》还会帮助你解决UNIX命令与标准的差异。 作者熟知UNIx程序使用的基本技巧与操作上细微的差异。他们不但会告诉你如何构建一个绝佳的脚本,还会教你如何避免落入让你功亏一篑的陷阱。有了《Shell脚本学习指南》,你可以节省很多力气。 我们要学习的不只是如何写出有用的Shell脚本,你还得了解如何迅速、确实地定制Shell,让程序的可移植性达到最佳状态,脱离对特定系统的依赖。这些技巧对任何操作与维护UNIX及Linux系统的人而言都很重要。《Shell脚本学习指南》所提供的知识,将可以帮助你掌握基本的Shell脚本编写技巧。Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。对uNIx的用户与系统管理者而言

2016-05-28

Android应用开发揭秘

国内第一本基于Android 2.0的经典著作,5大专业社区联袂推荐,权威性毋庸置疑! 本书内容全面,不仅详细讲解了Android框架、Android组件、用户界面开发、游戏开发、数据存储、多媒体开发和网络开发等基础知识,而且还深入阐述了传感器、语音识别、桌面组件开发、Android游戏引擎设计、Android应用优化、OpenGL等高级知识,最重要的是还全面介绍了如何利用原生的C/C++(NDK)和Python、Lua等脚本语言(Android Scripting Environment)来开发Android应用;本书实战性强,书中的每个知识点都有配精心设计的示例,尤为值得一提的是,它还以迭代的方式重现了各种常用的Android应用和经典Android游戏的开发全过程,既可以以它们为范例进行实战演练,又可以将它们直接应用到实际开发中去。

2015-12-17

Redis 入门指南

《Redis入门指南》是2013年人民邮电出版社出版的图书,作者是李子骅。该书是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久化、优化Redis存储空间等内容,并采用任务驱动的方式介绍了PHP、Ruby、Python和Node.js这4种语言的Redis客户端库的使用方法。

2017-06-02

Java 1.7 中文帮助文档

Java 1.7 中文帮助文档.

2015-12-27

精通Spring

本书深入剖析了当前流行的轻量级开发框架Spring技术。本书总共分成3部分。第一部分,重点阐述Spring的架构。这部分内容循序渐进带领开发者进入Spring中。主要在于阐述Spring IoC和Spring AOP。第二部分,重点阐述Spring的使用。这部分内容从简化Java/J2EE的角度出发,从J2EE平台各个技术层面分析、并给出大量的研究实例,对Spring提供的API进行阐述。主要在于阐述Spring对J2EE API提供的服务抽象。第三部分,重点阐述Spring高级专题。这部分内容重点对视图技术进行了研究,因为对于开发Web应用而言,前端界面的开发往往工作量很大。因此,使用合理的视图技术开发Web应用对于项目的成功与否很关键。

2016-02-07

dubbo-admin-2.5.4

dubbo-admin

2016-04-26

2015 搜狗校园招聘研发类笔试题

2015 搜狗校园招聘研发类笔试题

2015-12-22

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除