自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (13)
  • 问答 (1)
  • 收藏
  • 关注

原创 DOTNET笔记_GC

1 Windows进程内存管理与GC    进程    在32 位Windows上面,非托管程序的进程都有4G的虚拟地址空间,其中有一半是系统可以访问的,一半是用户可以访问的,由于是虚拟的,只有真正需要用到的时候,才可能会真正提交给该进程。每个进程都是在各自的进程空间中进行资源管理和代码执行,进程本身只是代码执行的环境,它本身并不执行任何代码,它为真正执行代码的线程提供了一个相对独立的资源

2015-10-01 19:05:13 417

原创 DOTNET笔记_StringBuilder_List<T>_Array

1 由于String的不可变特性,导致任何一个修改的结果都是一个新的String实例创建,这必然导致内存的操作,从而影响效率,当然我们也知道,一般遇到不断更新字符串的情况下,我们都会自觉的使用StringBulider,但是值得注意的,StringBuilder本身也会根据当前的Capacity和内容决定是否需要重新申请内存,这样的,仍然会影响其效率;另外一方面,删除子串,或者插入子串,效率依然低

2015-09-22 22:35:09 454

原创 DOTNET笔记_操作符重载

1 操作符重载的一般原则:     重载的方法实现会用到operator关键字     重载的方法必须是public static     如果重载了 ==,那必须重载 != ,同时需要改写 Equals,GetHashCode,C#要求Equals与==的逻辑保持一致,这种同步关系本身是默认的,如果修改了Equals的比较,比如改成按内容比较,那么最好重载 ==,!=操作符,反之亦然

2015-09-20 12:03:56 369

原创 DOTNET笔记_值比较的实现

背景回顾1  在DOTNet的世界中,只有值类型和引用类型两种    值类型有以下几种:系统内置的基本值类型,struct,用户自定义的struct类型,Enum类型    引用类型:class,string,array,delegate,box-result2 值类型由于直接存储了内容,值类型变量的比较直接,简单;    引用类型变量,由于变量本身存储的只是托管堆上的引用,引

2015-09-20 11:46:30 384

原创 DOTNET笔记_Convert_CONST_ReadOnly_Enumerator

1 Type Cast类型转换    前置条件:     Double src = 4.5;    Int32 target;    转换方式:    1) 强制转换        target = (Int32)src;        这种转换的工作原理是只取小数点左边的整数部分    2) Convert.Int32         target = Con

2015-09-19 23:28:07 368

原创 JavaScript_个人笔记10_由一个JS语法错误想到的

JAVASCRIPT 函数声明 匿名函数

2015-04-19 11:27:47 635

原创 【每日一发】计算机中丢失DSPack_d7.bpl

计算机中丢失DSPack_d7.bpl

2015-04-19 10:41:41 1124

原创 【每日一发】DELPHI位图文件的裁剪和伸缩操作

在工作中有用到缩略图展示,这个时候就需要对图片进行伸缩处理,也有时候会遇到需要裁剪部分区域,比如正中间的部分,通过在网上查阅资料,发现通过Windows的两个API就可以很方便的搞定。    先贴下代码:    procedure FitBitmap(const Source,Dest:string;const x,y:integer;const ColorBit:TPixelForm

2015-04-18 12:31:03 1476

原创 【分享一个SQL函数】在SQL脚本中匹配使用特定分隔符分隔字符串的位置

前段时间在工作中遇到一个问题:     abc,12,345,78     这个字符串统一通过逗号隔开,现在需要通过知道 12这个字符串的位置。     这种情况可以通过下面这个方法     /** 说明: 1)返回第一个满足的字串的位置 2)位置从0开始 */IF EXISTS(SELECT * FROM DBO.SYSOBJECTS WHERE

2015-04-18 12:16:29 833

原创 【每日一发】同样4个字节的浮点数和整数为什么表达的范围有很大差异

如果突然问这个问题,不知道是不是每个人都能思路清晰的应答。下面简单的说一说这个区别       32位的整数,最大值是21亿左右,占用4个字节的浮点数,最大值大约是3.4×10^38.       虽然两者占用的空间一致,但是其组织数据的方式是完全不同的。       先说说比较属性的整形吧,为了简单,只说正数,符号位1位,值为0,后面的全部是111, 0111 1111 1111 1

2015-04-18 11:52:39 8007

原创 JavaScript_个人笔记9_悟透js闭包

JAVASCRIPT 清晰观察闭包行为

2015-04-13 23:11:36 414

原创 JavaScript_个人笔记8_js的闭包closure

JAVASCRIPT闭包

2015-04-12 18:10:37 410

原创 JavaScript_个人笔记7_javascript作用域链

JavaScript 作用域链 函数 变量

2015-04-12 12:15:41 324

原创 【每日一发】基于JS的图片瀑布流

前段时间通过网络课程学习了一个基于JS的瀑布流展示,今天想起来想重写起来,发现还是不能正确写出,究其原因还是因为工作中很少用到前端的东西,很多东西感觉都丢了。对照以前写的Demo,看了之后感觉还是小小总结一下。    一 如何展示一张图片比较好看呢?        1) 现实生活中的图片是什么样的? 一张相片纸,中间部分是真实的图片,外面部分是边框。如果从HTML控件上思考,可以分为3层:

2015-04-09 23:48:51 431

原创 JavaScript_个人笔记6_再说函数

在JS中,函数可以分为3中:1)函数声明 FD(FUNCTION DECLARE)  2),函数表达式 FE  3) Function类。    函数声明 FD:这种是最常见的。     function Foo(){}     函数声明在进入上下文时就会创建,所以针FD,在代码结构上往往可以会出现     var fooResult = Foo();     function

