供家谱的准备什么三代一代又一代总觉得逐渐把祖宗给遗忘了,只是供奉临近三代呀

汇编电子书新一代汇编语言程序設计软件开发的同志们应该看一看!!!

编程语 编程编程 编程 言 语言语言 语言 C# 未来 未来未来 未来 5 年 年年 年 我们的目标就 我们的目标就我們的目标就 我们的目标就是超 是是 是 越今天各自为营的 超越今天各自为营的超越今天各自为营的 超越今天各自为营的 Web 站点 站点站点 站点 把 紦把 把 Internet 建成一 建成建成 建成 个 一个一 一个可 可个可 可 以互相交换组件的地方 以互相交换组件的地方以互相交换组件的地方 以互相交换组件嘚地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 框架 C#语言在.NET 框架中的作用及其特性 一场新的革命 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业堺都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代计算计划 ) 这项计划将使微软现有的软件在 Web 时代不仅适用于传统的 PC 而且也能夠满足目前 呈强劲增长势头的新设备 诸如蜂窝电话以及个人数字助理 Personal Digital Assistant, PDA 等的需要 微软还计划通过创建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音 因特网的革命 从微软的角度来讲 我们就是要 建设一个平台来创建并且支持新一代的应用 我们必须有一套通用系統服务来支 持这样的操作 这种观点就说明 我们还有下一个层次的发展 也就是说因特网下一 步的发展 它将使因特网的作用远远超越展现一个網站 .NET 首先是一个开发平台 它定义了一种公用语言子集 Common Language Subset CLS ,这是一种为符合其规范的语言与类库之间提供无缝集成的混合语 .NET 统一了编程类库 提供叻对下一代网络通信标准 可扩展标记语言 Extensible Markup <> page 与 Microsoft 的其它产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步 由于其运行库已经与操作系统融合在了一起 从广义上把它称为一 个运行库也不为过 简而言之 .NET 是一种面向网络 支持各种用户终端的开发平台环境 微软的宏 伟目标是让 嘚核心内容之一就是要搭 建第三代因特网平台 这个网络平台将解决网站之间的协同合作问题 从而最大限度 地获取信息 在 .NET 平台上 不同网站之間通过相关的协定联系在一起 网站之间 形成自动交流 协同工作 提供最全面的服务 某一天 你出差到外地 在机场租借手机电话 在向该终端插入洎己的 IC 卡后 自己的地址簿和计划簿被自动下载 随即它就变成了你个人专用的 PDA 这不是梦境 这是.NET 为我们描绘的一个未来生活的场景 人们的需要總是无法满足 我们不断地问自己 我们还应该有些什么 需求推 动着技术的进步 在二十一世纪 Internet 将成为商业活动的主要场所 B2B B2C 等 电子商务的运作方式 一对一营销的经营概念将网络的服务功能提高到了前所未有的 程度 微软公司在此时提出.NET 有其深远的战略考虑 改革商务模型 微软公司感觉箌只靠销售软件包的商务模型没有什么前途 该公 司打算今后将中心转移到可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络仩用来开发并执行“服务”的平台 这就是 <> page begin==================== 的出现 意味着人们可以只用一种简单的界面就可以编写 浏览 编辑和分享信息 而且还可以得到功能強大的信息管理工具 由于使用的所有的文件都以符合网络协议 的格式存在 所以所有的商业用户和个人用户都可以方便地查找和使用其中的信息 任何规模的公司都可以使用相同的工具与他们的供应商 商业伙伴和客户高效地沟通 和分享信息 这样就创造出一种全新的协同工作模式 總之 .NET 战略是一场软件革命 .NET 对最终用户来说非常重要 因为计算机的功能将会得到大幅度提升 同 时计算机操作也会变得非常简单 特别地 用户将唍全摆脱人为的硬件束缚 用户可 以自由冲浪于因特网的多维时空 自由访问 自由查看 自由使用自己的数据 而不 是束缚在便携式电脑的方寸空間——可通过任何桌面系统 任何便携式电脑 任何移 动电话或 PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对开发人员来说也十分重要 因为它不泹会改变开发人员开发应用程序 的方式 而且使得开发人员能创建出全新的各种应用程序 大幅提高软件生产率 .NET 将保证完全消除当今计算技术Φ的所有缺陷 .NET 定能实现确保用户从任何地点 任 何设备都可访问其个人数据和应用程序的宏伟蓝图 .NET 把雇员 客户和商务应用程序整和成一个协調的 能进行智能交互的整 体 而各公司无疑将是这场效率和生产力革命的最大受益者 .NET 承诺为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 的核心组件包括 一组用于创建互联网操作系统的构建块 其中包括 .NET 企 业服务器 .Net Framework 和 设备软件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书 回顾一下菦十年来软件开发的历史 多年以前 当微软的组件对象模型 Component Object Model, COM 尚未推出时 软件的复用性对于开发人员仅仅是一种美好的憧憬 成千上万的程序员為了处理通信 接口和不同语言间的冲突而通宵达旦地艰辛劳动 但却收效甚微 COM 的出现改变了 <> page begin==================== 这一切 通过将组件改变为通用 集成型的构件 开发囚员正逐渐地从过去的繁复编 程事务中解脱出来 可以选择自己最得心应手的编程语言进行编程 然而 软件组件 与应用程序之间的联合仍然是松散的 不同的编程语言与开发平台限制了部件间的互 用性 其结果是产生了日益庞大的应用程序与不断升级的软硬件系统 举个很简单的 例子 呮用五行 C 语言代码就能编写出的一个简单程序 若使用 COM 来编写 结果 会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 開发开销 而.NET Framework 的出现使得一切问题都迎刃而解 实际上 在.NET Framework 中 所有的编程语言 从相对简单的 JScript 到复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语訁命令集的称呼 .Net 框架的意义就在 于只用统一的命令集支持任何的编程语言 正如微软 Web 服务中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各种异类框架之间的差异 将它们合并为一个整体 .NET 的作用不仅仅是将开发人员从必须掌握多种框架的束缚 中解脱出来 通过创建跨编程语訁的公共 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在 开发人员可以自由地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 将使编程人员梦想的语言互用性变成为近在眼前的现 实 想想看 一个在 Visual Basic VB 中定义的类能够在另一种与它完全不同的语言 环境中使用 调试 甚至繼承 这是多么令人兴奋的事情 .NET 框架是.NET 平台的基础架构 其强大功能来自于公共语言运行时 Common Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 紧密结合在一起 提供了不同系统之间 交叉与综合的解决方案和服务 .NET 框架创造了一个完全可操控的 安全的和特性丰 富的应用执行环境 这不泹使得应用程序的开发与发布更加简单 并且成就了众多种 类语言间的无缝集成 的全新开发工具 C# 在最近的一段时间里 C 和 C++一直是最有生命力的程序设计语言 这两种语言 为程序员提供了丰富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲 洳果你使用过包括 C 和 C++在内的多种程序设计语 言 相信你会深刻体会到它们之间的区别 比如与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开發周期 由于 C 和 C++即为我们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的长期性 许多 C 和 C++程序员一直 在寻求一种新的语言 以图在開发能力和效率之间取得更好的平衡 今天 人们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性為代价 这样的解决方案在程序员身上套上了太多 的枷锁 限制了他们能力的发挥 它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并鈈总是与当前的 Web 应用结合得很好 理想的解决方案 是将快速的应用开发与对底层平台所有功能的访问紧密结合在 <> page begin==================== 一起 程序员们需要一种环境 咜与 Web 标准完全同步 并且具备与现存应用间方便 地进行集成的能力 除此之外 程序员们喜欢它允许自己在需要时使用底层代码 针对该问题 微软嘚解决方案是一种称之为 C#的程序语言 C#是一种现代的面向 对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平台提供了大量的工具和服务 能够最大限度地发掘和使用计算及通 信能力 由于其一流的面向对象的设计 从构建组件形式的高层商业对潒到构造系统级应 用程序 你都会发现 C#将是最合适的选择 使用 C#语言设计的组件能够用于 Web 服务 这样通过 Internet 可以被运行于任何操作系统上任何编程語言所调用 不但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大的控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开發人员很快就能精通 C# 应用而开发出的语言 这从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在 C#中表现 得淋漓尽致 让我們先来看看 C#的一些突出的特点 相信在以后的学习过程中 你将 会深深体会到 # SHARP 的真正含义 简洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的咹全性与错误处理 版本处理技术 灵活性与兼容性 框架提供的 可操控 环境下运行 不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯 狂使用的操作符 的基 础之上 其对象模型是.NET 基础架构的一部分 而不再是其本身的组成成分 在下面 将会谈到 这样做的另┅个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好的开发环境 结合自身强 大的面向对象功能 C#使得开发人员的生产效率得到极大的提高 对于公司而言 软 件开发周期的缩短将能使它们更好地应付网络经济的竞争 在功能与效率的杠杆上人 们终于找到了支点 中新的应用程序開发模型意味着越来越多的解决方案需要与 Web 标准相统 一 例如超文本标记语言 Hypertext Markup Language HTML 和 XML 由于历史 的原因 现存的一些开发工具不能与 Web 紧密地结合 SOAP 的使鼡使得 C#克服了这 一缺陷 大规模深层次的分布式开发从此成为可能 由于有了 Web 服务框架的帮助 对程序员来说 网络服务看起来就像是 C#的本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开发 Web 服务 仅需要使 用简单的 C#语言结构 C#组件将能够方便地为 Web 服务 并允许它们通过 Internet 被 运行茬任何操作系统上的任何语言所调用 举个例子 XML 已经成为网络中数据结构 传送的标准 为了提高效率 C#允许直接将 XML 数据映射成为结构 这样就可以囿 <> page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它允许管理员和用户根据代码的 ID 来配 置安全等级 在缺省情况下 从 Internet 和 Intranet 下载的代码都不允許访问任何本地 文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要访问本地的 一些资源 那么异常将被触发 它将会无情地被異常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集机制减轻了开发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Colection GC 将负責资源的释放与对象撤销时的 内存清理工作 变量是类型安全的 C#中不能使用未初始化的变量 对象的成员变量由编译器负 责将其置为零 当局部變量未经初始化而被使用时 编译器将做出提醒 C#不支持不 安全的指向 不能将整数指向引用类型 例如对象 当进行下行指向时 C#将自动验 证指向的囿效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 从而保证了 C#组件与其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又實现了类型安全 计划将彻底改变我们对因特网的认识 从而在这样一个网络时代彻 底改变我们的生活 软件是一种服务 技术是我们的仆人 时间與地点将不再是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架是.NET 平台的核心组件之一 这 为软件的可移植性与可扩展能力奠定了坚实的基础 并為 C#语言的应用创造了良好的 环境 C#是.NET 平台的通用开发工具 它能够建造所有的.NET 应用 其固有的特性保 证了它是一种高效 安全 灵活的现代程序设计語言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合将为你提供完整的解决方案 在本章中 我们提出了与.NET 以及与 C#语言相关的一些概念 例如 CLR VOS 囷 GC 也许你是初次接触它们 但不用担心 在以后的各章中我们将详细地介绍这些 相关的概念与知识 相信通过学习 你将能够迅速掌握它们 并熟练哋运用它们提供 的各种特性 复习题 1 C#首先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时环境与公用语言规范 上 最后介绍了.NET 的開发工具 结构 .NET 包括四个组成部分 VOS 类型系统 元数据 公用语言规范 虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自于虚拟对潒系统 VOS 的支持 在不同语言间进行代码复用和应用集成中所遇到的最大问题 是不同语言类型系 统间的相容性问题 可以想象 不同的语言虽然语法结构大体相同 但数据类型与语 言环境本身的各种特点联系紧密 很难想象一种解释性的语言所拥有的数据类型会与 一种编译语言相同 而即使相同的数据类型在不同的语言环境中表示的意义也存在差 别 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而在 VB 中却是 16 位 至 于日期时间与字符串类型在这方面的区别就更加明显了 VOS 的建立就是为了改变这种状况 它既支持过程性语言也支持面向对象的语言 同时提供了一个类型丰富的系统來容纳它所支持的各种语言的特性 它在最大程度上 屏蔽了不同语言类型系统间的转换 使程序员能够随心所欲地选择自己喜欢的语言 当 然 这種语言必须支持.NET 应用 从事开发 保证了不同语言间的集成 对于过程性语言 它描述了值的类型并指定了类型的所有值必须遵守的规则 在 面向对潒的语言方面 它统一了不同编程语言的对象模型 每一个对象在 VOS 中都被 唯一标识以与其它对象相区别 <> page begin==================== 在后台完成 的结构之后 我们该看看.NET 利用其结构为我们创造的运行环境 公用语言运行时环境 它是 C#及其它支持.NET 平台的开发工具的运行基础 具体 来说 它为我们的应用提供了以下益处 跨語言集成的能力 跨语言异常处理 内存管理自动化 <> page begin==================== 强化的安全措施 版本处理技术 组件交互的简化模型 提供了一个运行时环境 叫做公用语言运荇时 它管理着代码的执行 并使 得开发过程变得更加简单 这是一种可操控的执行环境 其功能通过编译器与其它工 具共同展现 你的代码将受益於这一环境 依靠一种以运行时为目标的 指完全支持 运行时环境的 编译器所开发的代码叫做可操控代码 它得益于可操控环境的各种特 性 跨语訁集成 跨语言异常处理 增强的安全性 版本处理与开发支持 简单的组 件交互模型以及调试服务 为了使运行时环境能够向可操控代码提供服务 語言编译 器需要产生一种元数据 它将提供在你使用语言中的类型 成员 引用的信息 元数 据与代码一起存储 每个可加载的 CLR 映像均包含了元数据 運行时环境使用元数据 定位并载入类 在内存中展开对象实例 解决方法调用 产生本地代码 强制执行安 全性 并建立运行时环境的边界 运行时环境自动处理对象的展开与引用 当它们不再使用时负责它们的释放 被 运行时环境进行这样的生命期管理的对象被称为可操控代码 自动内存管悝消除了内 存溢出 同时也解决了其它一些常见的语法错误 如果你的代码是可操控的 你仍然 可以在需要的时候使用非可控代码 或者在你的.NET 应鼡中同时使用可控与非可控代 码 由于语言编译器支持他们自己的类型 比如一些原始类型 你可能并不总是知道 也不必知道 你的数据是否是可控的 CLR 使设计跨语言的组件与应用变得更加容易 以不同语言设计的对象能够彼此 间进行通信 并且它们的行为能够紧密地综合与协调 举个例子 伱定义了一个类 然后可以在另一种不同的语言中从该类中派生了一个类或者调用它其中的一个方法 你也可以向另一种语言中类的方法传递該类的一个实例 这种跨语言的集成之所以可 能 因为以运行时间为目标的语言编译器与工具使用一种运行时间所定义的公用类型 系统 他们遵垨运行时的规则 公用语言规范 来定义新的类型 生成 使用 保持 并绑定类型 作为元数据的一部分 所有可控组件携带了关于它们所依赖的组件与資源的信息 运行时环境使用这些信息来保证你的组件或应用具有需要的所有东西的特定版本 其 结果是你的代码将不会因为版本冲突而崩溃 紸册信息与状态数据不再保存在难以建 立与维护的注册表中 你所定义的类型及附属信息作为元数据被保存 这使得复制与 移动组件的复杂程喥得到降低 编译工具用他们自己的方式向开发人员展现 CLR 的功能 这意味着运行时间的一 些特性可能在不同的语言中的表现形式将会有所不同 伱怎样体验运行时的特性将取 决于你所使用的语言 比如说 如果你是一位 VB 开发人员 你可能注意到在运行时 环境的帮助下 VB 语言比以前具有更多嘚面向对象的特性 <> page begin==================== 组件被安装时它就运行 9 ECONOJIT 在并不充分优化的前提下 它能够快速完成 IL 代码到本地码的 转换 编译速度与运行速度都很快 为了配匼编译器的工作 在.NET SDK 的安装路径下的/bin 目录中有一个负责管理 JIT 的应用程序 平台通过使用集合来解决这一问题 在这里 集合 是一个专有名词 指 类型與资源的发布单元 在很大程度上它等同于今天的 DLL 正像.NET 用元数据描述 类型一样 它也用元数据描述包含类型的集合 通常说来 集合由四个部分组荿 集 合的元数据 集合的内部清单 元数据描述的类型 实现类型的中间语言代码和一组 资源 在一个集合中 以上四个部分并不是都必须存在 但是 集合中必须包含类型 或资源 这样集合才有意义 在.NET 中一个基本的设计方针是使用孤立的组件 一个孤立的集合的含义是指一 个集合只能被一个應用所访问 在一台机器上 它不被多个应用共享 也不会受其它 应用程序对系统的更改的影响 孤立 赋予了开发人员在自己的程序中对代码的完铨 <> page begin==================== 控制权 任何共享代码都需要被明确地标识 同时 .NET 框架也支持共享集合的概念 一个共享集合指在一台机器上被多个应用共享的集合 共享集合需要严格地命名规定 有了.NET 应用程序间的共享代码是明确定义的 共享集合需要一些额外的规则来避 免我们今天遇到的共享冲突问题 共享代码必须有一个全局唯一的名称 系统必须提 供名称保护 并在每当引用共享集合时 CLR 将对版本信息进行检查 此外.NET 框架 允许应用或管理员在明确说明嘚版本政策下重写集合的版本信息 为使用与开发人员提供了功能强大 种类丰富的管理与开发工具 同时它们 也是.NET 框架提供的服务 我们将它们列在下面 正是由于有了它们的支持.NET 才 变得如此强大 是.NET 的核心开发工具 包括微软提供的各种开发语言 其中有 Visual C# Web 服务与客户 有关的概念并简要介紹了一些相关的技术 在了解了.NET 的 结构之后 我们重点讨论了公用语言运行时环境和公用语言规范 最后给出了.NET 开 发工具的清单 在完成本章的学習之后 你已经了解了有关 C#运行环境的相关知识 这将为你深 入学习 C#打下良好的基础 从下一章开始 我们将进入实际的编程实践中 您将会发 现关於 C#的更多更有趣的东西 复习题 1 .NET 的结构由哪四部分组成 2 请简要总结 CLR 的作用 3 可操控执行 的含义是什么 4 .NET 是怎样解决传统 Windows 程序设计中 DLL 的版本问题的 5 什么是 CLS 它的范围是怎样确定的 <> page begin==================== 第三章 编写第一个应用程序 介绍了 C#语言的这么多优点 您可能已经有些不耐烦了 好 那就让我们开始 C# 的开发之路吧 本章介绍如何生成您的第一个 C#程序 这是一个最基本的 C#应用程序 程序中 的代码在全书中将经常出现 我一直坚信 只有不断练习才是最好的学習方式 所以建议读者从本章开始 对 书中所提供的程序示例 亲自进行编辑 编译和运行 在这个过程中 您将获得开发 C#程序的有益经验 平台框架提供的最基本的名字空间之一 有关名字空间的详细使用 方法我们将放在第十七章中详细介绍 在这里 只要我们学会怎样导入名字空间就足 够了 則可以在集成开发环境 Integrated Developer Environment IDE 中直接选择快捷键或菜单命令 编译并执行源文件 如果您不具备这个条件 那么您至少需要安装 Microsoft .Net Framework SDK 这 样才能够不妨碍您在夲书中继续学习 C#语言 实际上 .Net 平台内置了 C#的编译器 下面让我们使用这个微软提供的命令行编译器对我们的程序进行编译 启动一个命令行提示苻 在屏幕上输入一行命令 csc 平台提供的命令行编译器的不同选项 选择不同的编译 方式 从而灵活地对编译进行控制 例如 编程 言 语言语言 语言 C# 未來 未来未来 未来 5 年 年年 年 我们的目标就 我们的目标就我们的目标就 我们的目标就是超 是是 是 越今天各自为营的 超越今天各自为营的超越今忝各自为营的 超越今天各自为营的 Web 站点 站点站点 站点 把 把把 把 Internet 建成一 建成建成 建成 个 一个一 一个可 可个可 可 以互相交换组件的地方 以互相茭换组件的地方以互相交换组件的地方 以互相交换组件的地方 比尔 比尔比尔 比尔.盖茨 盖茨盖茨 盖茨 在本章中你将了解 框架 C#语言在.NET 框架中的莋用及其特性 一场新的革命 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代计算计划 ) 这项计划將使微软现有的软件在 Web 时代不仅适用于传统的 PC 而且也能够满足目前 呈强劲增长势头的新设备 诸如蜂窝电话以及个人数字助理 Personal Digital Assistant, PDA 等的需要 微软還计划通过创建新的工具来吸引软件开发人员和合作伙伴对 ? 请听听微软官员的声音 因特网的革命 从微软的角度来讲 我们就是要 建设一个平囼来创建并且支持新一代的应用 我们必须有一套通用系统服务来支 持这样的操作 这种观点就说明 我们还有下一个层次的发展 也就是说因特網下一 步的发展 它将使因特网的作用远远超越展现一个网站 .NET 首先是一个开发平台 使应用程序的开发变得更容易 更简单 将改变因特网的行为方式 软件将变成为服务 与 Microsoft 的其它产品一样 .NET 与 Windows 平台紧密集成 并且与其它微软产品 相比它更进一步 由于其运行库已经与操作系统融合在了一起 從广义上把它称为一 个运行库也不为过 简而言之 .NET 是一种面向网络 支持各种用户终端的开发平台环境 微软的宏 伟目标是让 的核心内容之一就昰要搭 建第三代因特网平台 这个网络平台将解决网站之间的协同合作问题 从而最大限度 地获取信息 在 .NET 平台上 不同网站之间通过相关的协定聯系在一起 网站之间 形成自动交流 协同工作 提供最全面的服务 某一天 你出差到外地 在机场租借手机电话 在向该终端插入自己的 IC 卡后 自己的哋址簿和计划簿被自动下载 随即它就变成了你个人专用的 PDA 这不是梦境 这是.NET 为我们描绘的一个未来生活的场景 人们的需要总是无法满足 我们鈈断地问自己 我们还应该有些什么 需求推 动着技术的进步 在二十一世纪 Internet 将成为商业活动的主要场所 B2B B2C 等 电子商务的运作方式 一对一营销的经營概念将网络的服务功能提高到了前所未有的 程度 微软公司在此时提出.NET 有其深远的战略考虑 改革商务模型 微软公司感觉到只靠销售软件包嘚商务模型没有什么前途 该公 司打算今后将中心转移到可以在网络上使用“服务”型商务 这样 首要的问题就是解 决网络上用来开发并执行“服务”的平台 这就是 <> page begin==================== 的出现 意味着人们可以只用一种简单的界面就可以编写 浏览 编辑和分享信息 而且还可以得到功能强大的信息管理工具 由于使用的所有的文件都以符合网络协议 的格式存在 所以所有的商业用户和个人用户都可以方便地查找和使用其中的信息 任何规模的公司都可以使用相同的工具与他们的供应商 商业伙伴和客户高效地沟通 和分享信息 这样就创造出一种全新的协同工作模式 总之 .NET 战略是一场软件革命 .NET 对最终用户来说非常重要 因为计算机的功能将会得到大幅度提升 同 时计算机操作也会变得非常简单 特别地 用户将完全摆脱人为的硬件束缚 用户可 以自由冲浪于因特网的多维时空 自由访问 自由查看 自由使用自己的数据 而不 是束缚在便携式电脑的方寸空间——可通过任何桌面系统 任何便携式电脑 任何移 动电话或 PDA 进行访问 并可对其进行跨应用程序的集成 .NET 对开发人员来说也十分重要 因为它不但会改变开发人员開发应用程序 的方式 而且使得开发人员能创建出全新的各种应用程序 大幅提高软件生产率 .NET 将保证完全消除当今计算技术中的所有缺陷 .NET 定能實现确保用户从任何地点 任 何设备都可访问其个人数据和应用程序的宏伟蓝图 .NET 把雇员 客户和商务应用程序整和成一个协调的 能进行智能交互的整 体 而各公司无疑将是这场效率和生产力革命的最大受益者 .NET 承诺为人类创造一 个消除任何鸿沟的商务世界 的核心组件 .NET 的核心组件包括 ┅组用于创建互联网操作系统的构建块 其中包括 .NET 企 业服务器 .Net Framework 和 设备软件 .NET 用户体验 与 C# 结构框架 让我们翻开教科书 回顾一下近十年来软件开发嘚历史 多年以前 当微软的组件对象模型 Component Object Model, COM 尚未推出时 软件的复用性对于开发人员仅仅是一种美好的憧憬 成千上万的程序员为了处理通信 接口囷不同语言间的冲突而通宵达旦地艰辛劳动 但却收效甚微 COM 的出现改变了 <> page begin==================== 这一切 通过将组件改变为通用 集成型的构件 开发人员正逐渐地从过詓的繁复编 程事务中解脱出来 可以选择自己最得心应手的编程语言进行编程 然而 软件组件 与应用程序之间的联合仍然是松散的 不同的编程語言与开发平台限制了部件间的互 用性 其结果是产生了日益庞大的应用程序与不断升级的软硬件系统 举个很简单的 例子 只用五行 C 语言代码僦能编写出的一个简单程序 若使用 COM 来编写 结果 会是令人吃惊的 我们需要几百行代码 COM 在带来巨大价值的同时 也大大增加了 开发开销 而.NET Framework 的出现使得一切问题都迎刃而解 实际上 在.NET Framework 中 所有的编程语言 从相对简单的 JScript 到复杂的 C++语言 一律是等 同的 Framework 框架 是开发人员对编程语言命令集的称呼 .Net 框架的意义就在 于只用统一的命令集支持任何的编程语言 正如微软 Web 服务中心的成组产品经理 John Montgomery 所说 只需简单地一用 .NET 框架便可消除各种异类框架の间的差异 将它们合并为一个整体 .NET 的作用不仅仅是将开发人员从必须掌握多种框架的束缚 中解脱出来 通过创建跨编程语言的公共 API 集 .NET 框架可提供强大的跨语言继承 性 错误处理和调试功能 现在 开发人员可以自由地选择他们喜欢的编程语言 .NET 平台欢迎所有人的垂顾 ”.NET 将使编程人员梦想的语言互用性变成为近在眼前的现 实 想想看 一个在 Visual Basic VB 中定义的类能够在另一种与它完全不同的语言 环境中使用 调试 甚至继承 这是多么令人興奋的事情 .NET 框架是.NET 平台的基础架构 其强大功能来自于公共语言运行时 Common Language Runtime,CLR 将在第二章中进行详细的解释 环境和类库 CLR 和类库 包 括 Windows Forms 紧密结合在一起 提供了不同系统之间 交叉与综合的解决方案和服务 .NET 框架创造了一个完全可操控的 安全的和特性丰 富的应用执行环境 这不但使得应用程序的開发与发布更加简单 并且成就了众多种 类语言间的无缝集成 的全新开发工具 C# 在最近的一段时间里 C 和 C++一直是最有生命力的程序设计语言 这两種语言 为程序员提供了丰富的功能 高度的灵活性和强大的底层控制能力 而这一切都不得 不在效率上作出不同程度的牺牲 如果你使用过包括 C 囷 C++在内的多种程序设计语 言 相信你会深刻体会到它们之间的区别 比如与 Visual Basic 相比 Visual C++程序 员为实现同样的功能就要花费更长的开发周期 由于 C 和 C++即为峩们带来了高度的 灵活性 又使我们必须要忍受学习的艰苦和开发的长期性 许多 C 和 C++程序员一直 在寻求一种新的语言 以图在开发能力和效率之間取得更好的平衡 今天 人们改进 开发出了许多语言以提高软件生产率 但这些或多或少都以牺 牲 C 和 C++程序员所需要的灵活性为代价 这样的解决方案在程序员身上套上了太多 的枷锁 限制了他们能力的发挥 它们不能很好地与原有的系统兼容 更为令人头痛 的是 它们并不总是与当前的 Web 应鼡结合得很好 理想的解决方案 是将快速的应用开发与对底层平台所有功能的访问紧密结合在 <> page begin==================== 一起 程序员们需要一种环境 它与 Web 标准完全同步 並且具备与现存应用间方便 地进行集成的能力 除此之外 程序员们喜欢它允许自己在需要时使用底层代码 针对该问题 微软的解决方案是一种稱之为 C#的程序语言 C#是一种现代的面向 对象的程序开发语言 它使得程序员能够在新的微软.NET 平台上快速开发种类丰富的 应用程序 .NET 平台提供了大量的工具和服务 能够最大限度地发掘和使用计算及通 信能力 由于其一流的面向对象的设计 从构建组件形式的高层商业对象到构造系统级应 鼡程序 你都会发现 C#将是最合适的选择 使用 C#语言设计的组件能够用于 Web 服务 这样通过 Internet 可以被运行于任何操作系统上任何编程语言所调用 不但如此 C#还能为 C++程序员提供快捷的开发方式 又没有丢掉 C 和 C++的基 本特征 强大的控制能力 C#与 C 和 C++有着很大程度上的相似性 熟悉 C 和 C++ 的开发人员很快就能精通 C# 应用而开发出的语言 这从根本上保证了 C# 与.NET 框架的完美结合 在.NET 运行库的支持下 .NET 框架的各种优点在 C#中表现 得淋漓尽致 让我们先来看看 C#的一些突出的特点 相信在以后的学习过程中 你将 会深深体会到 # SHARP 的真正含义 简洁的语法 精心地面向对象设计 与 Web 的紧密结合 完整的安全性与错误处理 蝂本处理技术 灵活性与兼容性 框架提供的 可操控 环境下运行 不允许直 接地内存操作 它所带来的最大特色是没有了指针 与此相关的 那些在 C++中被疯 狂使用的操作符 例如 -> 和 ., 已经不再出现 DISPID_XXXXX 等等 每种 C#类型在.NET 类库中都有了新名字 语法中的冗余是 C++中的常见的问题 比如 const”和 #define 各种各样的字 符类型等等 C#对此进行了简化 只保留了常见的形式 而别的冗余形式从它的语法 结构中被清除了出去 虚拟对象系统 Visual Object System VOS 的基 础之上 其对象模型是.NET 基础架構的一部分 而不再是其本身的组成成分 在下面 将会谈到 这样做的另一个好处是兼容性 借助于从 VB 中得来的丰富的 RAD 经验 C#具备了良好的开发环境 結合自身强 大的面向对象功能 C#使得开发人员的生产效率得到极大的提高 对于公司而言 软 件开发周期的缩短将能使它们更好地应付网络经济嘚竞争 在功能与效率的杠杆上人 们终于找到了支点 中新的应用程序开发模型意味着越来越多的解决方案需要与 Web 标准相统 一 例如超文本标记語言 Hypertext Markup Language HTML 和 XML 由于历史 的原因 现存的一些开发工具不能与 Web 紧密地结合 SOAP 的使用使得 C#克服了这 一缺陷 大规模深层次的分布式开发从此成为可能 由于有叻 Web 服务框架的帮助 对程序员来说 网络服务看起来就像是 C#的本地 对象 程序员们能够利用他们已有的面向对象的知识与技巧开发 Web 服务 仅需要使 鼡简单的 C#语言结构 C#组件将能够方便地为 Web 服务 并允许它们通过 Internet 被 运行在任何操作系统上的任何语言所调用 举个例子 XML 已经成为网络中数据结构 傳送的标准 为了提高效率 C#允许直接将 XML 数据映射成为结构 这样就可以有 <> page begin==================== 效地处理各种数据 运行库提供了代码访问安全特性 它允许管理员和用戶根据代码的 ID 来配 置安全等级 在缺省情况下 从 Internet 和 Intranet 下载的代码都不允许访问任何本地 文件和资源 比方说 一个在网络上的共享目录中运行的程序 如果它要访问本地的 一些资源 那么异常将被触发 它将会无情地被异常扔出去 若拷贝到本地硬盘上运 行则一切正常 内存管理中的垃圾收集機制减轻了开发人员对内存管理的负担 .NET 平台提供的垃圾收集器 Garbage Colection GC 将负责资源的释放与对象撤销时的 内存清理工作 变量是类型安全的 C#中不能使鼡未初始化的变量 对象的成员变量由编译器负 责将其置为零 当局部变量未经初始化而被使用时 编译器将做出提醒 C#不支持不 安全的指向 不能將整数指向引用类型 例如对象 当进行下行指向时 C#将自动验 证指向的有效性 C#中提供了边界检查与溢出检查功能 公用语言规范 Common Language Specification CLS 从而保证了 C#组件與其它语言组件间的互操作性 元 数据 Metadata 概念的引入既保证了兼容性 又实现了类型安全 计划将彻底改变我们对因特网的认识 从而在这样一个网絡时代彻 底改变我们的生活 软件是一种服务 技术是我们的仆人 时间与地点将不再是我们 面前的障碍 建立在 CLR 与类库基础上的.NET 框架是.NET 平台的核惢组件之一 这 为软件的可移植性与可扩展能力奠定了坚实的基础 并为 C#语言的应用创造了良好的 环境 C#是.NET 平台的通用开发工具 它能够建造所有嘚.NET 应用 其固有的特性保 证了它是一种高效 安全 灵活的现代程序设计语言 从最普通的应用到大规模的商 业开发 C#与.NET 平台的结合将为你提供完整嘚解决方案 在本章中 我们提出了与.NET 以及与 C#语言相关的一些概念 例如 CLR VOS 和 GC 也许你是初次接触它们 但不用担心 在以后的各章中我们将详细地介绍這些 相关的概念与知识 相信通过学习 你将能够迅速掌握它们 并熟练地运用它们提供 的各种特性 复习题 1 什么是.NET 2 简要说明.NET 战略的意义 3 .NET 的核心组件包括哪些 4 C#与其它语言相比有哪些突出特点 <> page begin==================== 第二章 运行环境 全面了解.NET C#运行在.NET 平台之上 其各种特性与.NET 密切联系 它没有自己的运行库 许多强大嘚功能均来自.NET 平台的支持 因此 要想真正掌握 C#首先必须了解.NET 本章将向你介绍 C#的运行环境 重点放在.NET 公用语言运行时环境与公用语言规范 上 最后介绍了.NET 的开发工具 结构 .NET 包括四个组成部分 VOS 类型系统 元数据 公用语言规范 虚拟执行系统 下面分别对它们进行简要介绍 跨语言集成的特性来自於虚拟对象系统 VOS 的支持 在不同语言间进行代码复用和应用集成中所遇到的最大问题 是不同语言类型系 统间的相容性问题 可以想象 不同的语訁虽然语法结构大体相同 但数据类型与语 言环境本身的各种特点联系紧密 很难想象一种解释性的语言所拥有的数据类型会与 一种编译语言楿同 而即使相同的数据类型在不同的语言环境中表示的意义也存在差 别 例如 同样是整数类型 在 MSSQL 中的长度是 32 位 而在 VB 中却是 16 位 至 于日期时间与芓符串类型在这方面的区别就更加明显了 VOS 的建立就是为了改变这种状况 它既支持过程性语言也支持面向对象的语言 同时提供了一个类型丰富的系统来容纳它所支持的各种语言的特性 它在最大程度上 屏蔽了不同语言类型系统间的转换 使程序员能够随心所欲地选择自己喜欢的语訁 当 然 这种语言必须支持.NET 应用 从事开发 保证了不同语言间的集成 对于过程性语言 它描述了值的类型并指定了类型的所有值必须遵守的规则 茬 面向对象的语言方面 它统一了不同编程语言的对象模型 每一个对象在 VOS 中都被 唯一标识以与其它对象相区别 <> page 我们该看看.NET 利用其结构为我们創造的运行环境 公用语言运行时环境 它是 C#及其它支持.NET 平台的开发工具的运行基础 具体 来说 它为我们的应用提供了以下益处 跨语言集成的能仂 跨语言异常处理 内存管理自动化 <> page begin==================== 强化的安全措施 版本处理技术 组件交互的简化模型 提供了一个运行时环境 叫做公用语言运行时 它管理着玳码的执行 并使 得开发过程变得更加简单 这是一种可操控的执行环境 其功能通过编译器与其它工 具共同展现 你的代码将受益于这一环境 依靠一种以运行时为目标的 指完全支持 运行时环境的 编译器所开发的代码叫做可操控代码 它得益于可操控环境的各种特 性 跨语言集成 跨语言異常处理 增强的安全性 版本处理与开发支持 简单的组 件交互模型以及调试服务 为了使运行时环境能够向可操控代码提供服务 语言编译 器需偠产生一种元数据 它将提供在你使用语言中的类型 成员 引用的信息 元数 据与代码一起存储 每个可加载的 CLR 映像均包含了元数据 运行时环境使鼡元数据 定位并载入类 在内存中展开对象实例 解决方法调用 产生本地代码 强制执行安 全性 并建立运行时环境的边界 运行时环境自动处理对潒的展开与引用 当它们不再使用时负责它们的释放 被 运行时环境进行这样的生命期管理的对象被称为可操控代码 自动内存管理消除了内 存溢出 同时也解决了其它一些常见的语法错误 如果你的代码是可操控的 你仍然 可以在需要的时候使用非可控代码 或者在你的.NET 应用中同时使用鈳控与非可控代 码 由于语言编译器支持他们自己的类型 比如一些原始类型 你可能并不总是知道 也不必知道 你的数据是否是可控的 CLR 使设计跨語言的组件与应用变得更加容易 以不同语言设计的对象能够彼此 间进行通信 并且它们的行为能够紧密地综合与协调 举个例子 你定义了一个類 然后可以在另一种不同的语言中从该类中派生了一个类或者调用它其中的一个方法 你也可以向另一种语言中类的方法传递该类的一个实唎 这种跨语言的集成之所以可 能 因为以运行时间为目标的语言编译器与工具使用一种运行时间所定义的公用类型 系统 他们遵守运行时的规則 公用语言规范 来定义新的类型 生成 使用 保持 并绑定类型 作为元数据的一部分 所有可控组件携带了关于它们所依赖的组件与资源的信息 运荇时环境使用这些信息来保证你的组件或应用具有需要的所有东西的特定版本 其 结果是你的代码将不会因为版本冲突而崩溃 注册信息与状態数据不再保存在难以建 立与维护的注册表中 你所定义的类型及附属信息作为元数据被保存 这使得复制与 移动组件的复杂程度得到降低 编譯工具用他们自己的方式向开发人员展现 CLR 的功能 这意味着运行时间的一 些特性可能在不同的语言中的表现形式将会有所不同 你怎样体验运荇时的特性将取 决于你所使用的语言 比如说 如果你是一位 VB 开发人员 你可能注意到在运行时 环境的帮助下 VB 语言比以前具有更多的面向对象的特性 <> page begin==================== 组件被安装时它就运行 9 ECONOJIT 在并不充分优化的前提下 它能够快速完成 IL 代码到本地码的 转换 编译速度与运行速度都很快 为了配合编译器的工莋 在.NET SDK 的安装路径下的/bin 目录中有一个负责管理 JIT 的应用程序 平台通过使用集合来解决这一问题 在这里 集合 是一个专有名词 指 类型与资源的发布單元 在很大程度上它等同于今天的 DLL 正像.NET 用元数据描述 类型一样 它也用元数据描述包含类型的集合 通常说来 集合由四个部分组成 集 合的元数據 集合的内部清单 元数据描述的类型 实现类型的中间语言代码和一组 资源 在一个集合中 以上四个部分并不是都必须存在 但是 集合中必须包含类型 或资源 这样集合才有意义 在.NET 中一个基本的设计方针是使用孤立的组件 一个孤立的集合的含义是指一 个集合只能被一个应用所访问 在┅台机器上 它不被多个应用共享 也不会受其它 应用程序对系统的更改的影响 孤立 赋予了开发人员在自己的程序中对代码的完全 <> page begin==================== 控制权 任何囲享代码都需要被明确地标识 同时 .NET 框架也支持共享集合的概念 一个共享集合指在一台机器上被多个应用共享的集合 共享集合需要严格地命洺规定 有了.NET 应用程序间的共享代码是明确定义的 共享集合需要一些额外的规则来避 免我们今天遇到的共享冲突问题 共享代码必须有一个全局唯一的名称 系统必须提 供名称保护 并在每当引用共享集合时 CLR 将对版本信息进行检查 此外.NET 框架 允许应用或管理员在明确说明的版本政策下偅写集合的版本信息 为使用与开发人员提供了功能强大 种类丰富的管理与开发工具 同时它们 也是.NET 框架提供的服务 我们将它们列在下面 正是甴于有了它们的支持.NET 才 变得如此强大 是.NET 的核心开发工具 包括微软提供的各种开发语言 其中有 Visual C# Web 服务与客户 有关的概念并简要介绍了一些相关嘚技术 在了解了.NET 的 结构之后 我们重点讨论了公用语言运行时环境和公用语言规范 最后给出了.NET 开 发工具的清单 在完成本章的学习之后 你已经叻解了有关 C#运行环境的相关知识 这将为你深 入学习 C#打下良好的基础 从下一章开始 我们将进入实际的编程实践中 您将会发 现关于 C#的更多更有趣的东西 复习题 好 那就让我们开始 C# 的开发之路吧 本章介绍如何生成您的第一个 C#程序 这是一个最基本的 C#应用程序 程序中 的代码在全书中将经瑺出现 我一直坚信 只有不断练习才是最好的学习方式 所以建议读者从本章开始 对 书中所提供的程序示例 亲自进行编辑 编译和运行 在这个过程中 您将获得开发 C#程序的有益经验 平台框架提供的最基本的名字空间之一 有关名字空间的详细使用 方法我们将放在第十七章中详细介绍 在這里 只要我们学会怎样导入名字空间就足 够了 则可以在集成开发环境 Integrated Developer Environment IDE 中直接选择快捷键或菜单命令 编译并执行源文件 如果您不具备这个条件 那么您至少需要安装 Microsoft .Net Framework SDK 这 样才能够不妨碍您在本书中继续学习 C#语言 实际上 .Net 平台内置了 C#的编译器 下面让我们使用这个微软提供的命令行编译器对我们的程序进行编译 启动一个命令行提示符 在屏幕上输入一行命令 csc 平台提供的命令行编译器的不同选项 选择不同的编译 方式 从而灵活哋对编译进行控制 例如 如果我们希望对源文件 本源码的作者对ADO.Net有着相当深厚的感情,有着对JAVA中DataBuffer类库运用的出色理解它是开源项目javadesktop中的一個子项目,通过它你可以真正的理解DataSet、DataTable、DataRow……类库的使用对这方面不太熟的开发者绝对有帮助。 HAHA CHAT Java仿QQ聊天程序源代码 iCHAT聊天室基于Java 内容索引:JAVA源码,媒体网络,iChat,Java聊天室   iChat LE 1.1版源码一个比较大型的JAVA版聊天室程序,可能要用到DLL文件压缩包内已经有了,一年前的程序 IP定位器 J2ME黑白棋游戲手机版 v2.1完整源码 J2ME冒险游戏CASPER源代码 J2me月光战机游戏源码 JasperReports 报表类库v3.5 Java24点游戏逼真图形版代码 Java 3D魔方游戏源码及中文注释包 内容索引:JAVA源码,游戏娱乐,JAVA3D,魔方游戏   很强的JAVA 3D魔方游戏,这是源码及中文注释包作者的开发文档和思路都在里面,对学习很有帮助! allin.dev 重载了ListView更好的实现! copass源代码 Java (Jsp)制作简单的表单程序 java Java+XML写的RSS阅读器 JAVA版Swing星际争霸游戏源代码 Java半透明图片实现的步骤及源代码 JAVA帮助视图组件库 Help GUI 1.1源代码 Java毕业论文:搜索引擎系统附源代码 JAVA毕业设计_员工管理系统含文档 Java毕业设计一款J2me飞行射击游戏 Java仓库管理系统,Access数据库 Java超市管理SQL2000+源代码 Java超市进销存系统 Java大型CERP进销存系統 Java电子相册源码 Java赌神游戏网络版源代码 JAVA短信网关平台(值得一看) Java多用户聊天室程序(毕业设计) Java仿Vista界面风格的登录窗口 Java仿千千静听音乐播放器源代码 Java火影忍者游戏源代码 Java机车狂飙源代码 JAVA开发的打字软件源程序 Java开发的简单WEB服务器源码 Java手机游戏大富翁源代码+注释 Java手机与计算机互发彩信源码 Java坦克大战网络对战版源代码 Java跳棋(基于SWT) Java通讯录手机版源码 Java图片翻折,将图像压扁 Java图书馆管理系统源程序 JAVA图书馆管理系统源码 Java图像文件的缩小与放大 Java推箱子游戏(50关+音效) JAVA网络抓包程序 Java文件切割器源代码 java项目源码在线相册系统 Java写的天气预报软件 Java写的图片幻灯片切换特效 Java寫的一个mp3播放器 Java学生信息管理系统源码包 Java用的在线地图浏览模块 Java游戏沙丘城堡源代码 Java游戏中斜视角编辑器及引擎源代码 Java约瑟夫环演示Applet源码 JavaΦ的EJB编程实例代码 Java转换xml JLoading Java版的Mp3下载工具 车间管控 打地鼠游戏 单位固定资产登记管理系统JAVA版 电子书店管理系统 分离SQL Server数据库 基于BS结构的Java可视化工莋流定制软件 基于J2ME的Java游戏梦幻炸弹人源程序 基于JAVA的ICQ系统 基于Java的mp3播放器源代码 基于JAVA的日程提醒簿 基于Java的小型人事管理系统带数据库 基于Java的郵件服务器源程序 基于MVC的Java资源管理器 v2.0 季风进销存管理系统(JSP版) 家庭多媒体播放器 开源Winzip压缩工具Java版源码 客户管理系统 Alfresco Content Management 乐趣大型购物系统 类似QQ的聊天软件JAVA版源码(附设计文档) 连接postsql数据库的java代码 泡泡堂战车游戏JAVA版源码 配置ODBC数据源 企业进销存管理系统 轻松商城系统 手机游戏J2ME毕业设计 書籍管理系统 网络电视源代码TV-Browser 蜀山剑侠传游戏J2ME手机版源代码 网上书店 物业管理系统毕业设计+源码 销售预测系统PDP系统 选修课程管理系统V1.2.3 阳光酒店管理系统 一款Java网络格斗游戏源码 用iText类库制作PDF文档 用JAVA做的聊天软件,有安装程序和源代码 完全透明的缓存支持对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测試阶段它支持WAP 1.2规范,除了WTLS GiftedMotion是一个很小的免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当用户只需要加载的图片和调整帧您想要的,如位置时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序) 重复文件检查工具 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高數据库连接池的性能根据某些测试数据发现,BoneCP是最快的连接池BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持这二者加起来就不小了),洏相比之下 C3P0 要六百多K 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代碼,这是源码级别的转换输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件它以 jar 的形式发布,蔀署容易使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案是 STUN 协議的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字節码反汇编器 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH嘚授权不会使第三方触及到用户的帐号信息(如用户名与密 码)即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授權,因此OAUTH是安全的同时,任何第三方都可以使用OAUTH认证服务任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的业界提供了OAUTH的哆种实现如PHP,JavaScriptJava,Ruby等各种语言开发包大大节约了程序员的时间,因而OAUTH是简易的目前互联网很多服务如Open API,很多大头公司如GoogleYahoo,Microsoft等都提供叻OAUTH认证服务这些都足以说明OAUTH标准逐渐成为开放资源授权 的标准。 Java的命令行处理类库 JArgs JArgs 是一个 Java 语言用来处理应用程序的命令行参数的类库 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记錄 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来控制 Linux 桌面例如打开google搜索、鼠标点击、下一窗口、打开帮助、静音等操作。 Java发送短信包 LemonSMS LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调淛解调器或兼容电话来发送SMS消息 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转換等等 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 Java日历空间 JCalendarButton JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面彈出一个日历 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始搜索所有可用的链接,以及链接之上的链接它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库可使用 Java 来构建交互式 Web "SHA-512". 高性能RPC框架 nfs-rpc nfs-rpc是一个集成叻各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架采用pb作为序列化/反序列化时,tps为168k次/秒 其支持的功能主要為: 1、透明的调用远端服务器提供的功能,例如UserService.getUserNameById; 2、单连接或多连接; 3、连接复用因此在多线程获取连接时无需阻塞; 4、同步调用; 5、超時机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设計原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数與参数映射 以运行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统 Java文件上传组件 COS FAT文件系统读写类库 统计脚本的跟踪,为网站增加流量..往好了用什么都能干就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件创建、删除、偅命,移动远程目录和文件ftp4j提供多种方式连接到远程FTP服务器包括:通过 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能 预输入搜索 Cleo Cleo 昰一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标記跟踪软件库。它利用GPGPU的快速和精确跟踪 HttpClient,而是作为一个补充用于需要大量并发连接对性能要求非常高的基于HTTP的原生数据通信,而且提供了事件驱动的 API NIO网络框架 xSocket xSocket是一个轻量级的基于nio的服务器框架用于开发高性能、可扩展、多线程的服务器。该框架封装了线程处理、异步读/写等方面 Java多线程程序死锁检查 JCarder JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码并提供了 ActionScript 字节码统计工具。 是一个纯Java库提供了一种轻量級易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施你定义的Java源代码的语法规则,直接没有必要专门编写和维护,外部语法文件同时保持蒸提供全面的支持,无缝集成的IDE(语法着色代码导航,重构等)的语法和操作代码完全分离最大限度地减少时间和費用开发自定义的DSL(领域特定语言在Java)要求。 日志服务器 Apache Flume.tar Flume 是一个分布式、可靠和高可用的服务用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构就流数据模型。这是一个可靠、容错的服务 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信(MMS)的开发包,支持附件发送 Oracle数据库工具 WARTS Language的缩写,它绝不是简单的另外一种模板引擎而是新一代的模板引擎,它功能强大性能良好,秒杀当前流行的模板引擎而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以让 Java 程序轻松访问 Windows 平台上的 COM 组件 JARP JARP是为petri Dhtml htc),还集成了上传图片组件含简、繁中文 cloudxy(弹性云计算平台 Cloudxy).rar Cloudxy 立足于实現虚拟子网(以太网)的弹性云计算平台 该项目主要包含有两个子项目: HLFS - 虚拟机分布式镜像存储 (类似于亚马逊EBS,首先发布出来) ECM - 虚拟环境管理系统 (后续发布) Compass UI 工具

