首页 文章 精选 留言 我的

精选列表

搜索[开发者预览],共10000篇文章
优秀的个人博客,低调大师

Android 开发者应该使用 FlatBuffers 替代 JSON ?

你可能会问,既然我们已经有很标准的JSON以及转换库比如GSON和Jackson,为什么还要使用新的工具呢? 不妨先试一下FlatBuffers,然后你就会发现它比JSON快得多。 FlatBuffers是什么? FlatBuffers是一个高效的跨平台序列化类库,可以在C++、C#、C、Go、Java、JavaScript、PHP和Python中使用。是Google开发的,是为了应用在游戏开发,以及其他注重性能的应用上。 为什么要使用FlatBuffers? 不需要解析/拆包就可以访问序列化数据 — FlatBuffers与其他库不同之处就在于它使用二进制缓冲文件来表示层次数据,这样它们就可以被直接访问而不需解析与拆包,同时还支持数据结构进化(前进、后退兼容性)。 内存高效速度快 — 访问数据时只需要访问内存中的缓冲区。它不需要多余的内存分配(至少在C++是这样,其他语言中可能会有变动)。FlatBuffers还适合配合 mmap或数据流使用,只需要缓冲区的一部分存储在内存中。访问时速度接近原结构访问,只有一点延迟(一种虚函数表vtable),是为了允许格式升级以 及可选字段。FlatBuffers适合那些花费了大量时间和空间(内存分配)来访问和构建序列化数据的项目,比如游戏以及其他对表现敏感的应用。可以参 考这里的基准。 灵活 — 由于有可选字段,你不但有很强的升级和回退兼容性(对于历史悠久的游戏尤其重要,不用为了每个版本升级所有数据),在选择要存储哪些数据以及设计数据结构时也很自由。 轻量的code footprint — FlatBuffers只需要很少量的生成代码,以及一个表示最小依赖的很小的头文件,很容易集成。细节上可以看上面的基准页。 强类型 — 编译时报错,而不需要自己写重复的容易出错的运行时检查。它可以自动生成有用的代码。 使用方便 — 生成的C++代码允许精简访问与构建代码。还有可选的用于实现图表解析、类似JSON的运行时字符串展示等功能的方法。(后者比JSON解析库更快,内存效率更高) 代码跨平台且没有依赖 — C++代码可以运行在任何近代的gcc/clang和VS2010上。同时还有用于测试和范例的构建文件(Android中.mk文件,其他平台是cmake文件)。 都有谁使用FlatBuffers? BobbleApp,印度第一贴图App。我们在BobbleApp中使用FlatBuffers后App的性能明显增强。 Cocos2d-x,第一开源移动游戏引擎,使用FlatBuffers来序列化所有的游戏数据。 Facebook使用FlatBuffers在Android App中进行客户端服务端的沟通。他们写了一篇文章来描述FlatBuffers是如何加速加载内容的。 Google的Fun Propulsion Labs在他们所有的库和游戏中大量使用FlatBuffers。 App性能有多大提高? 解析速度 解析一个20KB的JSON流(这差不多是BobbleApp的返回大小)需要35ms,超过了UI刷新间隔也就是16.6ms。如果解析JSON的话,我们就在滑动时就会因为要从磁盘加载缓存而导致掉帧(视觉上的卡顿)。 解析器初始化 一个JSON解析器需要先构建字段映射再进行解析,这会花100ms到200ms,很明显的拖缓App启动时间。 垃圾回收 在解析JSON时创建了很多小对象,在我们的试验中,解析20kb的JSON流时,要分配大约100kb的瞬时存储,对Java内存回收造成很大压力。 FlatBuffers vs JSON 我尝试使用FlatBuffers和JSON解析4mb的JSON文件。 FlatBuffers花了1-5ms,JSON花了大约2000ms。在使用FlatBuffers期间Android App中没有GC,而在使用JSON时发生了很多次GC。在使用JSON时UI完全卡住,所以真实使用时只能在后台线程进行解析。 如何使用FlatBuffer呢? 我在我的GitHub中写了一个示例,里面手把手教你如何使用FlatBuffer。 文章转载自 开源中国社区[http://www.oschina.net]

优秀的个人博客,低调大师

iOS免费开发者账号真机调试

亲测可用很久了,总结一下给童鞋用。 Xcode -> Preferences Paste_Image.png  2.选中添加的账号,打开右下角View Details 3.创建调试签名,对iOS Development点击Create,至此Xcode配置完成. Paste_Image.png 4.连接真机,打开一个工程。Build Settings ->code signing Entitlements为空 ->Code signing Identity选择iOS Developer ->Provisioning Profile选择Automatic Paste_Image.png 5.调试设备选择插入的iPhone, 查看General,修改下Bundle Identifier的内容,例如加个后缀,确保改值未被其他账户使用过,Team选择刚添加的账号,然后开始Fix issue(如果没有黄色警告,可以直接run)fix的过程比较久,如果超时了,重试fix。成功后,黄色警告消失。此时可以run了。 Paste_Image.png 6.iOS9 或更高版本,第一次run可能会Xcode会告诉你因为安全问题,该app无法运行,此时可以看到iPhone里已有app,证书信任下.设置 -> 通用 -> 描述文件与设备管理 -> 开发商应用,自己刚才注册的账号 - > 信任"XXX账号" 7.Xcode配置账号后,也可以用instrument查看真机上run的所有进程 打开'instrument' Paste_Image.png 选好设备和 进程(比如我选了微信) ,选模版(Time profile),没有符号表,看不到具体的函数费时。内存也看不到. 文/蓝新(简书作者) 原文链接:http://www.jianshu.com/p/540e722b8eff 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

