上一篇文章介绍了句柄的基本概念,也描述了C#中创建文件句柄的过程.我们已经知道句柄代表Windows内部对象,文件对象就是其中一种,但显然系统中还有更多其它类型的对象.本文将简单介绍Windows对象的分类. 句柄可以代表的Windows对象分为三类,内核对象(Kernel Object).用户对象(GDI Object)和GDI对象,上一篇文章中任务管理器中的“句柄数”.“用户对象”和“GDI对象”计数就是与这几类对象对应的.为什么要这样分类呢?原因就在于这几类对象对于操作系统而言有不同的作用…
在上篇文章.NET对象与Windows句柄(二):句柄分类和.NET句柄泄露的例子中,我们有一个句柄泄露的例子.例子中多次创建和Dispose了DataReceiver和DataAnalyzer对象,但由于忘记调用DataAnalyzer的Stop方法,导致产生句柄泄露.本文假定我们已经发现了泄露现象但还不知道原因,讨论如何在这种情况下分析问题. 一.发现问题 在程序运行约一个小时以后,通过任务管理器发现句柄数超过5000,线程数也超过1000.对于一段只需要并行接收和分析数据的简易代码来说,这…
在.NET编程中,得益于有效的内存管理机制,对象的创建和使用比较方便,大多数情况下我们无须关心对象创建和分配内存的细节,也可以放心的把对象的清理交给自动垃圾回收来完成.由于.NET类库对系统底层对象进行了封装,我们也不需要调用Windows API来操作非托管对象.但不直接操作非托管对象,并不意味着程序不会间接创建这些对象,如果不了解.NET对象与非托管资源的关系,我们很有可能因为不恰当的使用这些托管对象,而导致非托管资源泄露.本文尝试说明Windows对象和句柄的基本概念,以及.NET编程中的…
转载自:https://www.cnblogs.com/silverb/p/5300255.html 句柄的基本概念 1.句柄就是进程句柄表中的索引.2.句柄是对进程范围内一个内核对象地址的引用,一个进程的句柄传给另一个进程是无效的.一个内核对象可用有多个句柄.Windows之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址.简而言之数据的地址需要变动,变动以后就需要有人来记录.管理变动,因此系统用句柄来记载数据地址的变更. 在.NET编程中,得益于有效的内存管理机制,对象的创建和使用比…
----------------------------------------------------------------------第一步,准备工作:预定义一个全局Win控件变量,以及一个精简化的Win控件类var CreationControl: TWinControl = nil; // 定义全局变量,用来表示每次刚创建的Win控件 TWinControl = class(TControl) private FDefWndProc: Pointer; // 记录原有的窗口过程,但只有…
导读 1.用VS创建一个Windows Forms程序 2.分析上面的程序 3.Mediator pattern(中介者模式) 4.卡UI怎么办——BackgroundWorker组件 用VS创建一个Windows Forms程序 博主应为项目需要用的VS2005,所以这个系列的Windows Forms 特指Windows Forms 2.0. 打开VS2005 –> 建立 Windows应用程序,过程截图如下(其实这种简单的步骤,做C#开发都会) 拖拽一个Button 和 TextBox 控…
原文地址:http://blog.csdn.net/linzhengqun/article/details/1451088 从普通函数到对象方法 ------Windows窗口过程的面向对象封装 开始,由VirtualAlloc想起 我在查看VirtualAlloc这个API的时候,思绪竟然跳到另一个地方去了.那是以前阅读VCL源码时遗留下来的问题,Classes单元的MakeObjectInstance函数调用了VirtualAlloc,我甚是不解,为什么Delphi提供了那么多内存分配函数,…
目录 PHP 类与对象 全解析( 一) PHP 类与对象 全解析( 二) PHP 类与对象 全解析(三 ) 7.Static关键字 声明类成员或方法为static,就可以不实例化类而直接访问.不能通过一个对象来访问其中的静态成员(静态方法除外). 静态成员属于类,不属于任何对象实例,但类的对象实例都能共享. 小结: 在类内部访问静态成员属性或者方法,使用 self::(没有 $ 符号),如:  self:: $country  //类内部访问静态成员属性  self:: myCountry()…
#include <windows.h> #include <stdint.h> #include <stdio.h> void ShootScreen(const char* filename, HWND hWnd) { HDC hdc = CreateDC("DISPLAY", NULL, NULL, NULL); int32_t ScrWidth = , ScrHeight = ; RECT rect = { }; if (hWnd == NU…
XAML实例教程系列 - 对象和属性 2012-05-22 14:18 by jv9, 1778 阅读, 6 评论, 收藏, 编辑 在前一篇已经介绍XAML概念:“XAML语言是Extensible Application Markup Language的简称,英文发音是“zammel”,中文称为“可扩展应用程序标记语言”,该语言是基于Extensive Markup Language(XML)可扩展标记语言,主要用于Silverlight,WPF,Windows Phone以及Windows…
服务控制管理器 (SCM, Service Control Manager),它在系统启动时自动启动,其主要作用是维护和管理一张服务信息表. OpenSCManager() 介绍:功能:建立了一个到服务控制管理器的连接,并打开指定的数据库.函数原型:SC_HANDLE OpenSCManager(                  LPCSTR lpMachineName,   // 指向零终止字符串,指定目标计算机的名称.  通常为 NULL. LPCSTR lpDatabaseName, /…
一.测试Windows服务 为了使Windows服务程序能够正常运行,我们需要像创建一般应用程序那样为它创建一个程序的入口点.像其他应用程序一样,Windows服务也是在Program.cs的Main()函数中完成这个操作.首先我们在Main()函数中创建一个Windows服务的实例,该实例应该是ServiceBase类的某个子类的对象,然后我们调用由基类ServiceBase类定义的一个Run()方法.然而调用Run()方法并不意味着就开始了Windows服务程序,必须要等到该对象的OnSta…
一:字符串方法: 方法就是与特定对象相关联在一起的函数.从技术的角度来讲,它们是附属于对象的属性,而这些属性不过是些可调用的函数罢了.Python 首先读取对象方法,然后调用它,传递参数.如果一个方法计算出一个结果,它将会作为整个方法调用表达式的结果被返回.Note:一个对象可以调用的方法查询可以通过 dir(' ') 来查询. 1,修改字符串: a) 利用s.replace()函数:合并操作和replace 方法每次运行会产生新的字符串对象,这是一个潜在的缺陷.如果对一个超长的字符串进行许多的…
一:常量字符串 常量字符串用起来相对简单,也许最复杂的事情就是在代码中有如此多的方法来编写它们. eg:单引号:'spam"m'   , 双引号: “spa'm” , 三引号:‘’‘... spam ...'''或者 “”“... spam ...""". 转义字符:”s\tp\na\0m“ Raw字符串:r"C:\new\test.spm" Python3.0 中的Byte字符串:b'so\x01am' python2.6 中的Unicode字…
简述 这里使用的API和同步编程的API是差不多的,只多了一个ioctlsocket和select函数.这里面涉及一个很重要的结构体fd_set.这里用到的API大部分都是windows和linux通用的. 1. ioctlsocket控制socket的IO模型 int ioctlsocket( _In_ SOCKET s, _In_ long cmd, _Inout_ u_long *argp ); s:需要设置的socket cmd:想要对socket执行的命令,异步编程需要FIONBIO命…
一.成员修饰符 • 共有成员 • 私有成员 __+字段 __:成员修饰符 无法直接访问,只能通过该成员所属类的方法简介访问 class Foo: def __init__(self, name, age): self.name = name self.__age = age # 私有成员 def show(self): # 通过Foo内部的方法来执行私有成员 print(self.__age) obj = Foo("Alex", 18) print(obj.name) obj.show…
SQL会缓存大量的数据页面,他还会缓存很多其他信息,包括存储过程的执行计划 ,特定用户的安全上下文等 如果这些信息没有在数据库中缓存,SQL都要重新计算一遍,花额外的时间,所以SQLSERVER对内存的需求是十分强烈的. 配置原则: (1)如果服务器支持64位操作系统,没有特殊理由的话,请安装64位系统.这样SQL能够有效地使用 大于2GB的内存.如果一定要用32位系统,务必将SQLSERVER服务器属性里面的“使用AWE分配内存”打开.但是不要用boot.ini文件里的/3GB这个开关,即不要…
联系人资料是手机上必有的,在最新的 Windows Phone 中开放了相应的 API ,以便于应用程序读写通讯录. 注意:系统没有对整个手机自带的通讯录写入开放权限,每个应用只能管理属于当前应用的联系人. 联系人存储 <StackPanel> <TextBox x:Name="txtName" Header="姓名" InputScope="NameOrPhoneNumber"/> <TextBox x:Name=…
API 示例 // 获取陀螺仪传感器监听对象 Gyrometer gyrometer = Gyrometer.GetDefault(); if (gyrometer == null) { await new Windows.UI.Popups.MessageDialog("不支持陀螺仪传感器").ShowAsync(); return; } // 设置监听事件间隔 gyrometer.ReportInterval = gyrometer.MinimumReportInterval *…
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为cocos2d-x-2.1.5)    博主发现前两个系列的学习教程被严重抄袭,在这里呼吁大家请尊重开发者的劳动成果, 转载的时候请务必注明出处:http://blog.csdn.net/yangyu20121224/article/details/11180135 经过上一篇文章对整个框架进行简单的分析了之后,我们可以开始着手开发了.这里 采用增量开发的方式,每一次项目的更新都完成其中一部分功能,同时保持其可扩展 性.功能的复杂性逐…
一.四种对象生存期和作用域 栈对象 隐含调用构造函数(程序中没有显式调用) 堆对象 隐含调用构造函数(程序中没有显式调用),要显式释放 全局对象.静态全局对象 全局对象的构造先于main函数 已初始化的全局变量或静态全局对象存储于.data段中 未初始化的全局变量或静态全局对象存储于.bss段中 静态局部对象 已初始化的静态局部变量存储于.data段中 未初始化的静态局部变量存储于.bss段中  C++ Code  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1…
弄清楚类与对象的本质与基本特征,是进一步学习面向对象编程语言的基本要求.面向对象程序设计与面向过程程序设计在思维上存在着很大差别,改变一种思维方式并不是一件容易的事情. 一.面向对象程序设计 程序由对象组成,对象包含对用户公开的特定功能部分,和隐藏在其内部的实现部分.从设计层面讲,我们只关心对象能否满足要求,而无需过多关注其功能的具体实现.面对规模较小的问题时,面向过程的开发方式是比较理想的,但面对解决规模较大的问题时,面向对象的程序设计往往更加合适. 类 对象是对客观事物的抽象,类是对对象的抽…
我们进行多线程编程,可以有多种选择,可以使用WindowsAPI,如果你在使用GTK,也可以使用GTK实现了的线程库,如果你想让你的程序有更多的移植性你最好是选择POSIX中的Pthread函数库,我的程序是在Linux下写的,所以我使用了Pthread库(是不是很伤心,我知道有不少人期待的是WindowsAPI的,好吧,有机会以后再讲那个,现在先把这一系列专题写完 ^_^) 如果你用的是LINUX/UNIX/MacOSX,那么我们已经可以开始了,如果你用的是WINDOWS,那么你需要从网站上下…
接上一回的内容,漏了一个always()方法,参数也是回调函数,与done和fail不同的是,无论任何情况都执行always方法中的回调. deferred对象的使用(二) deferred对象不光可以用在jquery的ajax方法中,他提供了一系列的接口,使它的通用型大大提高. 比如有这样一个耗时比较久的方法 function a(){ function b(){ alert('start'); } setTimeout(b, 3000); } 如果要在这个方法之后执行某个回调,就不能用$.w…
JavaScript Array(数组) 对象数组对象的作用是:使用单独的变量名来存储一系列的值. 什么是数组?数组对象是使用单独的变量名来存储一系列的值.如果你有一组数据(例如:车名字),存在单独变量如下所示:var car1="Saab";var car2="Volvo";var car3="BMW";然而,如果你想从中找出某一辆车?并且不是3辆,而是300辆呢?这将不是一件容易的事!最好的方法就是用数组.数组可以用一个变量名存储所有的值,并…
本文章由cartzhang编写.转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/55051570 作者:cartzhang simple pool 博客一的地址: http://blog.csdn.net/cartzhang/article/details/54096845 一.simpe_pool对象池的问题 在上篇对象池simple_pool中提到了它如今的问题. 一个是数据控制,也就是在单个父亲节点下…
上一篇主要记了UClass的创建,现在总结一下UObject的创建,可以从几个不同角度来理解. 从途径上看,可以根据UObject的构造函数来分个类: // Constructors. UObject(); UObject( const UObject& Src ); UObject( ENativeConstructor, UClass* InClass, const TCHAR* InName, const TCHAR* InPackageName, EObjectFlags InFlags…
中午1点左右,广州的号码打过来了,是CVTE的hr,然后问我下午4点半有没有时间,帮我约视频的二面. 当然有时间了啦,然后hr给我邮箱发了个链接,让我4点半登陆进去. 因为1面没问任何网络和操作系统的知识,我想着这2面估计要面了把,赶快把知识复习一下! 主要看了下OSI七层,TCP/UPD区别,TCP建立连接和断开连接(三次握手.四次挥手),应用层的几个协议(HTTP/FTP/Telnet). 从浏览器的地址栏输出一个url网址,然后发生了什么(1首先解析地址,通过DNS域名服务,将域名映射成I…
案例一.点击按钮,选中input中的全部内容 select()方法:选中全部. 点击按钮选中输入框中的内容!!!! <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> input, button{ margin: 0; padding: 0; outli…
  一.什么是K近邻算法? 定义: 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别. 来源: KNN算法最早是由Cover和Hart提出的一种分类算法. 计算距离公式: 两个样本的距离可以通过如下公式计算,又叫欧式距离. 比如说,a(a1,a2,a3),b(b1,b2,b3)   欧式距离 二.K近邻算法的实现 sk-learn近邻算法API sklearn.neighbors.KNeighborsClassifier(n_nei…