首页 文章 精选 留言 我的

精选列表

搜索[客户端],共10008篇文章
优秀的个人博客,低调大师

xtools-boot一款基于JDK25,SpringBoot4的通用Spring工具库

MethodArgumentTypeMismatchExceptionHandlerMethodValidationExceptionMethodArgumentNotValidExceptionHttpMessageNotReadableExceptionBizErrorBizWarningBizPublicKeyErrorUnauthorizedErrorHttpRequestMethodNotSupportedExceptionNoResourceFoundExceptionClientAbortExceptionExceptionController抛出异常异常类型参数类型不匹配参数校验异常参数校验异常请求参数格式错误业务异常业务警告公钥错误认证异常请求方法不支持资源未找到客户端断开默认异常处理返回

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

这样才能正确解锁MaxCompute客户端

大数据计算服务(MaxCompute,原名ODPS)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。MaxCompute主要服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。随着社会数据收集手段的不断丰富及完善,越来越多的行业数据被积累下来。数据规模已经增长到了传统软件行业无法承载的海量数据(百GB、TB、乃至PB)级别。在分析海量数据场景下,由于单台服务器的处理能力限制,数据分析者通常采用分布式计算模式。但分布式的计算模型对数据分析人员提出了较高的要求,且不易维护。使用分布式模型,数据分析人员不仅需要了解业务需求,同时还需要熟悉底层

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

Android客户端.So 精简策略

/** * Created by chenchangjun on 17/10/27. */ 1..So 理论基础 首先介绍一下 目前所有手机上 .So 的指令集 Android系统目前支持以下七种不同的CPU架构,每一种都关联着一个相应的ABI。而架构上对应的指令集是以下几种 Intel 64 指令集在 x86基础上扩展的(x86指令集有两种CPU位,既有32位的,也有64位的.) armabi 是针对旧的或者普通的ARM v5 CPU. armabi-v7a 是针对ARM v7 CPU (是针对有浮点运算或高级扩展功能的arm cpu). arm64-v8a 是针对最新的 ARM v8a CPU的(就是在MIPS64架构上增加了ARMv7). 安卓这些固定平台的应用通常都编译成ARM处理器的程序,不全都会编译成Intel或者MIPS处理器的程序。 为了解决这个问题,Intel和MIPS要使用特殊的转换软件把ARM的指令转换成他们处理器使用的指令。这当然是会降低性能的。 2.项目问题解决 2.1 思路分析 目前项目中的jniLib是这样的,相当冗余. image.png 思路是这样的 armabi指令集是全arm平台(包括armV7 armv8,以及x86,x86_64),都兼容的 指令集. armabi-v7a 是针对有浮点运算或高级扩展功能的arm cpu,也就是armabi的高性能版本. Android 5.0+同时支持32位与64位ABI的.so. 有arm64-v8a就用,没有就fallback到armeabi-v7a或armeabi. arm64-v8a 64位指令集,运行在64位手机cpu上,目前主流cpu都已经是64位. 所以说: 为了尽量兼容市面所有手机类型, 尽可能减少crash几率. 所以,ARM7, ARM8设备能够向下兼容ARM5的SO,也就是说只打包armabi下的so即可 2.2 调研第三方lib库 为了验证这个导论, 我反编译了一些流行app文件. 反编译了 微博 的jniLib中的 文件. 只用了 armabi的兼容包. image.png 反编译 微信 他们只用了armabi的兼容包,但是里面有_v7.so后缀的 高性能包,提高性能. image.png 反编译 淘宝 只用了 armabi的兼容包. image.png 第三方总结 这里, 都是用了 armeabi包下的.so . 不同的是, 有的他们在这个文件夹下的.so直接做了v7兼容包, 有的则可能选择了插件加载.so的方式. 相同的是, 都是只打包armeabi,提高最大的兼容性,并且减少apk体积. 3.实现,测试 3.1 代码实现 为了确保不出现问题(比如gradle引用第三方可能存在so),保留可选择性的打包.我没有删掉其他cpu指令集,而是用代码选择性编译,只保留armeabi进行编译. //'armeabi-v7a' // , ‘arm64-v8a’, ‘x86’, ‘x86_64’ ndk { abiFilters 'armeabi' } 3.2 结果对比 image.png 4. 总结 目前,可以只编译armeabi下的so,因为armeabi兼容所有的cpu架构. 理论上行得通, 主流app也都是这么做的. 至于,性能问题,so包影响程度不超过15%,性能问题 最大的还是在手机质量和运行内存.......... 5. 后期方向 5.1 只保留armabi-v7a或者arm64-v8a 随着Android 版本的提高(Android5.0以后的版本支持v7和v8指令集), 手机性能的提高(不管高通,麒麟还是联发科,目前主流cpu都是64位处理器. 也就是说支持v7和v8指令集.越来越没必要做ARM5和X86的支持了,以后就更没必要。 5.2 采用插件化 加载.so 包 我们可以采用 插件化加载.so .

资源下载

更多资源
Mario

Mario

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

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等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册