版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
根据前几个阶段的分析和设计,本系统在设计方面采用B/S模式,同时使用JSP技术进行基本页面的设计与功能实现,后台数据库选用MySQL数据库。本系统的设计实施为停车场收费系统的运行做基础,为停车场收费系统提供良好的条件。从停车场收费系统角度出发,整体分析和构建数据库应用系统,充分利用JSP开发环境提供的开发技术,实现停车场完善的收费体系。2)采用软件工程的方法完成本设计,提高软件开发综合能力,了解软件系统架构设计能力和软件过程实施能力,从而培养软件工程的整体使用能力。管理员编号(主键)用户名用户密码车型编号(主键)车型名称字段名数据类型长度功能描述车位编号(主键)车位状态字段名数据类型长度功能描述idInt4编号(主键)Chexingvarchar20车型Startdatetime8开始时间Enddatetime8结束时间Price字段名数据类型长度功能描述idInt4编号(主键)balanceint20typevarchar8类型timedatetime8办理时间内存是所有程序都需要的一种资源,然而明智的内存用法正在变成丢失的艺术。为Microsoft®.NETFramework编写的托管应用程序依靠垃圾回收器来分配和清理内存。对于很多应用程序而言,花费3%到5%的CPU时间来执行垃圾回收(GC)是一个公平的折衷方案,这样就无须担心内存管理问题。但是,对于CPU时间和内存都是宝贵资源的应用程序而言,尽量减少花费在垃圾回收方面的时间可以大大提高应用程序的性能和健壮性。如果应用程序可以更有效地使用可用内存,则垃圾回收器的运行频率就会降低,并且运行的时间也会缩短。因此,请不要在应用程序中考虑垃圾回收器做什么或者不做什么,而要直接考虑内存用法。大多数生产计算机都具有数量巨大的RAM,并且从全局来看,诸如使用短整数而不是常规整数之类的优化可能似乎没有多大意义。在本文中,我将改变您的看法。我将考察类型大小调整、各种设计技术以及如何分析程序的内存利用。我的示例将重点讨论C#,但是该讨论同样适用于VisualBasic®.NET、托管C++以及您能够想到的其他任何面向.NET的语言。我假设您了解有关垃圾回收工作方式的基础知识,包括相关的概念,如生成、处置模式和弱引用。如果您不熟悉这些概念,则请参阅JeffreyRichter撰写的有关垃圾回收的出色文章:GarbageCollection:AutomaticMemoryManagementintheMicrosoft.NETFramework。内存用法最终取决于程序中的程序集所定义和使用的类型,因此让我们首先分析一下系统中各种类型的大小。图1显示了System命名空间中定义的核心.NET值类型的大小(字节),以及它们等效的C#类型。我使用不安全的代码和C#sizeof运算符来验证这些值类型在托管内存中的大小。对于其中一些类型(包括bool和char),使用Marshal.SizeOf方法而不是sizeof运算符会产生不同的值,这是由于Marshal.SizeOf计算封送处理类型的非托管大小,并且这些类型不是直接复制到本机结构中的(这意味着它们在托管代码和非托管代码之间传递时,可能需要转换)。稍后将对此进行详细讨论。结构(值类型)的大小被计算为其字段大小的总和,外加由于将这些字段与其自然边界对齐而增加的任何开销。引用类型的大小是其字段大小向上舍入到下一个4字节边界,外加8字节的开销。(要了解您的引用类型使用多少空间,您可以度量堆大小在分配它们时的变化,或者可以使用稍后讨论的CLR分析器工具。)这意味着所有引用类型都至少占用12字节,因此在C#中,长度小于16字节的任何对象作为结构可能更有效一些。当然,如果您需要存储类型的引用,则结构会有问题,因为频繁的装箱可能耗尽内存和CPU周期。因而,谨慎地使用结构是很重要的。由于字段对齐可能影响类型的大小,因此类型内部的字段组织在其最终大小方面扮演重要的角色。类型的布局以及具有该布局的字段的组织受到应用于类型的StructLayoutAttribute的影响。默认情况下,C#、VisualBasic.NET和C++编译器都将StructLayoutAttribute应用于结构,以指定Sequential布局。这意味着字段按照它们在源文件中的顺序布置在类型中。但是,在.NETFramework1.x中,对Sequential布局的请求不会被即时编译器(JIT)遵守,即使该请求是由封送拆收器提出的。在.NETFramework2.0中,JIT确实为值类型的托管布局实施了Sequential布局(如果指定的话),尽管前提是没有引用类型字段成员。因而,在下一个版本的Framework中,类型的大小调整可能会更加重要。在所有版本中,对Explicit布局(其中,由开发人员指定每个字段的字段偏移量)的请求同时被JIT和封送拆收器遵守。我之所以进行这一区分,是因为类型的封送布局通常与该类型的堆栈或GC堆布局不同。封送类型的布局必须
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 年度办公设备租赁服务合同04
- 健身俱乐部运营管理咨询合同2024年度
- 个人债权转让合同书
- 苗木购销合同简化 苗木购销合同下载
- 全新小企业劳动合同范本
- 物业房屋出租租赁合同
- 煤矿生产设备维修合同(2024版)
- 桥梁工程劳务协议
- 预防医学史周华课件
- 服装厂简易劳务合同范本电子版
- 【初中道法】爱护身体+课件-2024-2025学年统编版(2024)道德与法治七年级上
- 建筑施工安全生产治本攻坚三年行动方案(2024-2026年)
- 中国戏曲剧种鉴赏智慧树知到期末考试答案章节答案2024年上海戏剧学院等跨校共建
- 中国银行境外汇款申请书打印版
- (完整版)RNA的生物合成(转录)考试题目及答案
- 法院传票模板
- 《渡荆门送别》优秀课件
- 北京一号是怎样构造和设计的
- 心理安全网格化监管实施方案
- 汉书_司马迁传全文
- 钢筋混凝土课程设计
评论
0/150
提交评论