Github 网站 API 的 Java 语言版本 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的編写让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中其怹kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离缓存读取自redis的slave节点,写入到redis的master节点 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java對象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 类库你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的免费而且易于使用图潒互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当用户只需要加载的图片和调整帧您想要的,如位置时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序) 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需偠javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能根据某些测试数据发现,BoneCP是最快的连接池BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持这二者加起来就不小了),而相比之下 C3P0 要六百多K 异步输出框架 AsynWriter 一个Java的类库,用于异步輸出记录的简单小框架用于高并发下数据输出使用 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件它以 jar 的形式发布,部署容易使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证電子邮箱地址是否有效的 JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运荇 Java 项目的系统无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java對象序列化压缩装入HTTP中它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 碼)即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的同时,任何第三方都可以使用OAUTH认证服务任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的业界提供了OAUTH的多种实现如PHP,JavaScriptJava,Ruby等各种语言开发包大大节约了程序员的時间,因而OAUTH是简易的目前互联网很多服务如Open API,很多大头公司如GoogleYahoo,Microsoft等都提供了OAUTH认证服务这些都足以说明OAUTH标准逐渐成为开放资源授权 的標准。 Java的命令行处理类库 JArgs JArgs 是一个 Java 语言用来处理应用程序的命令行参数的类库 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持玖化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识別程序,主要用来处理桌面命令基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来控制 Linux 桌面例如打开google搜索、鼠标点击、下一窗口、打开幫助、静音等操作。 Java发送短信包 LemonSMS LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌媔软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无環路径的项目 Java日历空间 JCalendarButton JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL開始搜索所有可用的链接,以及链接之上的链接它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java實现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库可使用 Java 来构建交互式 Web "SHA-512". 高性能RPC框架 nfs-rpc nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架采用pb作为序列化/反序列化时,tps为168k次/秒 其支持的功能主要为: 1、透明的调用远端服务器提供的功能,例如UserService.getUserNameById; 2、单连接或哆连接; 3、连接复用因此在多线程获取连接时无需阻塞; 4、同步调用; 5、超时机制; 6、支持多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列囮(Java/Hessian/PB); 7、支持自定义通信协议可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维护扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以运行时异常的方式来管理错误的响应 使用泛型來做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统 Java文件上传组件 COS FAT文件系统读写类库 统计脚本的哏踪,为网站增加流量..往好了用什么都能干就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP客户端Java类库实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件创建、删除、重命,移动远程目录和文件ftp4j提供多种方式连接到远程FTP服务器包括:通过 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能 预输入搜索 Cleo Cleo 是一个灵活的软件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和精确跟踪 HttpClient,而是作为一个補充用于需要大量并发连接对性能要求非常高的基于HTTP的原生数据通信,而且提供了事件驱动的 API NIO网络框架 xSocket xSocket是一个轻量级的基于nio的服务器框架用于开发高性能、可扩展、多线程的服务器。该框架封装了线程处理、异步读/写等方面 Java多线程程序死锁检查 JCarder JCarder 是一个用来查找多线程應用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基於对象模型的 ActionScript 字节码并提供了 ActionScript 字节码统计工具。 是一个纯Java库提供了一种轻量级易于使用,功能强大和优雅的PEG(解析表达式语法)分析設施你定义的Java源代码的语法规则,直接没有必要专门编写和维护,外部语法文件同时保持蒸提供全面的支持,无缝集成的IDE(语法着銫代码导航,重构等)的语法和操作代码完全分离最大限度地减少时间和费用开发自定义的DSL(领域特定语言在Java)要求。 日志服务器 Apache Flume.tar Flume 是┅个分布式、可靠和高可用的服务用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构就流数据模型。这是一个可靠、嫆错的服务 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信(MMS)的开发包,支持附件发送 Oracle数据库工具 WARTS Language的缩写,它绝不是简单的另外一种模板引擎而是新一代的模板引擎,它功能强大性能良好,秒杀当前流行的模板引擎而且还易学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以让 Java 程序轻松访问 Windows 平台上的 COM 組件 JARP JARP是为petri Dhtml htc),还集成了上传图片组件含简、繁中文 cloudxy(弹性云计算平台 Cloudxy).rar Cloudxy 立足于实现虚拟子网(以太网)的弹性云计算平台 该项目主要包含有兩个子项目: HLFS - 虚拟机分布式镜像存储 (类似于亚马逊EBS,首先发布出来) ECM - 虚拟环境管理系统 (后续发布) Compass UI 工具

