- 博客(27)
- 收藏
- 关注
原创 Android使用反射机制搭建MVVM架构
Java的反射机制是指在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为Java的反射机制。
2024-08-27 21:53:34
140
原创 安卓事件分发机制
此方法用来处理事件的分发,当事件传递给当前View时,首先就是通过调用此方法进行传递的,如果当前View所包含的子View的dispatchTouchEvent方法或者当前View的onTouchEvent方法处理了事件,通常返回true,表示事件已消费,如果没有处理则返回false。用来处理事件,如果事件被消费了,通常返回true,否则返回false,并再同一个事件序列中,当前View不会再接受到事件。事件是指用户与应用程序交互时产生的动作或操作,如触摸事件、手势事件、按键事件。
2024-04-17 16:38:52
840
原创 Android四大组件之Broadcast
可以在清单文件中的intent-filter中通过android:priority="100"设置优先级,值越大优先级越高,越先收到广播,而且还可以调用abortBroadcast拦截广播的继续传递,priority可选值为:-1000~1000之间。:同步执行的一种广播,发出广播后,同一时间只能有一个广播接收者能收到,当这个广播接收者的逻辑执行完后,才会传递到下一个接收者;:完全异步执行的广播,发出广播后,所有广播接收器几乎同时收到该广播通知。:当前App发出的广播其他App可收到,反之亦然。
2024-04-15 21:19:06
355
原创 Kotlin协程CoroutineScope异常处理
由于协程是结构化的,当子协程发送异常时,它会优先将异常委托给父协程处理,一直到根协程作用域或者顶级协程。我们在launch时,因为启动了一个新的协程作用域,发生异常时没有被直接捕获,再加上是Job而不是SupervisorJob,所以异常向上传递,其本身已是根协程,此时根协程中CoroutineContext并未携带CoroutineExceptionHandler,从而导致了直接异常。默认情况下,任意一个协程发生异常时都会影响到整个协程树,而异常的传递通常是双向的,也即协程会向子协程与父协程共同传递。
2024-03-29 14:44:22
356
原创 Kotlin中CoroutineScope协程
launch()和async()是CoroutineScope接口的扩展函数,继承了它的coutineContext来自动传播其上下文元素和取消性。挂起函数需要相互传递Continuation,每个挂起函数都要由另一个挂起函数或协程调用,这一切都是从协程构建器创建协程开始的,即作用域函数只能创建子协程,协程构建器能创建根协程或子协程(因为它通过实例调用可以存于普通函数中)。参数context:指定协程上下文。默认为空的上下文。参数start:指定协程启动模式。默认为可以立刻被调度的状态。
2024-03-24 21:09:37
571
原创 安卓开发面试刷题
1)可变性:一般都与String进行比较,因为String是不可变的,但是StringBuilder和StringBuffer是可变的。通过controller控制全局,同时将view和model的变化分开,对复杂混乱的项目结构,有明确的组织方式。4)运行Callable任务可以获取一个Future对象,通过Future对象可以拿到结果,也可以取消任务。并行:在同一时间段,发起多个请求访问不同资源,同时执行,互不影响,强调同一时间执行。并发:在同一时间,多个请求同时访问同一个资源,强调访问同一资源。
2023-10-08 23:25:19
73
原创 整数运算和浮点数运算中除数为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时会报错,而
2022-05-06 18:13:12
982
原创 Java学习之Linux篇
Java学习之Linux篇1. 绝对路径用什么符号表示?当前目录用什么表示?主目录用什么表示?切换目录用什么命令? 绝对路径: 如/etc/init.d 当前目录: ./ 上层目录: …/ 主目录: ~/ 切换目录: cd2. 怎么查看当前进程?怎么执行退出?怎么查看当前路径? 查看当前进程: ps 执行退出: exit 查看当前路径: pwd3. 查看文件有哪些命令?1. file 查看文件类型2. cat 命令显示文本 -n(会给所有行加上行号
2021-12-19 17:59:17
230
原创 Java基础篇
Java基础篇1. Java语言的特点 简单性:Java语言继承了C++语言的优点,去掉了C++中学习比较难的多继承、、指针等概念,所以学习起来更简单,使用也更方便。 面向对象:Java是一种面向对象的编程语言。 分布性:Java设计支持在网络上应用,它是分布式语言。所以只要用Java编写了一个程序,就可以到处应用,可以节省大量人力物力。 编译和解释性:Java编译程序生成字节码,而不是通常的机器码,这使得Java开发程序比用其他语言开发快很多。 稳健性:Java刚开始被设计
2021-12-15 07:25:57
783
原创 C++编程基础入门
C++编程基础入门1. 常量的定义方式1.1 #define宏常量 语法:#define 常量名 常量值 通常在文件上方定义,表示一个常量2.1 const修饰的变量 **语法:**const 数据类型 常量名 = 常量值 通常在变量定义前加关键字const,修饰该变量为常量,不可修改2. 标识符命名规则 **作用:**C++规定给标识符(变量、常量)命名时,有一套自己的规则 1.标识符不能是关键字 2.标识符只能由字母、数字、下划
2021-10-18 17:34:27
5195
原创 OSI七层模型和TCP/IP五层模型
OSI七层模型和TCP/IP五层模型1.OSI七层模型的划分OSI定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),即ISO开放互连系统参考模型。如下图:2.TCP/IP五层模型TCP/IP五层协议和OSI七层模型的对应关系:...
2021-09-06 12:19:06
108
原创 关于SQL常见的问题
关于SQL常见的问题1.MySQL数据库中的char和varchar的主要区别是什么?哪个查询效率高?char有固定的长度;varchar属于可变长的字符类型。char是一种注重时间的存储方式;varchar则是重视空间的存储方式。总之,char定长,存储效率不如varchar,对于短数据的查询优于varchar。2.什么是SQL注入?如何防止SQL注入?SQL注入:利用现有应用程序,将恶意的SQL命令注入到后台数据库执行一些恶意的操作。防止策略: 1.严格限制web应用的数据库的操作权限
2021-08-22 19:37:53
801
原创 Nmap命令详解
文章目录Nmap命令详解1.主机发现2.端口扫描3.端口说明和扫描顺序4.服务和版本探测5.操作系统探测6.时间和性能7.防火墙/IDS躲避和哄骗8.输出9.其他选项10.运行时的交互Nmap命令详解1.主机发现任何网络探测任务的最初几个步骤之一就是把一组IP范围(有时该范围是巨大的)缩小为 一列活动的或者您感兴趣的主机。扫描每个IP的每个端口很慢,通常也没必要。 当然,什么样的主机令您感兴趣主要依赖于扫描的目的。网管也许只对运行特定服务的主机感兴趣,而从事安全的人士则可能对一个马桶都感兴趣,只要它有
2021-08-18 20:33:16
2621
原创 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
2021-08-14 17:13:04
313
原创 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:~
2021-08-12 10:43:41
861
原创 Windows进程列表命令
Windows进程列表命令1.tasklist、tasklist /M、tasklist /V查看当前本地运行的进程信息tasklisttasklist /M会输出依赖的dlltasklist /V 会输出进程的详细信息tasklist /?查看tasklist帮助信息?查看tasklist帮助信息...
2021-08-12 10:06:06
493
原创 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...
2021-08-11 20:21:58
328
原创 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
2021-08-02 19:49:20
183
原创 渗透测试之信息收集
信息收集在网络攻防过程中,,信息收集是非常重要的一步,通过信息收集可以了解渗透目标的网络架构,描述出相关的网络拓扑,缩小攻击范围。只有将目标的相关信息收集完整,才可以对攻击目标开启的主机及主机安装运行的应用有针对性的攻击。一、信息收集的方式:主动信息收集和被动信息收集主动信息收集是指通过主动发送探测数据包与被测目标系统有直接交互;被动信息收集是指在不被察觉的情况下,通过搜索引擎、社交媒体等方式对目标的外网信息进行收集,比如通过搜索引擎收集管理人员的信息,通过“站长工具”等查询网站的whois信息、备
2021-07-10 11:50:55
1988
原创 软件安全复习资料
什么是软件安全?软件安全主要包括三个方面:软件自身安全(软件缺陷与漏洞)、恶意软件攻击与检测、软件逆向分析(软件破解)与防护。当系统中被植入恶意软件后,其对软件及信息系统的巨大威胁主要表现在?(1)已有软件的功能被修改或被破坏(2)目标系统中的重要数据被窃取(3)目标系统中的用户行为被监视(4)目标系统被控制SDL(信息技术安全开发生命周期流程)阶段需求分析、设计、编码、测试和维护可信计算:基本思想:首先建立一个信任根,信任根的可信性由物理安全和管理安全确保(目前以..
2021-06-28 02:03:19
1053
原创 恶意代码和计算机病毒复习(下)
勒索型恶意代码:定义:是一种以勒索为目的的恶意软件——黑客使用技术手段劫持用户设备或数据资产,并以此为条件向用户勒索钱财的一种恶意攻击手段。勒索软件的两种形式:数据加密或限制访问勒索型恶意代码的攻击阶段: (1)传播感染阶段 (2)本地攻击阶段 (3)勒索支付阶段特性:(1)传播方式多样化 (2)攻击平台多样化 (3)本地攻击手段多变 (4)支付手段隐秘流氓软件:定义:(1)指具有一定能够的实用价值但具备计算机恶意代码和黑客的部分行为特征的软件。..
2021-06-24 17:26:52
763
原创 恶意代码与计算机病毒复习(上)
恶意代码: 定义:恶意代码是在未授权的情况下,以破坏软硬件设备、窃取用户信息、扰乱用户心理、干扰用户正常使用为目的而编制的软件或代码片段。 特征:(1)目的性 (2)传播性 (3)破坏性 种类:(1)普通计算机病毒 (2)蠕虫 (3)特洛伊木马 (4)Rootkit工具 (5)流氓软件 (6)间谍软件 (7)恶意广告 (8)逻辑炸弹 (9)后门 (10)僵尸网络 (11)网络钓鱼 (12)恶意脚本 (13)垃圾信息 (14)勒索病毒 (15)..
2021-06-22 02:09:08
1222
原创 Linux常用命令(上)
一、基本命令1.1 关机和重启关机shutdown -h now 立刻关机 shutdown -h 5 5分钟后关机poweroff 立刻关机重启shutdown -r now 立刻重启shutdown -r 5 5分钟后重启reboot 立刻重启1.2帮助命令–help命令shutdown --helpifconfig --help:查看网卡信息man命令(命令说明书)
2021-06-20 19:04:32
116
原创 Windows消息处理机制
标题 Windows消息处理机制:消息内容:hwnd:32的窗口句柄,窗口可以是任何类型的屏幕对象,因为win32能维护大多数可视对象的句柄message:用于区别其他消息的常量值WParam:通常是一个与消息有关的常量值IParam:通常是一个指向内存中数据的指针消息系统组成:消息队列、窗口过程、消息循环(Windows应用程序的核心)应用程序产生一个消息到被一个窗口响应的步骤:系统中发生了某个事件Windows把这个事件翻译为消息,然后把他放到消息队列中应用程序从消息队列中
2021-05-21 16:21:33
106
原创 单身二十年
单身二十年这个题算是简单的抓包开始抓包哈首先用burpsuite捕获然后单机右键Send to Repeater就可以得到flagkey is :nctf{yougotit_script_now}哈哈是不是感觉挺简单的...
2019-11-23 21:42:23
138
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人