2015-04-08 21:30:58 315

原创 JavaScript_个人笔记5_JavaScript_event相关的重要参数

JavaScript Event

2015-04-07 22:15:41 361

原创 【每日一发】Delphi从Dll中提取自定义的资源文件

DELPHI dll, 资源文件

2015-04-06 17:42:37 1990

原创 JavaScript_个人笔记3_JavaScript的函数

1 函数的arguments      arguments是js内置的关键字,类似Array,但并不是Array。     arguments有length属性,可以通过下标来访问。     arguments的个数跟实参的个数保持一致,跟形参没有关系。     arguments的内容可以在函数体内修改     Array.prototype.testStr="Test";

2015-04-05 16:37:21 389

原创 JavaScript_个人笔记3_JavaScript扩展

Javascript使用prototype的机制实现继承,今天就总结一下利用prototype实现类的继承。       prototype的使用方式一般为Class.prototype,prototype可以认为是所有JS类的一个静态属性。       var Class = function(){}Class.printLn = function(str){ documen

2015-04-05 10:36:03 335

原创 JavaScript_个人笔记2_JavaScript的变量

JS是一款原型语言,没有内置的类型,但是js允许通过function关键在来模拟一个类。    对于任何一款有类概念的原来说,构造函数肯定是重要的,毕竟它是类实例化的方法。js相对于其他语言,有一个重要的特点就是,它允许用户切换上下文,并且,在js里面,一切皆对象,因此,一个对象的确切含义是需要结合其所在的上下文来理解的。    说一说js的构造函数中的变量。     //一个类的构造

2015-04-04 10:59:59 339

原创 CXGRID_实现类似邮件阅读状态的图片切换

之前为了实现这个功能,各种搜索结果都不理想,最终找到了一个方案,文字没有说清楚,提供的Demo链接竟然是死链,没有办法自己摸索了一番终于搞定了,但是过了一段时间又忘记了,又回去看自己写的代码,内疚万分,整理于此,以防止以后又忘记了。        需要的控件: CxGrid, TClientDataSet, TDataSource, TcxImageList.        要点:

2015-04-02 23:03:43 787

原创 JavaScript_个人笔记1_JavaScript的面向对象是模仿的

这几天看了一些javascript的资料,有一些想法和疑惑,整理整理放在这里当作一个历史足印。    今天是第一篇,来点最基础的,说一说js的面向对象特性,总的来说,js的面向对象都是模拟的,跟一般的面向对象语言是有差异的,抓住这一点,所有的东西    说到OO,无非就是三大特性:封装/继承/多态。这些特性的存在都是基于类和对象的,那么先说说js的类。    js的类【模拟的类】:

2015-04-02 21:58:37 342

原创 两个理发店的思考

楼下有两个理发店:由近及远,分为命名为A,B。

2014-04-12 21:11:50 593

原创 使用JCL查找问题

最近一个项目,偶尔出现一些外部异常,有同事推荐使用JCL挂着,在程序运行的过程中抓一些堆栈的出入情况。       简要的说一些使用的方式:       1 打开MAP file的生成功能。 Project Option->Linker->Map File->Detail       2 在工程中引用DelphiStackTrace,这个单元没有直接被使用,但是关系到堆栈信息的获取

2014-03-15 22:40:58 863

原创 [CSharp In Depth]迭代器

最近好多事请,好多事情都反反复复,这样的结果就是给人很大的挫败感。从今以后,做什么事一定要有头有尾,坚持完成!       除了集合类型可以使用Foreach,其他的内容也可以使用Foreach来遍历,使用Foreach保证了类型统一安全,代码简洁高效。       要想使用Foreach的语法规则进行遍历,只需要实现IEnumber接口,而该接口的实现就是要实现IEnumerator,在

2014-03-08 17:35:48 1651

原创 基于MoreWindows整理的基础排序的个人理解

春节期间拜读了MoreWindows整理的白话经典算法之七大排序,受益匪浅。但正所谓纸上得来终觉浅,这两天一一重新写了一遍,将一些心得体会记录如下:     一、关于排序算法的稳定性:一个稳定的排序算法,就是相同值的左右位置经过排序之后不会更换。一个很好的例子是:一个学生的信息包含学号,年龄,按照年龄来进行由小到大的排序,最终学号的顺序也还是从小到大的。七种算法里面,冒泡,插入,归并排序是稳定

2014-02-08 15:43:28 649

原创 BUG,错误的反思:20131224

最近慌忙火急的完成了一个项目,本以为凭借着之前的一些经验可以很快交付,但是还是折腾了2天的工作时间调试,到现在终于要提交代码了,看看中间跳出来的BUG,分类总结一下:     1 初始化结构体数组,用局部变量修改,没有更新到数组中         对于这种问题,今后应该直接使用数组名称逐个遍历元素,更新即可。引入局部变量的本意是让代码更清晰,但是这样就把之前一步完成的工作分解成三步了:1)