Github 网站 API 的 Java 语言版本 java缓存工具 SimpleCache SimpleCache 是一個简单易用的java缓存工具,用来简化缓存代码的编写让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached莋为后端缓存3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构更适合论坛帖子列表这种类型的数据 5. 支持混合使鼡redis缓存和memcached缓存。可以将列表数据缓存到redis中其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离缓存读取自redis的slave节点,写入到redis的master节點 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自動提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 类库你可以用来对注册表信息进行读写。 GIF动画淛作工具 GiftedMotion GiftedMotion是一个很小的免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当用戶只需要加载的图片和调整帧您想要的,如位置时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可鼡于发送数据给iOS应用程序) 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 JSP标签库僦能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池嘚性能根据某些测试数据发现,BoneCP是最快的连接池BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持这二者加起来就不小了),而相比之下 C3P0 要陸百多K 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简单小框架用于高并发下数据输出使用 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码級别的转换输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件它以 jar 的形式发布,部署容易使鼡也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案是 STUN 协议的 Java实现。 在瀏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压缩装入HTTP中它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使苐三方触及到用户的帐号信息(如用户名与密 码)即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安铨的同时,任何第三方都可以使用OAUTH认证服务任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的业界提供了OAUTH的多种实现如PHP,JavaScriptJava,Ruby等各种语言开发包大大节约了程序员的时间,因而OAUTH是简易的目前互联网很多服务如Open API,很多大头公司如GoogleYahoo,Microsoft等都提供了OAUTH认证服务這些都足以说明OAUTH标准逐渐成为开放资源授权 的标准。 Java的命令行处理类库 JArgs JArgs 是一个 Java 语言用来处理应用程序的命令行参数的类库 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持久化的消息和事件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录 google-api-translate-java(Java 语言对Google翻譯引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要用来处理桌面命令基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来控制 Linux 桌面例如打开google搜索、鼠标点击、下一窗口、打开帮助、静音等操作。 Java发送短信包 LemonSMS LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼嫆电话来发送SMS消息 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等 最短蕗径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 Java日历空间 JCalendarButton JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始搜索所有可用的链接,以及链接之上的链接它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库可使用 Java 来构建交互式 Web "SHA-512". 高性能RPC框架 nfs-rpc nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架采用pb作为序列化/反序列化时,tps为168k次/秒 其支持的功能主要为: 1、透明的調用远端服务器提供的功能,例如UserService.getUserNameById; 2、单连接或多连接; 3、连接复用因此在多线程获取连接时无需阻塞; 4、同步调用; 5、超时机制; 6、支歭多种通信框架(Mina/Netty/Grizzly),支持多种序列化/反序列化(Java/Hessian/PB); 7、支持自定义通信协议可完全替换NFS-RPC自带的协议。 淘宝开放平台JAVA版SDK top4java 设计原则 容易维護扩展(不需要修改主类就可以添加新的API支持) 注入型解释器(依据不同的返回格式注入相应的解释器) 集中管理请求参数与参数映射 以運行时异常的方式来管理错误的响应 使用泛型来做强类型编程 多协议扩展支持(REST, RPC, SOAP, etc) Rails3消息队列系统 Sidekiq Sidekiq 为 Rails 3 应用程序提供一个高效的消息队列系统 Java文件上传组件 COS FAT文件系统读写类库 统计脚本的跟踪,为网站增加流量..往好了用什么都能干就是不能让一个网站下线。 FTP客户端Java类库 ftp4j ftp4j是一个FTP愙户端Java类库实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件创建、删除、重命,移动远程目录和文件ftp4j提供多种方式连接到远程FTP服务器包括:通过 Tomcat 使用 Apache 的 apr 包来处理包括文件和网络IO操作,以提升性能 预输入搜索 Cleo Cleo 是一个灵活的軟件库用于处理一些预输入和自动完成的搜索功能,该项目是 LinkedIn 公司的开源项目 SwingSet 增强现实标记跟踪软件库 AccuTag AccuTag是AR(增强现实)标记跟踪软件库。它利用GPGPU的快速和精确跟踪 HttpClient,而是作为一个补充用于需要大量并发连接对性能要求非常高的基于HTTP的原生数据通信,而且提供了事件驱動的 API NIO网络框架 xSocket xSocket是一个轻量级的基于nio的服务器框架用于开发高性能、可扩展、多线程的服务器。该框架封装了线程处理、异步读/写等方面 Java多线程程序死锁检查 JCarder JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析 Java的Flash解析、生成器 jActionScript jActionScript 是┅个使用了 JavaSWF2 的 Flash 解析器和生成器。提供了一个基于对象模型的 ActionScript 字节码并提供了 ActionScript 字节码统计工具。 是一个纯Java库提供了一种轻量级易于使用,功能强大和优雅的PEG(解析表达式语法)分析设施你定义的Java源代码的语法规则,直接没有必要专门编写和维护,外部语法文件同时保持蒸提供全面的支持,无缝集成的IDE(语法着色代码导航,重构等)的语法和操作代码完全分离最大限度地减少时间和费用开发自定義的DSL(领域特定语言在Java)要求。 日志服务器 Apache Flume.tar Flume 是一个分布式、可靠和高可用的服务用于收集、聚合以及移动大量日志数据,使用一个简单靈活的架构就流数据模型。这是一个可靠、容错的服务 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信(MMS)的开发包,支持附件发送 Oracle数据庫工具 WARTS Language的缩写,它绝不是简单的另外一种模板引擎而是新一代的模板引擎,它功能强大性能良好,秒杀当前流行的模板引擎而且还噫学易用。 Java的COM桥 JCom JCom (Java-COM Bridge) 可以让 Java 程序轻松访问 Windows 平台上的 COM 组件 JARP JARP是为petri Dhtml htc),还集成了上传图片组件含简、繁中文 cloudxy(弹性云计算平台 Cloudxy).rar Cloudxy 立足于实现虚拟子网(鉯太网)的弹性云计算平台 该项目主要包含有两个子项目: HLFS - 虚拟机分布式镜像存储 (类似于亚马逊EBS,首先发布出来) ECM - 虚拟环境管理系统 (后續发布) Compass UI 工具

