这些天写的技术微博

简介:

为什么类型和实例对象都要类型对象指针方法和类型所需的内存是在一起分配的,方法被类型和实例对象共享,在实例化一个对象的时候不会为方法分配内存,而调用方法时只能通过类型对象指针定位到方法表中相应的方法,进行调用

 

==Equals的区别:值类型他们的效果是一样的,因为值类型分配在线程栈上,存的就是值,直接比较的就是值引用类型:==判断是否指向同一个地址;Equals比较的是变量所指的内存中的数据是否相同

 

Dictionary时间复杂度:AddContainsKeyRemoveTryGetValueO(1),只有ContainsValueO(n);因为前者根据哈希算法直接定位到数组索引,而后者却要遍历数组做比较;RemoveAdd并没有发生数组元素的移动,数组是预先分配好的,Add只是填充,而Remove只是将对应的元素都置为初始状态

 

不要把动态的内容存在不能修改的缓存中,如存在静态字段中,如果内容改了,缓存中内容却改不了,如果存在静态字段中,可以隔一段时间更新一下,或者让你的缓存依赖某个文件。总之要让自己可以控制缓存中的内容

 

int映射到FCLSystem.Int32,string映射到FCLSystem.String,他们没有区别,相当于using int=System.Int32

 

值类型赋值是逐一对字段赋值,将一个很大的结构体当做实参传递是很低效的,如果这个结构体有1000个字段,那就要赋值1000次,而引用类型赋值,只是修改指针指向,说明将Class修改成Struct并不一定能提升性能,struct的类型实例一定要小

 

拆箱其实是一个获得一个指针的过程,该指针指向对象的数据部分,紧接其后是一个赋值动作,拆箱就是把引用类型赋给值类型,其实是赋给一个中间变量,然后你就可以调用值类型的方法了

 

foreach循环读取数组中的元素的同时添加或删除元素,都会报InvalidOperationException异常,因为添加和删除都会修改字段version的值,而MoveNext里面会判断version的值和数组元素的个数是否发生变化,如果发生变化就报这个异常 

 

为什么类型和实例对象都要类型对象指针 方法和类型所需的内存是在一起分配的,方法被类型和实例对象共享,在实例化一个对象的时候不会 为方法分配内存,而调用方法时只能通过类型对象指针定位到方法表中相应的方法,进行调用

 

效率:静态方法>实例方法>虚方法 1:静态方法不需要判断对象是否为空,而实例方法需要判断调用该方法的对象是否为空 2:虚方法有一些额外代码,用于判断是调用父类的方法还是调用子类的实例方法。实例方法和虚方法都要进行非空检查,若为null,就会抛出你常见的NullReferenceException,而静态方法不需要进行非null检查,你见过调用静态方法抛这个异常吗?

 

金字塔、锥形结构、树形结构有很好的稳定性,能很好的分散压力负载

 

想了几十分钟没有找到好的解决方法,吃完饭后瞬间就找到了好的方案,感觉思路非常清晰,这就是正确的答案

 

 一个简单的防攻击类

 

DataTable 转换成 List

 

作者:陈太汉

博客:http://www.cnblogs.com/hlxs/

 


本文转自啊汉博客园博客,原文链接:http://www.cnblogs.com/hlxs/archive/2012/03/28/2420564.html

目录
相关文章
|
定位技术
微博进入肉搏时代:腾讯明争新浪,网易微博暗斗
   在2009年到2010年,新浪将微博市场大局紧紧攥在自己手里。但从2010年末,新浪之外的其他三家门户开始发力,腾讯、网易、搜狐各携自家杀手锏,将中国微博推向真正的肉搏时代。时至今日,中国微博战争的硝烟,已经轰轰烈烈地遍布每个角落。
1522 1
|
新零售 搜索推荐 NoSQL
今日头条这么牛逼,用了什么技术?
今日头条创立于2012年3月,到目前仅 6 年时间。从十几个工程师开始研发,到上百人,再到200余人。产品线由内涵段子,到今日头条,今日特卖,今日电影等产品线。
3771 0
|
存储 编解码 视频直播
新浪微博技术分享:微博短视频服务的优化实践之路
1、引言 本文来自新浪微博视频转码平台技术负责人李成亚在LiveVideoStackCon 2017上的分享,由LiveVideoStack整理成文。李成亚分享了微博短视频如何提升用户体验、降低成本的思路与实践,包括提升短视频发布速度,降低长视频转码时间,通过新的Codec减少带宽成本等。
2422 0
|
运维 容灾 关系型数据库