移动开发

16. Object类

Java类不是单继承么?如果一个类继承了其他父类,就不会直接继承Object,但是它的父类如果再没有父类,就会继承Object,也就是说,Object是任何一个类的直接或间接的父类。因此,我们随意创建一个类,其实也不是空的,起码这个类中有Object类中的属性和方法。 例如: public class Example { public Example() { } } publ

UDP 协议

UDP,即用户数据报协议,是一种传输协议,是 TCP 的替代协议。 它与 TCP 的主要区别在于它是无连接的。 这意味着它更快,每个发送的数据包更轻量级,因为它不包含 TCP 所需的所有信息,并且它确实具有更轻的握手过程。 缺点是 UDP 不如 TCP 可靠。 在 TCP 中,如果数据包丢失,协议能够处理它并重新发送数据包。 在 UDP 中,这不是内置在协议中的,必须在更高级别(构建在它之上)进行

iOS之MD5加密、加盐

MD5加密:HASH算法一种、 是生成32位的数字字母混合码。 特点: 1、任意数据得出的MD5值长度都是32 2、对原数据进行任何改动,所得到的MD5值都有很大区别 应用: 主要运用在数字签名、口令加密等方面 MD5改进(加盐等): 现在的MD5已不再是绝对安全,对此,可以对MD5稍作改进,以增加解密的难度 加盐(Salt):在明文的固定位置插入随机串,然后再进行MD5 写一个NSString分

android webview(AgentWeb) 刷新无效问题

问题描述:我的h5链接中有#号,比如:url="home/#/?token=123" 就是因为这个#号导致页面刷新不好用了。 解决方案(总体思路):handler延迟刷新。 我用到的技术: 1.AgentWeb(对安卓的WebView做了一些封装,你也可以把它看成安卓的WebView。传送门) 2.handler和h5刷新相关。 如果你用的是安卓的WebView,你看完解决方案(思路)后,可以直接

spring之getBeanByType探究

前言 spring容器获取bean的方式主要有两种,即byName和byType byName方式相对简单,即Object getBean(String name),通过beanName获取,因为容器中存储的就是一个beanName->bean实体的映射,如果没有创建,则通过beanName查找bean定义,通过bean定义去创建即可 而byType,即T getBean(Class<

iOS知识复习笔记(8)---block底层原理

block 类型 在MRC环境下 1.全局block:如果没有使用外部auto变量,或者只使用全局变量或是静态变量,则是全局block 2.栈block:如果使用了外部auto变量,则是栈block 3.堆block:栈block调用了copy 在ARC环境下 1.全局block:如果没有使用外部auto变量,或者只使用全局变量或是静态变量,则是全局block 2.栈block:如果

JavaScript的六种继承方式

JavaScript的几种继承方式 原型链继承 借助构造函数继承(经典继承) 组合继承:原型链 + 借用构造函数(最常用) 原型式继承 (Object.create) 寄生式继承 寄生组合式继承(最理想) ES6中的继承 1. 原型链继承 子类型的原型为父类型的一个实例对象 function Parent() { this.name = 'bigStar'; this.colo

Fragment版本变化

FragmentContainerView FragmentContainerView继承自FrameLayout, 可以动态添加FrameLayout 支持android:name 和 android: tag属性。 <androidx.fragment.app.FragmentContainerView xmlns:android="

Android NFC 读取卡片信息

NFC读取公交卡数据.gif 因为朋友需要个读取NFC卡片数据的功能,所以最近看了一下Android 系统下NFC 读取卡片信息的操作. NFC(近距离无线通信 ) 是一组近距离无线技术,通常只有在距离不超过 4 厘米时才能启动连接.借助 NFC,您可以在 NFC 标签与 Android 设备之间或者两台 Android 设备之间共享小型负载。 支持 NFC 的 Android 设备同

为什么block要使用copy而不是strong或者其他属性修饰?

block本身是像对象一样可以retain,和release。但是,block在创建的时候,它的内存是分配在栈上的,而不是在堆上。 其本身的作用域是属于创建时候的作用域,一旦在创建时候的作用域外面调用block将导致程序崩溃。因为栈区的特点就是创建的对象随时可能被销毁,一旦被销毁后续再次调用空对象就可能会造成程序崩溃,在对block进行copy后,block存放在堆区。使用retain也可以,但是