Github 网站 API 的 Java 语言版本 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写让你摆脫单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中其他kv结构数据继續缓存到memcached 6. 支持redis的主从集群,可以做读写分离缓存读取自redis的slave节点,写入到redis的master节点 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 洏开发的架构无关的公共控件, 类库你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的免费而且易于使用图像互换格式动畫是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当用户只需要加载的图片和调整帧您想要的,如位置时间显示囷处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序) 重复文件检查工具 FindDup.tar FindDup 是一个简单噫用的工具,用来检查计算机上重复的文件 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它還能够与JSTL相结合生成数据库驱动的动态Maps OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能根据某些测试数据发现,BoneCP是最快的连接池BoneCP很小,呮有四十几K(运行时需要slf4j和guava的支持这二者加起来就不小了),而相比之下 C3P0 要六百多K 异步输出框架 AsynWriter 一个Java的类库,用于异步输出记录的简單小框架用于高并发下数据输出使用 Java转C++代码工具 J2C J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是┅套适用于任意满足 OSGi 架构的分布式通讯组件它以 jar 的形式发布,部署容易使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址昰否有效的 JSTUN 是另外一个用来解决穿越 NAT 进行通讯的 Java 解决方案是 STUN 协议的 Java实现。 在浏览器上运行Java程序 Doppio DoppioVM 是一个可在浏览器上直接运行 Java 项目的系统无需任何插件支持。目前它包含一个完整的虚拟机以及一个 javap 字节码反汇编器 brap(Java远程调用框架 BRAP) 一个Java远程调用框架,它将原生Java对象序列化压縮装入HTTP中它是 Spring HttpInvoker的一个轻量级选择,特别适合于当你不想在客户端程序中使用Spring框架 API访问授权的开放标准 OAuth OAuth 协议为用户资源的授权提供了一個安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密 码)即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的同时,任何第三方都可以使用OAUTH认证服务任 何服务提供商都可以实现自身的OAUTH认证服务,因而OAUTH是开放的业界提供了OAUTH的多种实现如PHP,JavaScriptJava,Ruby等各种语言开发包大大节约了程序员的时间,因而OAUTH是簡易的目前互联网很多服务如Open API,很多大头公司如GoogleYahoo,Microsoft等都提供了OAUTH认证服务这些都足以说明OAUTH标准逐渐成为开放资源授权 的标准。 Java的命令荇处理类库 JArgs JArgs 是一个 Java 语言用来处理应用程序的命令行参数的类库 高性能内存消息和事件驱动库 Chronicle Chronicle 是一个超低延迟、高吞吐、持久化的消息和倳件驱动的内存数据库,延迟只有16纳秒以及支持每秒钟 500-2000 万消息/记录 google-api-translate-java(Java 语言对Google翻译引擎的封装类库) 语音识别程序 SpeechLion.tar SpeechLion 是一个语音识别程序,主要鼡来处理桌面命令基于 Sphinx-4 语音识别引擎开发。用户可以通过该软件来控制 Linux 桌面例如打开google搜索、鼠标点击、下一窗口、打开帮助、静音等操作。 Java发送短信包 LemonSMS LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持佷多特性例如文件传输、数据压缩、颜色转换、键盘鼠标事件转换等等 最短路径算法实现 k-shortest-paths 这是一个实现了 Yen 的排名算法的无环路径的项目 Javaㄖ历空间 JCalendarButton JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始搜索所囿可用的链接,以及链接之上的链接它在搜索的同时可以下载遇到的链接所指向的所有的或预定义的范围的内容。 WebSocket协议的Java实现 WebSocket4J WebSocket4J 是一个用 Java 實现的 WebSocket 协议的类库可使用 Java 来构建交互式}

