【原创】.NET之我见
最近在准备面试,自己也顺带巩固了下基础,加上自己对码农的一些理解都写在这里了,水平不行,欢迎吐槽
//.NET基础
1.Class 和struct 区别
类是一种“引用类型”。创建类的对象时,对象赋值到的变量只保存对该内存的引用。将对象引用赋给新变量时,新变量引用的是原始对象。通过一个变量做出的更改将反映在另一个变量中,因为两者引用同一数据。
结构是一种值类型。创建结构时,结构赋值到的变量保存该结构的实际数据。将结构赋给新变量时,将复制该结构。因此,新变量和原始变量包含同一数据的两个不同的副本。对一个副本的更改不影响另一个副本。
2.值类型和引用类型:
常见的值类型: int, 在定义是必须初始化,分配在栈(Stack)上
常见的引用类型:string, 在定义时可以初始化为null, 分配在堆(Heap)上
3.装箱和拆箱
装箱:从值类型转为引用类型。装箱列子: int i=0; String s= (string)i;
拆箱:引用类型转化为值类型。拆箱例子: int i=0; Object obj=i; int j =(int)obj;
4. 异常的作用是什么?.NET BCL中有哪些常见的异常?在代码中您是如何捕获/处理异常的?在“catch (ex)”中,“throw”和“throw ex”有什么区别?您会如何设计异常的结构,什么情况下您会抛出异常?
Throw 和 Throw ex 差别
Throw 和 Throw ex 差别 http://www.cnblogs.com/JerryTian/archive/2012/09/24/2699459.html
5. Dispose ,Close, set object= null 区别?
从内存角度来看, 举个例子:
var frm1 = New Form(); //在内存 0x000022~0x0000088 开辟了一块内存放置frm1, 如果调用 frm.Close(); 则该内存区域扔被frm1占用,下次再frm.Open()就会很快。如果调用frm.Dispose() 方法则从释放这段内存,并立即调用GC回收这段内存。
frm =null; 则只是释放这段内存,等待GC回收。
这里顺便说下.NET提供的using语法, 它可确保在实现了IDisposeable接口的对象的引用超出作用域时,在该对象上自动调用Dispose方法。
Or just a general statement. With the connection object calling Close() will release the connection back into the pool. Calling Dispose() will call Close() and then set the connection string to null.
6.什么是.NET?什么是CLI?什么是CLR?IL是什么?JIT是什么,它是如何工作的?GC是什么,简述一下GC的工作方式?
.NET是一个微软的开发应用层程序的框架.CLI 是公共语言接口,CLR是公共语言运行时,IL是中间语言,JIT 即时编译? GC垃圾回收器,定是运行,回收没有被用的内存资源
7. 什么是扩展方法,能带来哪些好处?
扩展方法就是在不改变原有代码的情况下,给一个已经存在的类扩展一些方法。
8.List<int> 和 int[] 区别?
9.关于并行编程:
1.异步委托: 定义一个委托,将要异步之行的方法指向该委托,委托调用BeginInvoke来异步之行该方法(返回一个IAsyncResult的对象到主线程),可以判断IAsynResult的行为,或者直接之行一个回调方法来使用异步方法返回的IAsyncResult的结果。
2.Thread类:
前台线程和后台线程:
Thread类创建的线程总是前台线程(除非指定IsBackgroundThread = true),线程池创建的线程总是后台线程, 有时程序已经关掉,进程没有被杀掉就是因为UI线程结束了,但是创建的其他前台线程还没有结束,所以。。。。但是如果创建的是后台线程,则后台线程会随着前台线程的结束而结束。
3.ThreaPool
ThreadPool总是创建的后台线程,而且不能指定优先级,一般用于之行耗时比较小的任务。如果是耗时比较久,则创建Thread类的实例比较好。
10.关于性能优化:
自己总结的一点工作经验:
1.避免在迭代里查询数据库,这样会增加I/O
2.不用的非托管资源及时回收
//数据库
聚集索引和非聚集索引区别
聚集索引类似电话簿,数据按照聚集索引顺序排列,一个表只能有一个聚集索引,但该索引可包含多个列。
非聚集索引类
//Web
1.Authentication 与Authorization 区别
Authentication, “你是谁”的问题,Authorization “你能做什么“的问题。
【原创】.NET之我见的更多相关文章
- 【原创】MIPS浅议之——中断系统之我见
最近,准确的说应该是最近两个月的时间,我都在研究MIPS的异常与中断.或者可以说,最近这两个月,我才真正了解中断系统的整个结构和处理流程以及为什么要这样做?这段时间我最大的体会就是以前我们在“计算机组 ...
- 网友微笑分享原创Jquery实现瀑布流特效
首先非常感谢网友微笑的无私分享,此Jquery特效是一款非常流行和实用的瀑布流布局,核心代码只有几十行,是我见过代码量最少的瀑布流布局,非常适合网友们学习哦,希望大家好好看一下这个Jquery特效的原 ...
- WPF DataBinding之我见
原创,转载请注明出处:WPF DataBinding之我见 一.DataBinding介绍 数据绑定是在应用程序 UI 与业务逻辑之间建立连接的过程. 如果绑定具有正确设置并且数据提供正确通知,则 ...
- 【原创分享·支付宝支付】HBuilder打包APP调用支付宝客户端支付
前言 最近有点空余时间,所以,就研究了一下APP支付.前面很早就搞完APP的微信支付了,但是由于时间上和应用上的情况,支付宝一直没空去研究.然后等我空了的时候,发现支付宝居然升级了支付逻辑,虽然目前还 ...
- 【原创分享·微信支付】C# MVC 微信支付教程系列之现金红包
微信支付教程系列之现金红包 最近最弄这个微信支付的功能,然后扫码.公众号支付,这些都做了,闲着无聊,就看了看微信支付的其他功能,发现还有一个叫“现金红包”的玩意,想 ...
- 【原创分享·微信支付】 C# MVC 微信支付教程系列之扫码支付
微信支付教程系列之扫码支付 今天,我们来一起探讨一下这个微信扫码支付.何为扫码支付呢?这里面,扫的码就是二维码了,就是我们经常扫一扫的那种二维码图片,例如,我们自己添 ...
- 【原创分享·微信支付】 C# MVC 微信支付教程系列之公众号支付
微信支付教程系列之公众号支付 今天,我们接着讲微信支付的系列教程,前面,我们讲了这个微信红包和扫码支付.现在,我们讲讲这个公众号支付.公众号支付的应用环境常见的用户通过公众号,然后再通 ...
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
- [原创]java使用JDBC向MySQL数据库批次插入10W条数据测试效率
使用JDBC连接MySQL数据库进行数据插入的时候,特别是大批量数据连续插入(100000),如何提高效率呢?在JDBC编程接口中Statement 有两个方法特别值得注意:通过使用addBatch( ...
随机推荐
- subversion
yum install apr-util-devel.x86_64 sqlite-devel https://subversion.apache.org/download.cgi ./configur ...
- ORACLE 数据库需要创建索引的规则
1.表的主键.外键必须有索引: 2.数据量超过300的表应该有索引: 3.经常与其他表进行连接的表,在连接字段上应该建立索引: 4.经常出现在Where子句中的字段,特别是大表的字段,应该建立索引: ...
- JavaSE知识结构
- [php-src]Php扩展的内存泄漏处理思路
内容均以php5.6.14为例. 一. 封装函数时产生 memory leaks. [weichen@localhost www]$ php .php [,] [Tue Jul :: ] Script ...
- 证书过期-->app审核提示90034证书错误
1.证书过期问题,去钥匙串中删除过期证书,然后新下载一个证书,重新添加,注:一定要把所有过期证书全部删除,如果不显示则点击钥匙串-->显示过期证书 然后下载新证书:https://develop ...
- cxf+spring+数字签名开发webservice(一)
数字证书的准备 下面做的服务端和客户端证书在例子中无法加解密,不知道什么原因,我是使用正式环境中的客户端和服务端进行开发测试的,所以需要大家自己去准备证书,或者有人知道为什么jdk生成 ...
- TaskScheduler的启动
<深入理解Spark:核心思想与源码分析>一书前言的内容请看链接<深入理解SPARK:核心思想与源码分析>一书正式出版上市 <深入理解Spark:核心思想与源码分析> ...
- asp.net 跨域服务器 上传文件
最近一个项目遇到问题,公司局域网中,在F域下有个服务器Fa,我们的项目就部署在Fa.项目里面有个功能,需要把生成的文件(.doc,.xls,.pdf)保存到O域的一台文件共享服务器Ob.在原有的网络环 ...
- ZOJ3774_Power of Fibonacci
求fibonacci数列前N个数的K次方和. 通项公式:F[n]=((1+sqrt(5))/sqrt(5)-(1-sqrt(5))/sqrt(5))/sqrt(5). 有点乱,不过由于可以保证最后的结 ...
- 关于hover
要想实现a:hover b{} 得到样式的话,a必须是b的父元素