摘要: 最近研究webview与js交互,看了几个开源库实现,感觉不尽如人意,存在主要问题是,耦合较高,使用不够简洁,后来参考Uri设定规则,格局Uri类似协议自定义了类似的js交互协议 比较简洁,自定义协议内容样式如:jsbridge://android-app/method123?a=123&b=345 阅读全文
posted @ 2018-05-28 15:12 HappyCode002 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 高效程序有两个重要指标:速度,内存,移动app中内存比重要多一些,为此在速度相差不是很大的时候,优先考虑内存,container是一个重要部分,对此google对一些原java容器设计新的容器进行替换Map结构。在写程序时使用Map类大部份情况都会用到,尤其是HashMap使用频率相当高,使用Has 阅读全文
posted @ 2016-12-08 20:28 HappyCode002 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 内存回收机制对于app性能优化中比较重要部分,我们要做好优化工作,Android GC工作情况我们需要熟知, 因此整理了一下关于GC知识点,主要分为Dalvik与ART两部分 Dalvik堆内存结构: Dalvik虚拟机的堆划分为Active堆和Zygote堆,Dalvik虚拟机的堆最初是只有一个, 阅读全文
posted @ 2016-11-22 20:31 HappyCode002 阅读(344) 评论(0) 推荐(0) 编辑
摘要: spark批处理模式: receiver模式:接收数据流,负责数据的存储维护,缺点:数据维护复杂(可靠性,数据积压等),占用计算资源(core,memory被挤占) direct模式:数据源由三方组件完成,spark只负责数据拉取计算,充分利用资源计算 window计算: def windowApi 阅读全文
posted @ 2020-04-29 13:51 HappyCode002 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 简述:redis 单实例,单进程,当线程处理用户请求数据,基于内存对数据处理。Redis默认分为0-16号库,每个库互相隔离(数据不共享) 基础复习: 1,系统中的每个进程对应有一个fd,通过网卡连接系统的每个连接会产生一个fd 2,一个进程会有自己内存工作空间称之为用户空间,kernel工作空间称 阅读全文
posted @ 2020-01-15 15:59 HappyCode002 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 简述:zookeeper分布式协调服务,节点数据存储在内存,高吞吐,低延时,zkserver cluster组建zookeeper service保证自身高可用 zookeeper数据模型为类文件目录树结构的文件系统,node节点可以存放1m数据(主要用于存储同步数据及节点元数据,注:数据存储在内存 阅读全文
posted @ 2020-01-11 15:08 HappyCode002 阅读(156) 评论(0) 推荐(0) 编辑
摘要: Spark Components: 角色组成: Driver : 由SparkContext创建,运行在main方法,负责资源申请与调度,程序分发,接收每个分区的计算结果 Cluster manager: 获取集群内资源(模式standalone ,Mesos, YARN)的外部服务 Worker 阅读全文
posted @ 2019-10-30 09:20 HappyCode002 阅读(874) 评论(0) 推荐(0) 编辑
摘要: 架构图: 组成:SQL语句到任务执行需要经过解释器,编译器,优化器,执行器 解释器:调用语法解释器和语义分析器将SQL语句转换成对应的可执行的java代码或业务代码 ​ 编译器:将对应的java代码转换成字节码文件或jar包 ​ 优化器:从SQL语句到java代码的解析转化过程中需要调用优化器,进行 阅读全文
posted @ 2019-10-26 11:12 HappyCode002 阅读(446) 评论(0) 推荐(0) 编辑
摘要: HBase架构: Client 访问HBase的接口并维护cache来加快对HBase的访问 Zookeeper ​ 1、保证任何时候,集群中只有一个活跃master ​ 2、存储所有region的寻址入口 ​ 3、实时监控region server的上线和下线信息,并实时通知master ​ 4、 阅读全文
posted @ 2019-08-24 18:10 HappyCode002 阅读(839) 评论(0) 推荐(0) 编辑
摘要: HDFS架构 主从(Master/Slaves)架构 由一个NameNode和一些DataNode组成 NameNode负责存储和管理文件元数据,并维护了一个层次型的文件目录树 DataNode负责存储文件数据(block块),并提供block的读写 DataNode与NameNode维持心跳,并汇 阅读全文
posted @ 2019-08-24 18:09 HappyCode002 阅读(637) 评论(0) 推荐(0) 编辑
摘要: YARN架构 ResourceManager 负责整体资源的管理 (Scheduler and ApplicationsManager)NodeManager 向ResourceManager通过心跳汇报自己的资源情况container容器 资源申请的基本单位(包含指定cpu, memory, di 阅读全文
posted @ 2019-08-24 18:09 HappyCode002 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 协程(又名纤程),轻量级线程(建立在线程基础上,属于用户态调用),非阻塞式编程(像同步编写一样),在用户态内进行任务调度,避免与内核态过多交互问题,提高程序快速响应。协程使用挂起当前上下文替代阻塞,被挂起后的协程可以去运行其它active task,即协程可以被复用,相比于线程,减少了线程资源的大量 阅读全文
posted @ 2019-06-24 10:30 HappyCode002 阅读(2363) 评论(0) 推荐(1) 编辑
摘要: 一般类形式: class Person(var name: String){//构造函数放在类头部 var age = 1 var fulName: String var address = "china" init {//初始化模块,与第一构造函数同时执行 fulName = name+"_hah 阅读全文
posted @ 2019-04-15 17:29 HappyCode002 阅读(1795) 评论(0) 推荐(0) 编辑
摘要: Kotlin中函数 3种表达形式: 一般函数: fun sum(a: Int, b: Int): Int { return a+b } 简化函数为表达式形式: fun sum2(a: Int, b: Int): Int = a + b //函数表达式 fun max(a: Int, b: Int): 阅读全文
posted @ 2019-04-15 13:40 HappyCode002 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 一:基础要点 //常量定义 valval arg_a1: Int = 1 //变量定义varvar arg_a2 = 5 // 系统自动推断变量类型为Int备注:kotlin 定义变量必须给定初始值,如延迟初始值,需要特殊声明! 空对象处理//可null对象声明 //类型后面加?表示可为空 var 阅读全文
posted @ 2018-12-17 14:54 HappyCode002 阅读(378) 评论(0) 推荐(0) 编辑
摘要: ViewModel: 负责为关联UI(activity/fragment)进行数据管理,业务逻辑处理。不直接持有view引用,不对UI进行访问调用操作 对外通过暴露Livedata方式响应处理结果 LiveData: 可感知组件生命周期、被观察的数据源,在数据发生改变时进行通知提醒 ViewMode 阅读全文
posted @ 2018-11-12 14:56 HappyCode002 阅读(1335) 评论(0) 推荐(0) 编辑
摘要: android browser支持支持Intent Scheme URL语法的可以在wrap页面加载或点击时,通过特定的intent uri链接可以打开对应app页面,例如 <a href="intent://whatsapp/#Intent;scheme=myapp;package=com.xia 阅读全文
posted @ 2017-08-17 10:07 HappyCode002 阅读(9569) 评论(0) 推荐(0) 编辑