android源码为什么有些函数没有函数体
比如这个回答:呃,这是JAVA的基础知识,这个方法是native method,定义的时候不提供实现体,具体的实现由native做到的,比如说java里很多和jvm以及系统交互的class method就是带有native关键字,具体实现可能是虚拟机提供,也可能是JNI调用的外部实现。如果你接触过NDK开发的话,就会碰到大量的native meth...
2024-01-10Android点击事件派发机制源码分析
概述 一直想写篇关于Android事件派发机制的文章,却一直没写,这两天刚好是周末,有时间了,想想写一篇吧,不然总是只停留在会用的层次上但是无法了解其内部机制。我用的是4.4源码,打开看看,挺复杂的,尤其是事件是怎么从Activity派发出来的,太费解了。了解Windows消息机制的人会发现,觉得A...
2024-01-10Android消息循环机制源码深入理解
Android消息循环机制源码前言:搞Android的不懂Handler消息循环机制,都不好意思说自己是Android工程师。面试的时候一般也都会问这个知识点,但是我相信大多数码农肯定是没有看过相关源码的,顶多也就是网上搜搜,看看别人的文章介绍。学姐不想把那个万能的关系图拿出来讨论。近来找了一些关于an...
2024-01-10Java实现Flappy Bird游戏源码
本文实例为大家分享了Java实现Flappy Bird游戏的具体代码,供大家参考,具体内容如下1.首先在mainActivity.xml中放置一个View,ID为viewDraw2.开始编程,程序中自定义一个View类的子类,与viewDraw关联,程序除了放置如一个view控件,没有其他控件,程序上面的所有图片都是通过控制canvas画图实现3.游戏是依据f...
2024-01-10android异步消息机制 源码层面彻底解析(1)
Handler、Message、Loopler、MessageQueen首先看一下我们平常使用Handler的一个最常见用法。Handler handler =new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); //这里进行一些UI操作等处理 } new Thread(new Runnable() { @Override public void run...
2024-01-10简单实现Android学生管理系统(附源码)
本文实例讲述了Android实现学生管理系统,分享给大家供大家参考。具体如下:(1)管理系统实现的功能主要是:学生、教师的注册登录,和选课,以及修改学生的成绩等基本简单的功能,最主要的是实现一些Dialog的使用。 界面如下:(2)主要代码如下:(个人留作笔记,如需要完整代码,在最...
2024-01-10Android编程实现泡泡聊天界面实例详解(附源码)
本文实例讲述了Android编程实现泡泡聊天界面的方法。分享给大家供大家参考,具体如下:昨天写了个界面,实现了Android泡泡聊天界面。运行结果如下,点击发送按钮,屏幕就显示Text的内容。我也是在网上的一份源码的基础上更改的,整个泡泡界面的实现要点:(1)主界面其实就是一个List View(2...
2024-01-10Android10.0实现本地音乐播放(附源码下载)
目录1.概述2.效果截图3.读取本地音乐以及保存歌曲4.使用Service实现后台播放5.使用Notification通知栏通知6.全屏显示7.设置歌曲选中后的样式1.概述本篇文章仅是Android小白在写一个小程序,内容仅供参考,有很多不足之处希望各位大神指出,文章末尾有整个项目的下载,不需要币,只求帮你们解决到问题...
2024-01-10iOS源码阅读必备知识之Tagged Pointer
Tagged Pointer 介绍苹果对于Tagged Pointer特点的介绍:Tagged Pointer专门用来存储小的对象,例如NSNumber和NSDateTagged Pointer指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。所以,它的内存并不存储在堆中,也不需要malloc和free。在内存读取...
2024-01-10【Java】Android事件分发机制二:核心分发逻辑源码解析
首页专栏java文章详情0Android事件分发机制二:核心分发逻辑源码解析一只修仙的猿发布于 今天 14:48 前言很高兴遇见你~在上一篇文章 Android事件分发机制一:事件是如何到达activity的? 中,我们讨论了触摸信息从屏幕产生到发送给具体 的view处理的整体流程,这里先来简单回顾一下:触摸...
2024-01-10Android从源码的角度彻底理解事件分发机制的解析(上)
其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识。也有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引入了一个滑动菜单的功能,ListView就不能滚动了?为什么图片轮...
2024-01-10Ribbon重试策略RetryHandler的配置与源码分析
在《OpenFeign与Ribbon源码分析总结》这篇文章中,我们只是简单地了解Ribbon的重试机制的实现原理,本篇我们再对Ribbon的重试机制地实现做详细分析,从源码分析找出我们想要地答案,即如何配置Ribbon实现调用每个服务的接口使用不一样的重试策略,如配置失败重试多少次,以及自定义重试策略RetryHandler...
2024-01-10AngularJS实现的2048小游戏功能【附源码下载】
本文实例讲述了AngularJS实现的2048小游戏功能。分享给大家供大家参考,具体如下:先来看看运行效果图:具体代码如下:index.html:<!DOCTYPE html><html><head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="2048.css" rel="external nofollow" > <script src="angular.min.js"></script><!-- 1.4.6...
2024-01-10PolarDB并行查询引擎源码深度解析
PolarDB与开源MySQL及其它类MySQL的产品相比,除了计算与存储分离的先进架构之外,另外一个最核心的技术突破就是开发了其它类MySQL产品没有的并行查询引擎,通过并行查询引擎,PolarDB除了保持自身对OLTP应用的优势之外,还对OLAP的支持能力有了一个质的飞越,遥遥领先于其它类MySQL产品。用户越来越...
2024-01-10Java源码解析阻塞队列ArrayBlockingQueue介绍
Java的阻塞队列,在实现时,使用到了lock和condition,下面是对其主要方法的介绍。首先看一下,阻塞队列中使用到的锁。/** Main lock guarding all access **/ final ReentrantLock lock; /** Condition for waiting takes **/ private final Condition notEmpty; /** Condition for waiting puts **/ private final Co...
2024-01-10【安卓】字节跳动总监对Android组件化的最佳实战总结 ,覆盖整个互联网公司(附源码)
首页专栏android文章详情0字节跳动总监对Android组件化的最佳实战总结 ,覆盖整个互联网公司(附源码)李先森发布于 38 分钟前背景组件化作为Android客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。每个大厂内部的各个Android开发团队也在尝试和实践不同的组件化方案...
2024-01-10完结篇|TiDBBinlog源码阅读系列文章(九)同步数据到下游
上篇文章介绍了用于将 binlog 同步到 MySQL / TiDB 的 Loader package,本文往回退一步,介绍 Drainer 同步到不同下游的机制。TiDB Binlog(github.com/pingcap/tidb-binlog)用于收集 TiDB 的 binlog,并准实时同步给下游。 同步数据这一步重要操作由 Drainer 模块支持,它可以将 binlog 同步到 TiDB / MySQL / Kafka / File (增量备份...
2024-01-10Redis动态字符串SDS源码学习
参考redis数据结构:sds动态字符串redis源码解读(一):基础数据结构之SDS1. 用Simple Dynamic String 取代 C 默认的 char* 类型Redis没有直接使用c语言的字符串,而是自己定义了一个字符串数据结构,SDS作为默认的字符串,我们设置的所有键值基本都是SDSC语言字符串特点:每次计算字符串长度strlen(s)的时间复...
2024-01-10柔性数组(Redis源码学习)
柔性数组(Redis源码学习)1. 问题背景在阅读Redis源码中的字符串有如下结构,在sizeof(struct sdshdr)得到结果为8,在后续内存申请和计算中也用到。其实在工作中有遇到过这种 struct结构 + 应用数据的情况,但没有意识到自己使用的是柔性数组,在学习阅读Redis代码中,遇到该方法,就特总结记录之。/* * 类...
2024-01-10ASM源码学习之ClassReader、ClassVisitor与ClassWriter详解
ASMASM是Java中比较流行的用来读写字节码的类库,用来基于字节码层面对代码进行分析和转换。在读写的过程中可以加入自定义的逻辑以增强或修改原来已编译好的字节码,比如CGLIB用它来实现动态代理。ASM被设计用于在运行时对Java类进行生成和转换,当然也包括离线处理。ASM短小精悍、且速度很快,...
2024-01-10Android二维码开发学习教程
二维码其实有很多种,但是我们常见的微信使用的是一种叫做QRCode的二维码,像下面这样的,可以放心的扫,这只是我的博客主页链接啦: 关于QR码编码的二维码,我们要知道几个特点: 1. 扫描时可以从各个角度去扫,也就是旋转多少度都没关系,不信吗?下次去肯德基买单试试咯。 2. 二维码...
2024-01-10redis源码学习01:字符串sds
前言本文是redis源码关于字符串处理的学习笔记,欢迎指正。redis版本是5.0.5,redis的功能、用途及性能我就不做赘述了。正文进入正题,redis提供了自己的字符串存储及相关操作,源码文件在sds.h和sds.c里。在学习代码的过程中发现redis使用了一个比较巧妙的设计,redis里存储字符串不是简单的使用C语...
2024-01-10Koa源码解析,一起学习koa
前言本文是我在阅读 Koa 源码后,并实现迷你版 Koa 的过程。如果你使用过 Koa 但不知道内部的原理,我想这篇文章应该能够帮助到你,实现一个迷你版的 Koa 不会很难。本文会循序渐进的解析内部原理,包括:基础版本的 koacontext 的实现中间件原理及实现文件结构application.js: 入口文件,里面包...
2024-01-10PostgreSQL源码学习(1)Page页
The Internals of PostgreSQL中对于存储的描述http://www.interdb.jp/pg/pgsql01.html#_1.2.每个表或索引都作为一个page数组存储于物理数据文件中(page大小默认为8k,编译时可以指定),单个的表数据文件中包含多个page页(默认单个表文件最大1G,超过1G后会新建同名+“.1”后缀的数据文件,依次累加,同样在编译时可...
2024-01-10redis源码学习02:跳跃表插入结点
本文是本人在学习redis源码时的笔记,本文主要是对跳跃表插入结点代码的中文注释,如有错误欢迎指正。有关跳跃表的原理可以上网搜材料,有很多。首先看下redis源码里有关跳跃表的相关结构体:typedef struct zskiplistNode { // 跳跃表节点 sds ele; // zset元素 double score; // zset分值 struct zsk...
2024-01-10