博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
这些天写的技术微博
阅读量:6414 次
发布时间:2019-06-23

本文共 1371 字,大约阅读时间需要 4 分钟。

 

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

 

==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

 

作者:

博客:

 

 

转载于:https://www.cnblogs.com/hlxs/archive/2012/03/28/2420564.html

你可能感兴趣的文章
VTK三维点集轮廓凸包提取
查看>>
【概率论与数理统计】小结9-3 - 区间估计
查看>>
Golang性能调优入门
查看>>
sqlloader外部表
查看>>
golang笔记——数组与切片
查看>>
屏蔽可忽略的js脚本错误
查看>>
【Vue】vue.js常用指令
查看>>
NFS学习
查看>>
MySql常用命令总结
查看>>
又一年...
查看>>
Linux VFS
查看>>
ext不能选中复制属性_如何实现Extjs的grid单元格只让选择(即可以复制单元格内容)但是不让修改?...
查看>>
python中print的作用*8、不能+8_在 Python 3.x 中语句 print(*[1,2,3]) 不能正确执行。 (1.0分)_学小易找答案...
查看>>
python 生成html代码_使用Python Markdown 生成 html
查看>>
axure如何导出原件_Axure 教程:轻松导出图标字体所有图标
查看>>
laravel input值必须不等于0_框架不提供,动手造一个:Laravel表单验证自定义用法...
查看>>
cad填充图案乱理石_太快了吧!原来大神是这样用CAD图案填充的
查看>>
activator.createinstance 需要垃圾回收么_在垃圾回收器中有哪几种判断是否需要被回收的方法...
查看>>
rocketmq 消息指定_RocketMQ入坑系列(一)角色介绍及基本使用
查看>>
redis zset转set 反序列化失败_掌握好Redis的数据类型,面试心里有底了
查看>>