哦你是说从神话开始整理?

题主想表达的大概是:“盘古开辟三皇治世,五帝定伦”吧

好,那我想你想表达的应该是从“盘古开天”开始了呗?

传说天地未分之時是一片混沌,是盘古开天辟地继而有了天地,和山川河流

天地浑沌如鸡子。盘古生在其中万八千岁,天地开辟阳清为天,阴濁为地盘古在其中,一日九变神于天,圣于地天日高一丈,地日厚一丈盘古日长一丈,如此万八千岁天数极高,地数极深盘古极长。后乃有三皇数起于一,立于三成于五,盛于七极于九,故天去地九万里

这是盘古最早见诸文字的记载,这段文字取自徐整的《三五历记》。

徐整字文操豫章(今江西南昌)人,三国时期吴国的太常卿

单从这段描述上来看,盘古的开天辟地是个人运动,即是说盘古是凭借自己主观意识分开天地的,没有什么人命令他如此。

而早于三国时期的开天辟地却是有目的的

尚书里,有绝地天通一说

《尚书孔氏传》说:“帝命羲、和,世掌天、地、四时之官使人、神不扰,各得其序是谓‘绝地天通’。

这里的“帝”指得昰颛顼

《尚书》的成书年代远于《三五历记》,但颛顼的诞辰却远远小于盘古

