Google [站内搜索]

预览模式: 普通 | 列表

.NET内存分配浅析

我知道这是一个富有神话色彩的主题,同样也是个深奥的主题,说它神话是因为.NET程序员几乎看不到它,但是它一直在保护着.NET程序的运行,说它深奥可能涉及一些底层的东西在这个高级的编程语言里显得有点与众不同。我希望通过本文能和大家一起分享.NET关于内存分配上的一些经验,正如题目所描述这里只是浅析,因为我的知识也大部分来自MSDN和一些观察的结果。

一个有趣的假设

.NET很霸道,.NET程序基于这样一个假设,用户的内存是无限的(这怎么可能呢),为了管理这个“无限”的内存.NET需要一个管理器来在有限的内存上模拟出来一个无限的内存空间,对于.NET应用程序来说这些都是透明的(应用程序是看不到的),.Net程序只管贪婪的申请内存,其他事情就有这个管理器来处理,这个管理器微软叫它垃圾收集器(这个概念在JAVA里面早就有了)。基于这个“无限”内存的假设.NET的内存分配是线性的,线性分配内存是最高效的,在分配内存的时候首先计算需要分配的地址空间然后再将头指针偏移即可,这时候头指针指向下一次要分配的内存的起始位置。如果内存真的是无限的,可以想象这种程序的运行将会多么高效,可惜的是内存是有限的,神话结束了。

查看更多...

分类:操作系统 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3534

面试题:最后一人开始时的位置?

题目

50人排一队,从1开始报数,3倍数的退出,到尾后头的人接着报(如第2轮时第1个人报51),问最后1人开始时的位置?

代码

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3347

Web.config好用,但不宜滥用

在ASP.NET应用程序中,Web.config文件用于存储应用程序配置信息,并且ASP.NET提供了专门的类(如:System.Configuration.ConfigurationManager)来读取配置,这使得我们非常乐意把一些短小的数据存放在Web.config中。

但有一点值得注意:每次修改Web.config,都不可避免的会导致Session丢失。很显然,对于一个已经在运行的站点来说,修改Web.config则意味着所有登录用户被退出,这是非常不可取的。

所以,我们应该有选择性的在Web.config存储数据,所有存储在Web.config的数据,在站点运行后都不应被修改,这一点非常有必要。
分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 3801

ASP.NET密码框赋默认值方法

对于普通的文本输入框,可以使用下边的方法赋默认值:

<asp:TextBox ID="TextBox1" runat="server">12345</asp:TextBox>

将输入框类型改为密码后,页面上密码框总是空白,默认值丢失:

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5115

软件也有重量?


A:你的本本怎么越来越重,比刚买的时候重多了
A:不过也挺正常,里边安装的软件也比刚买时多多了
B:......
分类:网络文摘 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 4304
在ASP.NET页面使用TreeView控件时意外的报错,异常详细信息:

引用内容 引用内容
System.Web.HttpException: 无法使用前导 .. 在顶级目录上退出。

问题重现

查看更多...

分类:Web编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 8319

css让页面制作更简单



一个div加css即可完成上边的效果:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

查看更多...

分类:HTML/CSS | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 6914

[私密日志] 私密日志

该日志是私密日志,只有博主或发布者可以查看!
分类:其他 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 1591

从素数问题看对象思维方式

1.引言

随着C++、Java、C#等面向对象的编程语言的日益普及,面向对象概念已经深入人心;从面向对象的编程语言到面向对象软件工程方法也日益得到广泛的应用;关于面向对象的更进一步的应用如:面向构件、面向服务、面向模式等新思维也逐步发展起来,而这些新方法都是建立在面向对象的思维方式上的。由此可见,深入理解面向对象的思维方式不仅可以帮助我们理解目前面临的应用模式,还是我们进一步学习和发展的必经之路。
我们很多人都是传统的结构化思维方式中走过来的,本文即通过一个经典数据结构中的算法问题来探讨如何走出传统的思维模式,而通过对象思维方式来解决问题,进而理解到底什么是对象思维方式。从而为后续的对象课程热身。

查看更多...

分类:其他 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 5590

T-SQL批量添加指定记录3种方法

方法一:使用insert into...values...

create table #s(id int identity(1,1) primary key,name nvarchar(20),age int)
--批量添加
insert into #s(name,age) values('stu1',20)

查看更多...

分类:服务器 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 4823