自己手写一个Java的ArrayList

Java 

思想基本要求:需要使用泛型,很多类可以形成列表。可迭代的成员变量:默认容量,数量,一个泛型数组成员方法:构造方法、clear、size、isEmpty、get、set、add、remove、ensureCapacity代码classMyArrayList<AnyType>implemen

nginx + frp实现https加密


简介主要是为了通信更加安全,地址栏有把帅气的小锁😜😜。frp:快速反向代理,帮助您向internet公开NAT或防火墙后面的本地服务器。NGINX:NGINX是一个免费的,开源的高性能HTTP服务器和反向代理,以及IMAP / POP3代理服务器。NGINX以其高性能,稳定性,丰富的功能集,简单

了解实用的Android Jetpack


前言在2018年GoogleI/O大会上发布了一系列辅助Android开发者开发的实用工具集合:Jetpack这里,将主要介绍AndroidJetpack的相关内容,包括其作用、特点&组成,希望你们喜欢。目录1.简介2.特点高效开发:包含的多个组件协同使用消除模板代码:可管理繁琐的Activ

Android content uri 转为文件路径


方法:/***把contenturi转为文件路径**@paramcontentUri要转换的contenturi*@paramcontentResolver解析器*@return*/publicstaticStringgetFilePathFromContentUri(UricontentUri,C

SORT简单看


排序分类插入排序直接插入排序折半插入排序交换排序冒泡排序快速排序选择排序直接选择排序树形选择(锦标赛)排序堆排序归并排序基数排序细看排序算法1.直接插入排序(InsertSort)思想当插入第i(i>=1)个对象时,前面的V[1],V[2],…,V[i-1]已经排好序。这时,用V[i]的排序码

Activity启动模式


众所周知当我们多次启动同一个Activity时,系统会创建多个实例,并把它们按照先进后出的原则一一放入任务栈中,当我们按back键时,就会有一个activity从任务栈顶移除,重复下去,直到任务栈为空,系统就会回收这个任务栈。

View的绘制流程


基本操作由三个函数完成:measure()、layout()、draw(),其内部又分别包含了onMeasure()、onLayout()、onDraw()三个子方法。具体操作如下:measure操作measure操作主要用于计算视图的大小,即视图的宽度和长度。在view中定义为final类型,要求

Android四大组件


Activity:一个Activity通常就是一个单独的屏幕(窗口)。Activity之间通过Intent进行通信。android应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。activity生命周期:Serv

数据库索引和其优化


什么是索引?举个栗子,我们拿出一本新华字典,它的目录实际上就是一种索引:非聚集索引。我们可以通过目录迅速定位我们要查的字。而字典的内容部分一般都是按照拼音排序的,这实际上又是一种索引:聚集索引。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B

数据库设计三大范式


为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表