Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Java对象的串行化(Serialization)

Java对象的串行化(Serialization)

串行化的概念对象的寿命通常随着生成该对象的程序的终止而终止。有时候,可能需要将对象的状态保存下来,在需要时再将对象恢复。我们把对象的这种能记录自己的状态以便将来再生的能力叫作对象的持续性(persistence)。对象通过写出描述自己状态的数值来记录自己 ,这个过程叫对象的串行化(Serialization) 。 串行化的主要任务是写出对象实例变量的数值。如果变量是另一对象的引用,则引用的对象也要串行化。这个过程是递归的,串行化可能要涉及一个复杂树结构的串...
Java关键字浅析之final

Java关键字浅析之final

final限定变量如果在指定变量值之后,就不想再改变变量值,可以在声明变量时加上final限定,如果后续撰写程序时,自己或者别人不经意想改变final变量,就会出现编译错误。如果对象数据成员被声明为final,但没有明确使用=指定变量值,那表示延迟对象成员值的指定,在构造函数执行流程中,一定要有对该数据成员指定值的动作,否则编译错误。final限定类如果class前使用了final关键字定义,那么表示这个类是最后一个了,不会再有子类,也就是不能被继承。如果...
排序算法之二分法(折半)插入排序算法

排序算法之二分法(折半)插入排序算法

基本思想折半插入排序的基本思想与直接插入排序一样,在插入第i(i≥1)个元素时,前面i-1个元素已经排好序。区别在于寻找插入位置的方法不同,折半插入排序是采用折半查找法来寻找插入位置的。 折半查找法的基本思路是:用待插元素的值与当前查找序列的中间元素的值进行比较,以当前查找序列的中间元素为分界,确定待插元素是在当前查找序列的左边还是右边,如果是在其左边,则以该左边序列为当前查找序列,右边也类似。按照上述方法,递归地处理新序列,直到当前查找序列的长度小...
Java注解(Annotation)详解

Java注解(Annotation)详解

基本概念什么是注解(Annotation) Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。从某些方面来看,Annotation像一种修饰符一样,应用于包、类型、构造方法、方法、成员变量、参数以及本地变量的声明语句中。这些信息被存储在Annotation的”name=value”结构对中。更通俗的意思是为程序的元素(类、方法、成员变量等)加上更直观更明了的...
排序算法之三路划分的快速排序

排序算法之三路划分的快速排序

当待排序元素序列中有大量的重复排序码时,简单的快速排序算法的效率将会降到非常之低。一种直接的想法就是将待排序列分成三个子序列:一部分是排序码比基准元素排序码小的;一部分是与基准元素排序码等值的;一部分是比基准元素排序码大的,如下图所示:图1 快速排序的三路划分 但是,如果我们直接据此思想去编写实现算法的话,会让我们面临很大的困难。与基准元素等值的元素到底有多少?以及如何最快速有效地确定划分的边界?所以,完成这样的三路划分是非常困难的,甚至比两路划分过程更加...
iOS定位和位置信息获取

iOS定位和位置信息获取

要实现地图、导航功能,往往需要先熟悉定位功能,在iOS中通过Core Location框架进行定位操作。Core Location自身可以单独使用,和地图开发框架MapKit完全是独立的,但是往往地图开发要配合定位框架使用。在Core Location中主要包含了定位、地理编码(包括反编码)功能。定位是一个很常用的功能,如一些地图软件打开之后如果用户允许软件定位的话,那么打开软件后就会自动锁定到当前位置,如果用户手机移动那么当前位置也会跟随着变化。要实现这...
Yii2 实现修改密码功能

Yii2 实现修改密码功能

主要难点:1、密码加密 YII2对密码加密生成的结果是不同的,即用相同的初始密码在不同时间得到的加密结果不同,所以我们不能用常用的方法去验证密码是否正确(将密码加密后与数据库中的密码相比较)。YII2有自己的加密以及密码验证流程。 加密 $hash = Yii::$app->getSecurity()->generatePasswordHash("123456"]); 验证 Yii::$app->getSecurity()->...
Java数据结构-线性表之静态链表

Java数据结构-线性表之静态链表

静态链表的定义: 节点由一个一维数组和一个指针域组成,数组用来存放数据元素,而指针域里面的指针(又称游标)用来指向下一个节点的数组下标。这样的链表称之为静态链表。 链表中的数组第一个和最后一个位置需要特殊处理,不存数据。第一个位置(即数组0下标)的节点的指针用来存放备用链表的第一个节点的数组下标。最后一个位置(即数组长度MaxSize-1下标)的节点的指针用来存放指向有数值的第一个数据元素的数组下标,类似于单链表的头结点。静态链表的示例图: 下面举一个摘...
Java数据结构-线性表之循环链表

Java数据结构-线性表之循环链表

循环链表的定义:将单链表的尾节点的空指针改为指向头结点的指针,这样的单链表就变成单循环链表了,也叫循环链表。下面摘抄了《大话数据结构》中的一段分析。如下图: 解释: 循环链表里面的头结点和单链表里面的头结点是一样的,都是为了操作统一和方便而设定的,不是必须节点。这里为了方便操作还会进行一种改变,就是去掉循环链表的头指针,而增加一个指向循环链表尾部节点的尾指针。 这样相对来说可以通过O(1)时间访问到尾节点了,同时在进行循环链表合并操作时更加方便了。举一个在...
Java数据结构-线性表之双向链表

Java数据结构-线性表之双向链表

双向链表的定义:在单链表的基础上,给每个节点增加一个指针域,用来指向该节点的前驱节点,这样形成的链表称之为双向链表。 利用空间换时间。整个双向链表的形式如图所示:下面就摘了《大话数据结构》的插入操作演示: 需要注意的是保证链不要断掉,上述图中第3和第4步的顺序不要颠倒。 继续删除操作的演示: 双向链表也有循环链表,叫双向循环链表,介绍如下: 本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/120142.h...
<< 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 >>