2013-12-24 21:48:42 535

原创 基础代码分析五:委托,引用,变量

委托实例是一个引用,委托的实例之间是独立的,一般情况下并不会影响到彼此,但是,在委托实现中,匿名方法,变量的共用会出现一些意想不到的问题。 public static void TestBoth() { MIT[] delegates = new MIT[3]; int outside = 0; for (

2013-12-22 21:41:36 675

原创 基础代码分析之四:委托与匿名方法

匿名方法顾名思义就是没有省略名称的方法,委托的定义需要使用delegate关键字,匿名方法的关键就是用这个关键字,让编译器可以按照左边的放类型进行正确的代码补全进行编译,生成IL.匿名了,参数列表,实现均不受影响。using System;using System.Collections.Generic;using System.Linq;using System.Text;using

2013-12-21 14:04:50 529

原创 代码分析三:委托,协变性

今天看到委托方法的协变性存在,会出现一个,子类重载了子类的方法,在C#2中会导致委托方法会主动找派生类的方法,但是我用VS2010试验了一下结果有点奇怪,委托方法找的还是基类的方法,难道是C#的版本不同导致的,新版本的C#已经修改了该方法?using System;using System.Collections.Generic;using System.Linq;using Syste

2013-12-21 11:42:21 691

原创 代码分析二:泛型方法与反射

泛型在类型安全,对于值操作的性能,代码的表现力上有极大的意义。       在CSharpInDepth中,有一个结合泛型方法和反射的例子,代码抄了一遍贴上:       using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Reflection;

2013-12-17 22:11:11 620

原创 代码分析一:泛型与接口,枚举

VS有个一个解决方案的概念,这样诸多的工程可以放在同一个工程之中,方便管理,因为初学C#,本来以为只要我将学习的代码放到解决方案中就可以了,但是,随着代码量的增加,之前的例子还是石城大海,也没很多机会再回头看看,所以,就把一些很有意思的代码贴到博客里面,强制自己分析一遍,加深理解和印象,也保留了学习的足迹。--2013.12.15.    之前理解了接口的运行机制,但是泛型接口一度让我有点糊涂

2013-12-15 13:26:28 668

原创 大数据导入之Bulk Insert的一点总结

最近项目中需要对服务程序进行大规模的模拟测试,于是专门写了一个测试程序,测试程序包含:测试数据的管理,功能测试,流程测试,压力测试。    对于要测试的程序的数据源来自数据库,所以,需要模拟一个大的数据量,从1W,10W,100W,1000W...。其实,一直以来没有怎么搞过大数据,写程序的时候,最多搞一两条记录测试一下功能,功能OK了就提交代码,进行下一步测试了。但是,进行实际的测试中,总是

2013-12-13 23:19:45 3620

原创 C#基础实践:引用与值类型

C#里面表示和存储数据有两类方式:1 引用类型 2 值类型。      一、引用类型      表示引用类型的关键字有三大类:class,interface,delegate。 当然,还有一种引用就是基于泛型的定义,不过其基础还是前面三种基本的类型。引用在我的理解中其实就是,基于地址的访问,地址就就需要向系统申请空间,然后指向定所分配空间的开始点,所以就有了class,delagate这两

2013-12-06 22:38:44 831 1

原创 Inside VCL阅读有感一

Delphi的类架构为什么这么设计?一个TObject完成了管理对象的功能,一个TComponent完成了基本的组件管理。  Borland摒弃了多重继承,采用单根继承,这样程序设计和阅读都清爽不少。  首先是TObject  TObject是Delphi的万类之王:1. 使用表格驱动的VMT轻松完成了类层面信息的管理 2 实现了申请内存和释放内存的功能,所有的方法都处于Publish

2012-07-01 23:25:49 560

原创 Delphi对象指针小结

1 一个对象指针指向的一个对象的数据区,该数据区前面4个字节是一个指针,指向的是大名鼎鼎的VMT,其实是Self的地址,代码如下:procedure TForm1.btn3Click(Sender: TObject);var Chld: TChild; P1, p2, p3, p4: Pointer;begin Chld := TChild.Create; tr

2012-06-07 22:54:25 2856

原创 多看几遍就能够对Delphi或者指针有多一点的理解

使用Dephi使用指针的频率不会像C那么高,但是确实也会使用,特别是操作VMT的时候,下面是根据VMT的一些知识写的一个程序片段,在写出来之后,结合自己的理解,进行了比较详细的注释,在注释的过程中,对于所写的内容有了更加清晰的认识。      procedure TForm1.btn1Click(Sender: TObject);var iInstanceSize: Intege

2011-12-15 22:55:11 932 1

原创 又见DLL

其实,DLL这东西也用过一段时间了,但是大多都是对照着Copy样式,剩下的就是把自己想包含的东西写在里面,所以一直以来也没有报什么错。     今天中午,迷迷糊糊的写了一个动态库,大概的功能就是通过动态库传递选择一个颜色,然后传递回来。很简单的一个东西,但是或许是在午睡状态,更可能是该注意的东西其实根本就是没有理解,所以,这事真是“一波两折”。    一、测试调用DLL报内存错误。

2011-11-13 15:43:26 491 2

原创 将常用的字符串资源化

利用资源文件把一些字符串管理起来很方便。     1. 常量定义单元     unit ErrorCodeDef;interfaceconst CI_ERR_Input = $1001; CI_ERR_Ouput = $1002; CI_

2011-09-19 18:38:49 371

原创 代码审查小结

1 不要异地释放内存,释放内存请用FreeAndNil。伪代码:procedure TForm1.btn2Click(Sender: TObject);var  p: Pointer;begin  //FList存放了很多的同类型的指针  p := F

2011-08-20 13:14:36 466

理解Enumerator

从C# 高级编程这本书上扒下来的一个小例子,有助于理解enumerator

2015-09-19

JS DOM 表格操作

1 展示了一个动态操作表格的例子 2 有简单的CSS布局 3 主要供自己查阅参考

2015-04-20

瀑布流演示

这个是自己基于一个网络视频学习做的,稍作改动。因为刚刚接触前端,觉得里面HTML的结果设计,CSS的书写,JS的书写比较有特点,特别适合那些跟我类似的新手参考学习,同时也为了方便参考

2015-04-20

JCL_Debug_StackTrace_Demo

演示了在Delphi7中使用JCL捕捉在异常发生时的堆栈调用信息,相对于FastMM查找问题更加方便,直接打印了问题行

2014-03-15

Include_Form_DLL

制作了一个简单的包含窗体的DLL的例子,包中包含DLL的工程代码,测试程序

2011-11-13

Dll Depends

可以清晰的列出加载失败的动态库失败的原因,依赖的动态库名字,比一般的工具更加高效。

2011-10-28

线程属性理解源码——属性、释放线程

这是一个很简单的线程项目,主要是跟踪了线程各个阶段的属性的状态,还有如何释放一个线程,很基础,下载请慎重!

2011-07-31

内存泄露工具FastMM

如果使用Delphi7,遇到了内存泄露,结合MAP文件FASTMM的报告就可以很好的定位问题,附件包含FastMM4,FastMM4Messages两个pas文件,还有一个配置文件,和一个动态库FullMode_Debug_Mode.dll.默认配置直接可以使用。

2011-07-31

UMD Editor

这是一款用来打开umd格式文本的编辑器,绿色版,可以在xp/win7上放心使用

2011-07-26

Delphi7密码发生器

Delphi7的密码发生器,安装Delphi7企业版估计需要用到这个发生器

2011-07-04

Delphi新手必看--Delphi精要

国人写的关于Delphi相当不错的入门级别的书籍,真正理解、吸收了,就可以进阶Delphi高手了

2011-07-04

搜索工具Evertying

很强大的文件名搜索工具,方便文件的查找,一次建立索引只需要不到30秒的时间

2011-07-04

飞秋(飞Q feiQ).exe

局域网通信的好软件,界面类似QQ,是飞鸽的升级版,资源有点不好找,所以这里有个就放上来了。

2010-05-30

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除