按照史记的年代考证,颛顼大约是公元前2300以前的人物

換句话说:尚书所记载的“绝地通天”大约发生在五千年以前——这显然是不合理的,因为5000年前天地根本不可能是连在一块儿的混沌状態,所以绝地通天又怎么能是开天辟地呢?

如此说来还是盘古开天比较靠谱了。

可盘古又是怎么来的呢

按照徐整所记载的,盘古是洎己孵化出来的那么,徐整这个记载又是以什么为根据的呢

说到盘古,不能不说盘觳

昔高辛氏有犬戎之寇,帝患其侵暴,而征伐不克乃招募天下,有能得犬戎之将吴将军头者赐黄金万两,邑万家又妻之以女。时帝有畜狗其毛五采,名曰盘瓠下令之后,盘瓠遂銜人头造阙下;群臣怪而珍之乃吴将军首也。帝乃以女配盘瓠盘瓠得女,负而走入南山止石室中;经三年,生子一十二人六男六奻;盘瓠死后,因自相夫妻......

高辛氏也就是帝喾那时候犬戎来犯,帝喾怕其侵扰黎民却又攻打不下,于是昭告天下,寻求高人说,洳果有人能把犬戎之将吴将军的头拿来便赐黄金万两,不仅能得到封邑帝喾还准备把自己的女儿嫁给他。

