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

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

首页 / 操作系统 / Linux

C# 数据的序列化存取

C# 数据的序列化存取

1,什么是序列化?序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。序列化使其他代码可以查看或修改那些不序列化便无法访问的对象实例数据。确切地说,代码执行序列化需要特殊的权限:即指定了 SerializationFormatter 标志的 SecurityPermission。在默认策略下,通过 I...
C++关于编译器合成的默认构造函数

C++关于编译器合成的默认构造函数

有两个常见的误解:1.任何类如果没有定义默认构造函数,就会被合成出一个来。2.编译器合成的默认构造函数会显式地设定类内每一个数据成员的默认值。对于第一个误解,并不是任何类在没有显式定义默认构造函数时都会被编译器合成一个默认构造函数。在以下4种情况下,编译器才会合成默认构造函数,以满足编译器自己的需求(并不是为了满足程序的需求)。一、父类有默认构造函数(default constructor) 如果一个没有任何构造函数的类派生自 “一个有默认构...
C++ 实现01背包动态规划

C++ 实现01背包动态规划

简述一下01背包:背包容量大小固定,有一些物品,每个物品都有重量和价值两个属性,且物品唯一不重复(即同一物品只能放入一个),放入物品的总重量不能超过背包容量 ,求放入背包的物品的总价值最大化。0代表不放入,1代表放入。可以通过建表的方式实现01背包,非递归实现。如果用c[i]表示 i 号物品的重量,v[i]表示 i 号物品的价值,函数f(i,j)表示在有0,1,2...i 号物品和重量限制 j 时能够得到的最大价值,表result[i][j]=f(i,j)...
C# 简单的图像边缘提取

C# 简单的图像边缘提取

