Android使用反射机制搭建MVVM架构 Java的反射机制是指在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java的反射机制。
安卓事件分发机制 此方法用来处理事件的分发,当事件传递给当前View时,首先就是通过调用此方法进行传递的,如果当前View所包含的子View的dispatchTouchEvent方法或者当前View的onTouchEvent方法处理了事件,通常返回true,表示事件已消费,如果没有处理则返回false。用来处理事件,如果事件被消费了,通常返回true,否则返回false,并再同一个事件序列中,当前View不会再接受到事件。事件是指用户与应用程序交互时产生的动作或操作,如触摸事件、手势事件、按键事件。
Android四大组件之Broadcast 可以在清单文件中的intent-filter中通过android:priority="100"设置优先级,值越大优先级越高,越先收到广播,而且还可以调用abortBroadcast拦截广播的继续传递,priority可选值为:-1000~1000之间。:同步执行的一种广播,发出广播后,同一时间只能有一个广播接收者能收到,当这个广播接收者的逻辑执行完后,才会传递到下一个接收者;:完全异步执行的广播,发出广播后,所有广播接收器几乎同时收到该广播通知。:当前App发出的广播其他App可收到,反之亦然。
Kotlin协程CoroutineScope异常处理 由于协程是结构化的,当子协程发送异常时,它会优先将异常委托给父协程处理,一直到根协程作用域或者顶级协程。我们在launch时,因为启动了一个新的协程作用域,发生异常时没有被直接捕获,再加上是Job而不是SupervisorJob,所以异常向上传递,其本身已是根协程,此时根协程中CoroutineContext并未携带CoroutineExceptionHandler,从而导致了直接异常。默认情况下,任意一个协程发生异常时都会影响到整个协程树,而异常的传递通常是双向的,也即协程会向子协程与父协程共同传递。
Kotlin中CoroutineScope协程 launch()和async()是CoroutineScope接口的扩展函数,继承了它的coutineContext来自动传播其上下文元素和取消性。挂起函数需要相互传递Continuation,每个挂起函数都要由另一个挂起函数或协程调用,这一切都是从协程构建器创建协程开始的,即作用域函数只能创建子协程,协程构建器能创建根协程或子协程(因为它通过实例调用可以存于普通函数中)。参数context:指定协程上下文。默认为空的上下文。参数start:指定协程启动模式。默认为可以立刻被调度的状态。
安卓开发面试刷题 1)可变性:一般都与String进行比较,因为String是不可变的,但是StringBuilder和StringBuffer是可变的。通过controller控制全局,同时将view和model的变化分开,对复杂混乱的项目结构,有明确的组织方式。4)运行Callable任务可以获取一个Future对象,通过Future对象可以拿到结果,也可以取消任务。并行:在同一时间段,发起多个请求访问不同资源,同时执行,互不影响,强调同一时间执行。并发:在同一时间,多个请求同时访问同一个资源,强调访问同一资源。
整数运算和浮点数运算中除数为0的区别 整数运算和浮点数运算中除数为0的区别:整数中除数为0: int d4 = 1 / 0; 报错:Exception in thread “main” java.lang.ArithmeticException: / by zero浮点数中除数为0: double d1 = 0.0 / 0; //NaN double d2 = 1.0 / 0; //Infinity double d3 = -1.0 / 0; //-Infinity整数运算在除数为0时会报错,而
Java学习之Linux篇 Java学习之Linux篇1. 绝对路径用什么符号表示?当前目录用什么表示?主目录用什么表示?切换目录用什么命令? 绝对路径: 如/etc/init.d 当前目录: ./ 上层目录: …/ 主目录: ~/ 切换目录: cd2. 怎么查看当前进程?怎么执行退出?怎么查看当前路径? 查看当前进程: ps 执行退出: exit 查看当前路径: pwd3. 查看文件有哪些命令?1. file 查看文件类型2. cat 命令显示文本 -n(会给所有行加上行号
Java基础篇 Java基础篇1. Java语言的特点 简单性:Java语言继承了C++语言的优点,去掉了C++中学习比较难的多继承、、指针等概念,所以学习起来更简单,使用也更方便。 面向对象:Java是一种面向对象的编程语言。 分布性:Java设计支持在网络上应用,它是分布式语言。所以只要用Java编写了一个程序,就可以到处应用,可以节省大量人力物力。 编译和解释性:Java编译程序生成字节码,而不是通常的机器码,这使得Java开发程序比用其他语言开发快很多。 稳健性:Java刚开始被设计
C++编程基础入门 C++编程基础入门1. 常量的定义方式1.1 #define宏常量 语法:#define 常量名 常量值 通常在文件上方定义,表示一个常量2.1 const修饰的变量 **语法:**const 数据类型 常量名 = 常量值 通常在变量定义前加关键字const,修饰该变量为常量,不可修改2. 标识符命名规则 **作用:**C++规定给标识符(变量、常量)命名时,有一套自己的规则 1.标识符不能是关键字 2.标识符只能由字母、数字、下划
OSI七层模型和TCP/IP五层模型 OSI七层模型和TCP/IP五层模型1.OSI七层模型的划分OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。如下图:2.TCP/IP五层模型TCP/IP五层协议和OSI七层模型的对应关系:...
关于SQL常见的问题 关于SQL常见的问题1.MySQL数据库中的char和varchar的主要区别是什么?哪个查询效率高?char有固定的长度;varchar属于可变长的字符类型。char是一种注重时间的存储方式;varchar则是重视空间的存储方式。总之,char定长,存储效率不如varchar,对于短数据的查询优于varchar。2.什么是SQL注入?如何防止SQL注入?SQL注入:利用现有应用程序,将恶意的SQL命令注入到后台数据库执行一些恶意的操作。防止策略: 1.严格限制web应用的数据库的操作权限
Nmap命令详解 文章目录Nmap命令详解1.主机发现2.端口扫描3.端口说明和扫描顺序4.服务和版本探测5.操作系统探测6.时间和性能7.防火墙/IDS躲避和哄骗8.输出9.其他选项10.运行时的交互Nmap命令详解1.主机发现任何网络探测任务的最初几个步骤之一就是把一组IP范围(有时该范围是巨大的)缩小为 一列活动的或者您感兴趣的主机。扫描每个IP的每个端口很慢,通常也没必要。 当然,什么样的主机令您感兴趣主要依赖于扫描的目的。网管也许只对运行特定服务的主机感兴趣,而从事安全的人士则可能对一个马桶都感兴趣,只要它有
kali网络配置和ssh配置 1.kali本地网络配置1.1临时配置IP地址root@kali:~# ifconfig eth0 192.168.1.53/24 #临时配置iproot@kali:~# route add default gw 192.168.1.1 #配置默认路由root@kali:~# echo nameserver 8.8.8.8 > /etc/resolv.conf #配置DNS服务器1.2永久配置IP地址root@kali:~# vim/etc/network/in
Linux系统信息和性能查看命令 Linux系统信息和性能查看命令(以kali为例)1.查看内核/OS/CPU信息kali@kali:~$ uname -aLinux kali 5.10.0-kali8-amd64 #1 SMP Debian 5.10.40-1kali1 (2021-05-31) x86_64 GNU/Linux2.查看内核版本kali@kali:~$ uname -r5.10.0-kali8-amd643.查看处理器架构kali@kali:~$ uname -mx86_64kali@kali:~
Windows进程列表命令 Windows进程列表命令1.tasklist、tasklist /M、tasklist /V查看当前本地运行的进程信息tasklisttasklist /M会输出依赖的dlltasklist /V 会输出进程的详细信息tasklist /?查看tasklist帮助信息?查看tasklist帮助信息...
Windows常用系统命令 Windows命令查看系统框架1.ver(version)查看Windows系统版本2.systeminfo 查看当前操作系统配置信息,包括pack level。systeminfo命令的帮助信息可以使用/?参数显示查看远程计算机系统配置信息 systeminfo /S ComputerName /U username /P password3. wmic 查看系统信息wmic computersystem list briefwmic OS list brief...
Linux 文章目录一、Linux介绍1.Linux文件结构2.Linux文件权限二、Linux常用命令1. ls显示指定目录下的内容,列出文件与子目录(不指定目录,列出当前工作目录)。2. 文件内容查看3. pwd显示当前工作路径的绝对路径,由根目录开始的绝对路径4. cd 切换工作路径5.新建与删除6.文件移动复制7.文件压缩8. 文件内容编辑9.网络命令10.系统监控三、Linux用户管理1.用户操作2.查看用户权限3.Linux密码破解四、Linux权限切换五、Linux服务管理1.启动或关闭服务六、Linux