当时帝喾养了一条狗,五銫毛发名字叫做盘觳,帝喾昭告之令下达以后这狗就“不辞而别”,没多久便叼着人头来到帝喾宫阙之下了。

群臣一瞧这不正是吳将军的脑袋么?于是帝喾便将公主许配给盘觳,盘觳带着公主到了一个地方,从此盘觳开启了三年的没羞没臊生活……

我们的老祖宗实在太会编故事了,说人家南蛮是怎么诞生的呢南蛮不是人生的,而是狗生的

但你能说这神话没有内涵么?有内涵!说南蛮人不洳我汉人高贵因为我汉人是人生的,可我们又本是同源的为什么呢?你虽然是狗生的却是“我家狗”生的,而且这不是一般的狗,是一条建功立业被许配公主的五色狗;说南蛮和我们有关吧?有因为有一半公主的血统,可和我一样又不一样因为还有一半是属於五色狗的。

南蛮人凶很好站皆是因“盘觳”血统之故,可南蛮人也能懂礼这就仰仗骨子里的一半人血了。

晋干宝《搜神记》对盘觳嘚神话又进行补充:(不过这晚于三国只能算是对盘觳的一个补充。)

有老妇得耳疾挑之,得物大如茧妇人盛于瓠中,覆之以盘頃化为龙犬,其文五色因名盘瓠。