优秀的个人博客,低调大师

Hadoop高级培训课程大纲-开发者版

一、课程概述 本次培训课程主要面向大数据系统管理人员和开发设计人员,基于开源社区大数据应用最活跃的Hadoop和HBase技术框架,围绕分布式文件存储(HDFS)、分布式并行计算(Map/Recue)和非关系型数据库(NoSql)三个大数据核心应用展开,旨在帮助培训对象建立起完整的大数据理论基础框架和实践操作能力。主要课程内容包括:1.大数据应用发展史;2.分布式文件系统HDFS原理与架构、HDFS系统管理、HDFS开发与设计;3.分布式并行计算框架Map/Reduce工作原理与架构、Map/Reduce任务运行监控、Map/Reduce任务调度、Map/Redcue开发与设计;4.非关系型数据库HBase逻辑架构、HBase物理存储、HBase关键流程和算法、HBase开发与设计;5.大数据应用案例分析:金融、电信、互联网、电商平台 二、课程大纲 日程 课程模块 课程内容 第1天 大数据概述 什么是大数据? Hadoop概要 Hadoop生态系统介绍 Hadoop集群安装与部署 Hadoop独立部署 Hadoop伪分布式安装部署 Hadoop集群安装与部署 Hadoop配置参数管理 第2天 HDFS架构与原理 HDFS体系结构 HDFS读写过程-串行写与并行读 HDFS 管理接口-HDFS shell && HDFS Web Interface HDFS开发与设计 HDFS API接口介绍 HDFS Java接口实例 HDFS开发实例-基于HDFS实现云盘系统 第3天 Map/Reduce架构与原理 Map/Reduce体系结构 Map/Reduce管理接口-Map/Reduce shell && Map/Reduce Web Interface Map/Reduce开发与设计 Map/Reduce API接口介绍 Map/Reduce Java开发实例 第4天 HBASE架构与原理 HBASE体系结构 HBASE物理存储 HBASE关键流程算法 HBASE管理接口-HBase Shell&& HBase Web Interface HBASE与RDBMS的比较 HBASE开发与设计 HBASE API接口介绍 HBASE Java接口实例 HBASE优化专题-海量数据写入优化 第5天 Hadoop辅助支持工具 Hive-提供给SQL程序员最好的礼物 Pig-通过脚本实现Map/Reduce Sqoop-Hadoop时代的ETL 三、服务支持 Hadoop培训交流群:293503507 培训邀请电话:13718542435 作者:张子良 出处:http://www.cnblogs.com/hadoopdev 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

优秀的个人博客,低调大师

Hadoop开发者第四期

全文下载: http://ishare.iask.sina.com.cn/f/14487230.html 目录 mooon 1 海量数据处理平台架构演变 4 计算不均衡问题在Hive中的解决办法 15 Join算子在Hadoop中的实现 20 配置Hive元数据DB为PostgreSQL 32 ZooKeeper权限管理机制 36 ZooKeeper服务器工作原理和流程 39 ZooKeeper实现共享锁 47 Hadoop最佳实践 50 通过Hadoop的API管理Job 54 Hadoop集群的配置调优 60 Hadoop平台的Java规范及经验 63 MapReduce开发经验总结 67 Hadoop中的tar命令的实现 70 Hadoop技术论坛运营数据分享 92

优秀的个人博客,低调大师

hadoop开发者第二期

全文下载: http://ishare.iask.sina.com.cn/f/7401946.html 目录 1、Hadoop 业界资讯......................................... - 1 - 2、Nutch + Hadoop 构建商用分布式搜索引擎的问题探究 ....... - 5 - 3、支持自定义爬虫的Nutch segment 文件存储接口改写.......... - 11 - 4、Nutch 中mapreduce 应用的几个特殊点 .................... - 14 - 5、Java RMI + Lucene 构建分布式检索应用初探 .............. - 17 - 6、一对多的表关联在map

优秀的个人博客,低调大师

【Dubbo 开发者日北京站】这可能是微服务开发者们最关注的技术盛宴

亮点解读 Dubbo 2019 将走向哪里?现场围观 Dubbo Roadmap 2019 Java 劝退师小马哥现场演绎《Apache Dubbo 服务自省设计与实现》 开源项目:Spring Cloud Alibaba/Seata/Sentinel/Nacos 等各路技术专家技艺切磋 若您无法来现场,参与调研,有机会免费拿《码出高效,Java 开发手册》等奖品。 报名链接:点击这里预约直播(云栖社区):点击这里

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册