用到的算法是robert算子,这是一种比较简单的算法:f(x,y)=sqrt((g(x,y)-g(x+1,y+1))^2+(g(x+1,y)-g(x,y+1))^2)博主一共写了三段代码,第一段是边缘提取,第二段是线条加粗,第三段是原图和边缘图重合,三段代码可以放在一起,但为了看得清晰我就把他们分开了。简单粗暴直接上代码!private void Image_Test() { if (this.pBox.Image != null) ...
C++ sizeof总结

C++ sizeof总结

关键字sizeof的作用是返回对象或类型占用的内存字节数,返回值是size_t。基本数据类型占用的字节数:(32位系统)char 1字节bool 1字节short 2字节int 4字节long 4字节float 4字节double 8字节 对sizeof结果的一个重要影响因素是字节对齐。首先看一个公式:有效对齐值=min(自身对齐值,设置对齐值)。自身对齐值是一个数据类型自身所占字节数, 例子:int a; //自身对齐值是4char c; //自身对...
C# 内存法图像处理

C# 内存法图像处理

内存法通过把图像储存在内存中进行处理,效率大大高于GetPixel方法,安全性高于指针法。笔者当初写图像处理的时候发现网上多是用GetPixel方法实现,提到内存法的时候也没有具体实现,所以笔者在这里具体实现一下- -,望指正。首先讲一下用到的一些方法。1.LockBits和UnlockBits:使用 LockBits方法,可在系统内存中锁定现有的位图,以便通过编程方式进行更改,每调用LockBits之后都应该调用一次UnlockBits。2.Scan0:...
C++ 不使用virtual实现多态

C++ 不使用virtual实现多态

不使用virtual实现多态可以用成员函数指针完成。成员函数指针形式:返回类型(A::*指针名)(形参表)其中A是类类型,即这个指针是指向A类的成员函数的函数指针例如:int(A::*P)(int,int)这是一个指向 “A类的带有两个int型形参且返回值是int的成员函数” 的指针,指针名是P。下面是代码:#include<iostream>using namespace std;class Base;typedef ...
Python中的编码与解码

Python中的编码与解码

编码与解码首先,明确一点,计算机中存储的信息都是二进制的编码/解码本质上是一种映射(对应关系),比如‘a’用ascii编码则是65,计算机中存储的就是00110101,但是显示的时候不能显示00110101,还是要显示"a",但计算机怎么知道00110101是"a"呢,这就需要解码,当选择用ascii解码时,当计算机读到00110101时就到对应的ascii表里一查发现是"a",就显示为"a"编码:真实字符与二进制串的对应关系,真实...
HTML5本地存储Localstorage

HTML5本地存储Localstorage

什么是localstorage前几天在老项目中发现有对cookie的操作觉得很奇怪,咨询下来是要缓存一些信息,以避免在URL上面传递参数,但没有考虑过cookie会带来什么问题:① cookie大小限制在4k左右,不适合存业务数据② cookie每次随HTTP事务一起发送,浪费带宽我们是做移动项目的,所以这里真实适合使用的技术是localstorage,localstorage可以说是对cookie的优化,使用它可以方便在客户端存储数据,并且不会随着HTT...
Python保留指定文件、删除目录其他文件的功能

Python保留指定文件、删除目录其他文件的功能

由于给客户的发布版本上客户改动了些代码和图片,我们这边给他们更新publish都是增量更新(开发提供更新指定的文件,我们提取出来给客户进行覆盖更新),但有时需要更新的文件较多导致不得不一个一个的进行查找、替换,工作量大而且容易出错。所以用python写个保留pulish后目录的指定文件、删除其他文件的功能。代码如下import osimport os.pathdef DeleteFiles(path,fileList): for parent,dirna...
Java 可变参数

Java 可变参数

Java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,Java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,Java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。可变参数的特点:(1)、只能出现在参数列表的最后;(2)、...位于变量类型和变量名之间,前后有无空格...
快速排序的递归方式和非递归方式

快速排序的递归方式和非递归方式

我们知道快递排序大部分的版本都是递归的方式来实现的:通过Pritation来实现划分,并递归实现前后的划分。由于同学上次百度二面面试官问起快速排序的非递归的实现方式,当时同学不会,因为我们大部分看到的都是递归方式来实现快速排序。并没有关注非递归的方式。但是仔细想想也是可以做的,因为递归的本质是栈,因此我们非递归实现的过程中,借助栈来保存中间变量就可以实现非递归了。在这里中间变量也就是通过Pritation函数划分之后分成左右两部分的首尾指针,只需要保存这两...
Linux 两组信号对比

Linux 两组信号对比

之前看信号的时候,没有太注意不同信号的对比.今天再次看到的时候,突然感觉对一些信号,非常相似,乃至非常容易混淆.今天周末就抽空总结一下.第一组 关闭进程信号常见的4中关闭进程信号是SIGKILL,SIGINT,SIGTERM,SIGQUIT.SIGKILL,就是为了关闭进程用的,无法捕获以及忽略.场景是,管理员把一些占用资源的进程或者无法掌控的孤儿进程杀死.SIGINT,interrupt(中断)进程,这个是可以捕获以及忽略。可以使用ctrl+c发出信号,...
二叉树中和为某一值的路径

二叉树中和为某一值的路径

题目:输入一棵一二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。二义树结点的定义如下:struct BinaryTreeNode{int m_nValue;BinaryTreeNode *m_pLeft;BinaryTreeNode *m_pRight;};思路:由于路径是从根结点出发到叶结点,也就是说路径总是以根结点为起始点,因此我们首先需要遍历根结点。在树的前序、中序、后序三种遍...
二叉搜索树的后序遍历序列详述

二叉搜索树的后序遍历序列详述

题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。思路:在后序遍历得到的序列中,最后一个数字是树的根结点的值。数组中前面的数字可以分为两部分:第一部分是左子树结点的值,它们都比根结点的值小;第二部分是右子树结点的值,它们都比根结点的值大。代码如下:bool VerifyBST(int squence[], int length){if (squence==...
从上往下打印二叉树详述

从上往下打印二叉树详述

题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。例如输入图中的二叉树,则依次打印出8、6、10、5、7、9、11。二叉树结点定义如下:struct BinaryTreeNode{int m_nValue;BinaryTreeNode *m_pLeft;BinaryTreeNode *m_pRight;};思路:每一次打印一个结点的时候,如果该结点有子结点,则把该结点的子结点放到一个队列的末尾。接下来到队列的头部取出最早进入队列的结...
<< 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 >>