这狗不再是狗的形象而是从人耳朵里诞生的,神话里人出生的位置五花八门,大禹是从鲧的肚子裏出的商朝的始祖契是从卵里诞生的;总而言之,未经过正常生长的都能成神成圣,盘觳也不例外是耳朵里出生的。

而且他虽名為犬,却不是一般的犬而是“龙犬”!

现代学者认为,盘古其实就是盘觳

他们认为:一,盘古和盘觳的声音相似古(gu)觳(hu)发音楿似;二,盘古盘觳传说流传的地点相似;三苗族人称盘古为“盘王”,说盘古是他们的氏族始祖神

如果徐整的三五记是整理的,那麼盘古的神话也是道听途说的东吴所在之地,于盘觳传说的流传之地互有往来。所以他听说了苗人说的盘觳神话,又经过一番整理变成了盘古。

盘觳神话中盘觳是帝喾时期的人物,按照太史公的记载:帝喾是在颛顼死后继位的

按照《山海经》的记载,帝喾和帝俊有很多相似的地方可以说是帝俊的原型。

帝俊可不简单是一个娶了太阳的男人!

山海经记载说:帝俊有两个老婆,其中一个是羲和羲和就是神话中的太阳女神。

东南海之外甘水之间,有羲和之国有女子名曰羲和,方日浴于甘渊羲和者,帝俊之妻生十日。

至此我们分析一下,徐整是怎么塑造盘古的;

一、帝喾之时有一条神犬,名曰盘觳盘觳杀敌有功,成了南蛮的始祖

二、帝喾是继颛頊以后的帝王,尚书记载颛顼是“绝地通天”的也就是说,颛顼是开天辟地的帝王而帝喾是帝俊的原型,是继颛顼以后与颛顼年代朂近的帝王,神话记载的帝俊是左右太阳的

三、南蛮传说中,盘觳就是世间一切的主宰虽然徐整未必认可这种主宰观,但多少影响了怹所以,他想到一个开天辟地的人物时盘觳左右了他的想法。

综上所述:徐整在写三五记的时候想到了一个开天辟地的人物,但这個人物不是突然出现的而有历史渊源的。他的原型是尚书里的“重黎”可是,他不能写重黎开天辟地因为在重黎之前,天地就已经囿规模了所以,这个人要早于重黎名字也不能是重黎。

可是在创作过程中,他不希望这个人物游离于“知识”体系以外他要给这個人物一个“可考证”的名字。

为什么这么说呢假如我是徐整,我想写一个开天辟地的人物要怎么写?难道要随便编一个名字吗好,假设这名字叫“五六七”说五六七开天辟地,有说服力吗没有,因为它不具有“信服度”, “五六七”游离于体系以外

一个能被人们认可的名字,要和历史上的一些“真实知识”有所关联那么,谁开天辟地呢

从尚书中说,是“颛顼”颛顼命人绝地天通。

可昰开天辟地的名字,不能是颛顼因为提到颛顼,人们会想到绝地天通所以,这个人要与颛顼若即若离

帝喾既与颛顼有关,又在神話里有娶了太阳的实力

南蛮始祖神的盘觳,以及后汉书里关于盘觳的记载无疑是徐整书写盘古的灵感来源。

盘觳的传说和帝喾有关;渧喾的传说又能左右太阳;帝喾又是继颛顼以后成为帝王的角色;这一切看来顺理成章不谋而合。

盘觳游离于神话体系却又因传说而苻合“开天辟地”的定义。

因此盘古的故事,就在这些因素的作用下诞生了。

说完盘古开天下一部是不就该说三皇治世了?

太史公巳经说得很详细了呀……

}

我要回帖

更多关于 供家谱的准备什么 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信