高质量C/C++编程指南.pdf
《高质量程序设计指南:C++、C语言》(第3版)以轻松幽默的笔调向读者论述了高质量软件开发方法与C++/C编程规范。它是作者多年从事软件开发工作的经验总结。《高质量程序设计指南:C++、C语言》(第3版)共17章,第1章到第4章重点介绍软件质量和基本的程序设计方法;第5章到第16章重点阐述 C++/C编程风格、面向对象程序设计方法和一些技术专题;第17章阐述STL 的原理和使用方法。
《高质量程序设计指南:C++、C语言》(第3版)第1版和第2版部分章节曾经在Internet上广泛流传,被国内IT企业的不少软件开发人员采用。《高质量程序设计指南:C++、C语言》(第3版)的附录C《大学十年》是作者在网上发表的一个短篇传记,文中所描述的充满激情的学习和生活态度,感染了大批莘莘学子。
自己动手写操作系统.pdf
《自己动手写操作系统》是一本编程爱好者编写的别具一格、颇有特色的操作系统原理与实现的书。该书作者对操作系统具有特殊爱好,在大量实践和反复钻研下积累了丰富而可贵的经验,为了与广大读者分享这些经验写成了此书。本书对一般的操作系统原理教材不很重视的部分,例如,系统初启、保护模式、控制权如何转入OS Kernal等都写得具体详细,对操作系统的爱好者以及涉足于操作系统设计、实现和应用的读者有很好的参考价值。《自己动手写操作系统》的文字生动活泼,富有个性,可望提高青年学子的阅读兴趣。《自己动手写操作系统》在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。全书共分7章。《自己动手写操作系统》适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作系统课程的实践参考书。
Advanced Programming in the UNIX Environment
APUE英文版
Advanced Programming in the UNIX Environment
《UNIX环境高级编程(第2版)》是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。
Managing Projects with GNU make, 3rd Edition.chm
Managing Projects with GNU make, 3rd Edition provides guidelines on meeting the needs of large, modern projects. This edition focuses on the GNU version of make, which has deservedly become the industry standard. GNU's powerful extensions are explored in this book, including a number of interesting advanced topics such as portability, parallelism, and use with Java. make is popular because it is free software and provides a version for almost every platform, including a version for Microsoft Windows as part of the free Cygwin project.
GNU Make Manual
GNU Make Manual
GNU Make中文手册
跟我一起写Makefile
SNMP指南(北原静香)
日本人写的,仅供学习使用。
この連載では「SNMP」とはどのようなプロトコルなのか、実際にSNMPによってどのような管理ができるのか、また管理情報ベース(MIB)によってどのような情報を取得できるのかを解説します。
Essential SNMP
Preface
Audience for This Book
Organization
What's New in This Edition
Example Programs
Using Code Examples
Conventions Used in This Book
Comments and Questions
Safari® Enabled
Acknowledgments for the Second Edition
Acknowledgments for the First Edition
Chapter 1. Introduction to SNMP and Network Management
Section 1.1. What Is SNMP?
Section 1.2. The Concept of Network Management
Section 1.3. Applying the Concepts of Network Management
Section 1.4. Change Management
Section 1.5. Getting More Information
Chapter 2. SNMPv1 and SNMPv2
Section 2.1. SNMP and UDP
Section 2.2. SNMP Communities
Section 2.3. The Structure of Management Information
Section 2.4. Extensions to the SMI in Version 2
Section 2.5. A Closer Look at MIB-II
Section 2.6. SNMP Operations
Section 2.7. Host Management Revisited
Section 2.8. Remote Monitoring Revisited
Section 2.9. Reverse Engineering SNMP
Chapter 3. SNMPv3
Section 3.1. Changes in SNMPv3
Section 3.2. USM
Section 3.3. VACM
Section 3.4. SNMPv3 in the Real World
Chapter 4. NMS Architectures
Section 4.1. Hardware Considerations
Section 4.2. NMS Architectures
Section 4.3. A Look Ahead
Chapter 5. Configuring Your NMS
Section 5.1. HP's OpenView Network Node Manager
Section 5.2. Castle Rock's SNMPc Enterprise Edition
Chapter 6. Configuring SNMP Agents
Section 6.1. Parameter Settings
Section 6.2. Security Concerns
Section 6.3. Agent Configuration Walkthroughs
Chapter 7. Polling and Setting
Section 7.1. Retrieving a Single MIB Value
Section 7.2. Retrieving Multiple MIB Values
Section 7.3. Setting a MIB Value
Section 7.4. Error Responses
Chapter 8. Polling and Thresholds
Section 8.1. Internal Polling
Section 8.2. External Polling
Chapter 9. Traps
Section 9.1. Understanding Traps
Section 9.2. Receiving Traps
Section 9.3. Sending Traps
Chapter 10. Extensible SNMP Agents
Section 10.1. Net-SNMP
Section 10.2. SystemEDGE
Section 10.3. OpenView's Extensible Agent
Chapter 11. Adapting SNMP to Fit Your Environment
Section 11.1. General Trap-Generation Program
Section 11.2. Who's Logging into My Machine? (I-Am-In)
Section 11.3. Throw Core
Section 11.4. Veritas Disk Check
Section 11.5. Disk-Space Checker
Section 11.6. Port Monitor
Section 11.7. Service Monitoring
Section 11.8. Pinging with Cisco
Section 11.9. Simple SNMP Agent
Section 11.10. Switch Port Control
Section 11.11. Wireless Networking
Section 11.12. SNMP: The Object-Oriented Way
Section 11.13. Final Words
Chapter 12. MRTG
Section 12.1. Using MRTG
Section 12.2. Viewing Graphs
Section 12.3. Graphing Other Objects
Section 12.4. Other Data-Gathering Applications
Section 12.5. Pitfalls
Section 12.6. Getting Help
Chapter 13. RRDtool and Cricket
Section 13.1. RRDtool
Section 13.2. Cricket
Chapter 14. Java and SNMP
Section 14.1. SNMP4J
Section 14.2. SNMP getnext
Section 14.3. SNMP set
Section 14.4. Sending Traps and Informs
Section 14.5. Receiving Traps and Informs
Section 14.6. Resources
Appendix A. Using Input and Output Octets
Appendix B. More on OpenView's NNM
Section B.1. Using External Data
Section B.2. Adding a Menu to NNM
Section B.3. Profiles for Different Users
Section B.4. Using NNM for Communications
Appendix C. Net-SNMP Tools
Section C.1. Net-SNMP and MIB Files
Section C.2. Common Command-Line Arguments
Section C.3. Net-SNMP Command-Line Tools
Appendix D. SNMP RFCs
Section D.1. SMIv1 Data Definition Language
Section D.2. SMIv2 Data Definition Language
Section D.3. SNMPv3 Protocol
Section D.4. SNMP Agent Extensibility
Section D.5. SMIv1 MIB Modules
Section D.6. SMIv2 MIB Modules
Section D.7. IANA-Maintained MIB Modules
Section D.8. Related Documents
Appendix E. SNMP Support for Perl
Section E.1. SNMP_Util
Section E.2. Net-SNMP
Appendix F. Network Management Software
Section F.1. SNMP Agents
Section F.2. NMS Suites
Section F.3. Element Managers (Vendor-Specific Management)
Section F.4. Trend Analysis
Section F.5. Supporting Software
Appendix G. Open Source Monitoring Software
Section G-1. Big Brother
Section G-2. Nagios
Section G-3. JFFNMS
Section G-4. OpenNMS
Section G-5. NINO
Appendix H. Network Troubleshooting Primer
Section H-1. ping
Section H-2. ipconfig and ifconfig
Section H-3. arp
Section H-4. netstat
Section H-5. traceroute and tracert
Section H-6. nslookup and dig
Section H-7. whois
Section H-8. Ethereal
About the Authors
Colophon
Index
UNIX网络编程.卷2:进程间通信
《UNIX网络编程.卷2:进程间通信(第2版)》是一部UNIX网络编程的经典之作!进程间通信(IPC)几乎是所有Unix程序性能的关键,理解 IPC也是理解如何开发不同主机间网络应用程序的必要条件。《UNIX网络编程.卷2:进程间通信(第2版)》从对Posix IPC和System V IPC的内部结构开始讨论,全面深入地介绍了4种IPC形式:消息传递(管道、FIFO、消息队列)、同步(互斥锁、条件变量、读写锁、文件与记录锁、信号量)、共享内存(匿名共享内存、具名共享内存)及远程过程调用(Solaris门、Sun RPC)。附录中给出了测量各种IPC形式性能的方法。
《UNIX网络编程.卷2:进程间通信(第2版)》内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
UNIX网络编程第1卷.pdf
《UNIX网络编程(卷1):套接字联网API(第1版)》是一部UNIX网络编程的经典之作!书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还深入分析了流这种设备驱动机制。
《UNIX网络编程(卷1):套接字联网API(第1版)》内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
ubuntu-10.04-torrent
ubuntu-10.04-torrent
ubuntu 10.04的种子
ActiveMQ in Action
Atonetimeoranother,everysoftwaredeveloperhastheneedtocommunicate
betweenapplicationsortransferdatafromonesystemtoanother.Notonlyare
theremanysolutionstothissortofproblem,butdependingonyourconstraintsand
requirements,decidinghowtogoaboutsuchataskcanbeabigdecision.Business
requirementsoftentimesplacerestrictionsonitemsthatdirectlyimpactsucha
decisionincludingperformance,scalability,reliabilityandmore.Therearemany
applicationsthatweuseeverydaythatimposejustsuchrequirementsincluding
ATMs,airlinereservationsystems,creditcardsystems,point-of-salesystemsand
telecommunicationsjusttonameafew.Wherewouldwebewithoutmostofthese
applicationsinourdailylivestoday?
Java SOA Cookbook
While Java is known for its portability, and many web services artifacts are portable,
vendors frequently offer considerable extras in an attempt to make things more con-
venient for you (or lock you in, depending on your level of cynicism). Given the fact
that we’re covering such a wide array of material already, it is simply not possible to
cover the minor changes in how to do everything on specific platforms. Given products
such as WebLogic, Tomcat, WebSphere, Glassfish, ServiceMix, CXF, Mule, Active
Endpoints, OpenESB, and dozens of other vendor offerings that address different as-
pects of SOA, there is problem of multiplication in a book such as this one. So I’ve
chosen a middle-of-the-road stance for the most part, and kept mostly focused on what
tools will be available to the most people.
用TCPIP进行网际互连vol2
《用TCP/IP进行网际互连:设计、实现与内核(ANSI C版)(第3版)(第2卷)》是关于计算机网络的经典教材。全书共三卷。第二卷在第一卷介绍了TCP/IP基本概念的基础上,进一步详细讨论了TCWIP的实现细节。这一卷的突出特点是非常注重实际。作者利用程序代码实现了TCP/IP的每个技术细节,并且所有代码在书中均可找到,有助于读者深入了解并掌握TCP/IP的细节内容。书中附录分别给出了过程调用交叉参考表、程序代码中用到的C数据结构交叉参考表以及Xinu函数和常量。
Pthreads Programming.chm
Chapter 1 - - Why Threads
Overview
What Are Pthreads?
Potential Parallelism
Specifying Potential Parallelism in a Concurrent Programming Environment
UNIX Concurrent Programming: Multiple Processes
Pthreads Concurrent Programming: Multiple Threads
Parallel vs. Concurrent Programming
Synchronization
Sharing Process Resources
Communication
Scheduling
Who Am I? Who Are You?
Terminating Thread Execution
Exit Status and Return Values
Pthreads Library Calls and Errors
Why Use Threads Over Processes?
A Structured Programming Environment
Choosing Which Applications to Thread
Chapter 2 - - Designing Threaded Programs
Overview
Suitable Tasks for Threading
Models
Boss/Worker Model
Peer Model
Pipeline Model
Buffering Data Between Threads
Some Common Problems
Performance
Example: An ATM Server
The Serial ATM Server
The Multithreaded ATM Server
Example: A Matrix Multiplication Program
The Serial Matrix-Multiply Program
The Multithreaded Matrix-Multiply Program
Chapter 3 - - Synchronizing Pthreads
Overview
Selecting the Right Synchronization Tool
Mutex Variables
Using Mutexes
Error Detection and Return Values
Using pthread_mutex_trylock
When Other Tools Are Better
Some Shortcomings of Mutexes
Contention for a Mutex
Example: Using Mutexes in a Linked List
Complex Data Structures and Lock Granularity
Requirements and Goals for Synchronization
Access Patterns and Granularity
Locking Hierarchies
Sharing a Mutex Among Processes
Condition Variables
Using a Mutex with a Condition Variable
When Many Threads Are Waiting
Checking the Condition on Wake Up: Spurious Wake Ups
Condition Variable Attributes
Condition Variables and UNIX Signals
Condition Variables and Cancellation
Reader/Writer Locks
Synchronization in the ATM Server
Synchronizing Access to Account Data
Limiting the Number of Worker Threads
Synchronizing a Server Shutdown
Thread Pools
An ATM Server Example That Uses a Thread Pool
Chapter 4 - - Managing Pthreads
Overview
Setting Thread Attributes
Setting a Thread’s Stack Size
Setting a Thread’s Detached State
Setting Multiple Attributes
Destroying a Thread Attribute Object
The pthread_once Mechanism
Example: The ATM Server’s Communication Module
Keys: Using Thread-Specific Data
Initializing a Key: pthread_key_create
Associating Data with a Key
Retrieving Data from a Key
Destructors
Cancellation
The Complication with Cancellation
Cancelability Types and States
Cancellation Points: More on Deferred Cancellation
A Simple Cancellation Example
Cleanup Stacks
Cancellation in the ATM Server
Scheduling Pthreads
Scheduling Priority and Policy
Scheduling Scope and Allocation Domains
Runnable and Blocked Threads
Scheduling Priority
Scheduling Policy
Using Priorities and Policies
Setting Scheduling Policy and Priority
Inheritance
Scheduling in the ATM Server
Mutex Scheduling Attributes
Priority Ceiling
Priority Inheritance
The ATM Example and Priority Inversion
Chapter 5 - - Pthreads and UNIX
Overview
Threads and Signals
Traditional Signal Processing
Signal Processing in a Multithreaded World
Threads in Signal Handlers
A Simple Example
Some Signal Issues
Handling Signals in the ATM Example
Threadsafe Library Functions and System Calls
Threadsafe and Reentrant Functions
Example of Thread-Unsafe and Threadsafe Versions of the Same Function
Functions That Return Pointers to Static Data
Library Use of errno
The Pthreads Standard Specifies Which Functions Must Be Threadsafe
Using Thread-Unsafe Functions in a Multithreaded Program
Cancellation-Safe Library Functions and System Calls
Asynchronous Cancellation-Safe Functions
Cancellation Points in System and Library Calls
Thread-Blocking Library Functions and System Calls
Threads and Process Management
Calling fork from a Thread
Calling exec from a Thread
Process Exit and Threads
Multiprocessor Memory Synchronization
Chapter 6 - - Practical Considerations
Overview
Understanding Pthreads Implementation
Two Worlds
Two Kinds of Threads
Who’s Providing the Thread?
Debugging
Deadlock
Race Conditions
Event Ordering
Less Is Better
Trace Statements
Debugger Support for Threads
Example: Debugging the ATM Server
Performance
The Costs of Sharing Too Much—Locking
Thread Overhead
Synchronization Overhead
How Do Your Threads Spend Their Time?
Performance in the ATM Server Example
Conclusion
Appendix A - - Pthreads and DCE
The Structure of a DCE Server
What Does the DCE Programmer Have to Do?
Example: The ATM as a DCE Server
Appendix B - - Pthreads Draft 4 vs. the Final Standard
Detaching a Thread
Mutex Variables
Condition Variables
Thread Attributes
The pthread_once Function
Keys
Cancellation
Scheduling
Signals
Threadsafe System Interfaces
Error Reporting
System Interfaces and Cancellation-Safety
Process-Blocking Calls
Process Management
Appendix C - - Pthreads Quick Reference
PHP程序设计中文版.pdf
第1章 PHP简介
PHP能做什么
PHP发展简史
安装PHP
PHP纵览
第2章 语言基础
词法结构
数据类型
变量
表达式和操作符
流控制语句
包含代码
在Web页面中嵌入PHP
第3章 函数
函数调用
定义函数
变量作用域
函数参数
返回值
可变函数
匿名函数
第4章 字符串
引用字符串常量
输出字符串
访问单个字符
整理字符串
编码和转义
比较字符串
处理和查找字符串
正则表达式
风格正则表达式
Perl兼容正则表达式
第5章 数组
索引数组和关联数组
识别数组元素
在数组中存储数据
多维数组
析取多个值
在数组和变量间转换
遍历数组
排序
作用于整个数组
使用数组
第 6章 对象
术语
创建一个对象
访问对象属性和方法
声明一个类
自省
串行化
第7章 Web技术
HTTP基础
变量
服务器信息
表单处理
设置响应头
维持状态
SSI
第8 章 数据库
使用PHP访问数据库
关系型数据库和SQL
PEAR DB基础
高级数据库技术
示例程序
第 9章 图形
在页面中嵌入图像
GD扩展
图像基本概念
创建和绘制图像
带文字的图像
动态创建按钮
缩放图像
颜色处理
第10章 PDF
PDF扩展
文档和页面
文字
第11章 XML
入门指南
生成XML
解析XML
用DOM解析XML
使用SimpleXML解析XML
使用XSIT转换XMT
Web Services
第12章 安全
输入过滤
转义输出
跨站脚本攻击
Session仿造
文件上传
文件访问权限
PHP代码
Shell命令
更多信息
安全要点总结
第13章 应用技术
代码库
模板系统
输出处理
错误处理
性能调节
第14章 扩展PHP
架构概览
编写扩展需要些什么
创建你的第一个扩展
config.m4文件
内存管理
pval/zval数据类型
参数处理
返回值
引用
全局变量
创建变量
扩展的INI项
资源
下一步循述
Hibernate Reference(V3.3.2GA).pdf
Documentation
Hibernate Reference
深入Java虚拟机(中文版)第二版
第1章 Java体系结构介绍
1.1 为什么使用Java
1.2 网络带来的挑战和机遇
1.3 体系结构
1.3.1 Java虚拟机
1.3.2 类装载器的体系结构
1.3.3 Java class文件
1.3.4 Java API
1.3.5 Java程序设计语言
1.4 Java体系结构的代价
1.5 结论
1.6 资源页
第2章 平台无关
2.1 为什么要平台无关
2.2 Java的体系结构对平台无关的支持
2.2.1 Java平台
2.2.2 Java语言
2.3.3 Java class文件
. 2.2.4 可伸缩性
2.3 影响平台无关性的因素
2.3.1 Java平台的部署
2.3.2 Java平台的版本
2.3.3 本地方法
2.3.4 非标准运行时库
2.3.5 对虚拟机的依赖
2.3.6 对用户界面的依赖
2.3.7 Java平台实现中的bug
2.3.8 测试
2.4 平台无关的七个步骤
2.5 平台无关性的策略
2.6 平台无关性和网络移动对象
2.7 资源页
第3章 安全
3.1 为什么需要安全性
3.2 基本沙箱
3.3 类装载器体系结构
3.4 class文件检验器
3.4.1 第一趟:class文件的结构检查
3.4.2 第二趟:类型数据的语义检查
3.4.3 第三趟:字节码验证
3.4.4 第四趟:符号引用的验证
3.4.5 二进制兼容
3.5 Java虚拟机中内置的安全特性
3.6 安全管理器和Java API
3.7 代码签名和认证
3.8 一个代码签名示例
3.9 策略
3.10 保护域
3.11 访问控制器
3.11.1 implies()方法
3.11.2 栈检查示例
3.11.3 一个回答“是”的栈检查
3.11.4 一个回答“不”的栈检查
3.11.5 doPrivileged()方法
3.11.6 doPrivileged()的一个无效使用
3.12 Java安全模型的不足和今后的发展
方向
3.13 和体系结构无关的安全性
3.14 资源页
第4章 网络移动性
4.1 为什么需要网络移动性
4.2 一种新的软件模式
4.3 Java体系结构对网络移动性的支持
4.4 applet:网络移动性代码的示例
4.5 Jini服务对象:网络移动对象的示例
4.5.1 Jini是什么
4.5.2 Jini如何工作
4.5.3 服务对象的优点
4.6 网络移动性:Java设计的中心
4.7 资源页
第5章 Java虚拟机
5.1 Java虚拟机是什么
5.2 Java虚拟机的生命周期
5.3 Java虚拟机的体系结构
5.3.1 数据类型
5.3.2 字长的考量
5.3.3 类装载器子系统
5.3.4 方法区
5.3.5 堆
5.3.6 程序计数器
5.3.7 Java栈
5.3.8 栈帧
5.3.9 本地方法栈
5.3.10 执行引擎
5.3.11 本地方法接口
5.4 真实机器
5.5 一个模拟:“Eternal Math”
5.6 随书光盘
5.7 资源页
第6章 Java class文件
6.1 Java class文件是什么
6.2 class文件的内容
6.3 特殊字符串
6.3.1 全限定名
6.3.2 简单名称
6.3.3 描述符
6.4 常量池
6.4.1 CONSTANT_Utf8_info表
6.4.2 CONSTANT_Integer_info表
6.4.3 CONSTANT_Float_info表
6.4.4 CONSTANT_Long_info表
6.4.5 CONSTANT_Double_info表
6.4.6 CONSTANT_Class_info表
6.4.7 CONSTANT_String_info表
6.4.8 CONSTANT_Fieldref_info表
6.4.9 CONSTANT_Methodref_info表
6.4.10 CONSTANT_InterfaceMethodref_
info表
6.4.11 CONSTANT_NameAndType_info
表
6.5 字段
6.6 方法
6.7 属性
6.7.1 属性格式
6.7.2 Code属性
6.7.3 ConstantValue属性
6.7.4 Deprecated属性
6.7.5 Exceptions属性
6.7.6 InnerClasses属性
6.7.7 LineNumberTable属性
6.7.8 LocalVariableTable属性
6.7.9 SourceFile属性
6.7.10 Synthetic属性
6.8 一个模拟:“Getting Loaded”
6.9 随书光盘
6.10 资源页
第7章 类型的生命周期
7.1 类型装载、连接与初始化
7.1.1 装载
7.1.2 验证
7.1.3 准备
7.1.4 解析
7.1.5 初始化
7.2 对象的生命周期
7.2.1 类实例化
7.2.2 垃圾收集和对象的终结
7.3 卸载类型
7.4 随书光盘
7.5 资源页
第8章 连接模型
8.1 动态连接和解析
8.1.1 解析和动态扩展
8.1.2 类装载器与双亲委派模型
8.1.3 常量池解析
8.1.4 解析CONSTANT_Class_info入口
8.1.5 解析CONSTANT_Fieldref_info
入口
S.1.6 解析CONSTANT_Methodref_info
入口
8.1.7 解析CONSTANT_Interface-
Methodref_info入口
8.1.8 解析CONSTANT_String_info入口
8.1.9 解析其他类型的入口
8.1.10 装载约束
8.1.11 编译时常量解析
8.1.12 直接引用
8.1.13 _quick指令
8.1.14 示例:Salutation程序的连接
8.1.15 示例:Greet程序的动态扩展
8.1.16 使用1.1版本的用户自定义类装
载器
8.1.17 使用1.2版本的用户自定义类装
载器
8.1.18 示例:使用forName()的动态扩展
8.1.19 示例:卸载无法触及的greeter类
8.1.20 示例:类型安全性与装载约束
8.2 随书光盘
8.3 资源页
第9章 垃圾收集
9.1 为什么要使用垃圾收集
9.2 垃圾收集算法
9.3 引用计数收集器
9.4 跟踪收集器
9.5 压缩收集器
9.6 拷贝收集器
9.7 按代收集的收集器
9.8 自适应收集器
9.9 火车算法
9.9.1 车厢、火车和火车站
9.9.2 车厢收集
9.9.3 记忆集合和流行对象
9.10 终结
9.11 对象可触及性的生命周期
9.11.1 引用对象
9.11.2 可触及性状态的变化
9.11.3 缓存、规范映射和临终清理
9.12 一个模拟:“Heap of Fish”
9.12.1 分配鱼
9.12.2 设置引用
9.12.3 垃圾收集
9.12.4 压缩堆
9.13 随书光盘
9.14 资源页
第10章 栈和局部变量操作
10.1 常量入栈操作
10.2 通用栈操作
10.3 把局部变量压入栈
10.4 弹出栈顶部元素,将其赋给局部变量
10.5 wide指令
10.6 一个模拟:“Fibonacci Forever”
10.7 随书光盘
10.8 资源页
第11章 类型转换
11.1 转换操作码
11.2 一个模拟:“Conversion Diversion”
11.3 随书光盘
11.4 资源页
第12章 整数运算
12.1 二进制补码运算
12.2 Inner Int:揭示Java int类型内部性质
的applet
12.3 运算操作码
12.4 一个模拟:“Prime Time”
12.5 随书光盘
12.6 资源页
第13章 逻辑运算
13.1 逻辑操作码
13.2 一个模拟:“Logical Results”
13.3 随书光盘
13.4 资源页
第14章 浮点运算
14.1 浮点数
14.2 Inner Float:揭示Java float类型内部
性质的applet
14.3 浮点模式
14.3.1 浮点值集合
14.3.2 浮点值集的转换
14.3.3 相关规则的本质
14.4 浮点操作码
14.5 一个模拟:“Circle of Squares”
14.6 随书光盘
14.7 资源页
第15章 对象和数组
15.1 关于对象和数组的回顾
15.2 针对对象的操作码
15.3 针对数组的操作码
15.4 一个模拟:“Three—Dimensional
Array”
15.5 随书光盘
15.6 资源页
第16章 控制流
16.1 条件分支
16.2 五条件分支
16.3 使用表的条件分支
16.4 一个模拟:“Saying Tomato”
16.5 随书光盘
16.6 资源页
第17章 异常
17.1 异常的抛出与捕获
17.2 异常表
17.3 一个模拟:“Play Ball!”
17.4 随书光盘
17.5 资源页
第18章 finally子句
18.1 微型子例程
18.2 不对称的调用和返回
18.3 一个模拟:“Hop Around”
18.4 随书光盘
18.5 资源页
第19章 方法的调用与返回
19.1 方法调用
19.1.1 Java方法的调用
19.1.2 本地方法的调用
19.2 方法调用的其他形式
19.3 指令invokespecial
19.3.1 指令invokespecial和[init]()方法
19.3.2 指令invokespecial和私有方法
19.3.3 指令invokespecial和super关键字
19.4 指令invokeinterface
19.5 指令的调用和速度
19.6 方法调用的实例
19.7 从方法中返回
19.8 随书光盘
19.9 资源页
第20章 线程同步
20.1 监视器
20.2 对象锁
20.3 指令集中对同步的支持
20.3.1 同步语句
20.3.2 同步方法
20.4 Object类中的协调支持
20.5 随书光盘
20.6 资源页
附录A 按操作码助记符排列的指令集
附录B 按功能排列的操作码助记符
附录C 按操作码字节值排列的操作码助
记符
附录D Java虚拟机的一个模拟:“Slices
of Pi”
敏捷软件开发.pdf
第一部分 敏捷开发
第1章 敏捷联盟
1.1 敏捷联盟
1.2 原则
1.3 结论
参考文献
第2章 极限编程概述
2.1 极限编程实践
2.2 结论
参考文献
第3章 计划
3.1 初始探索
3.2 发布计划
3.3 迭代计划
3.4 任务计划
3.5 迭代
3.6 结论
参考文献
.
第4章 测试
4.1 测试驱动的开发方法
4.2 验收测试
4.3 结论
参考文献
第5章 重构
5.1 素数产生程序:一个简单的重构示例
5.2 结论
参考文献
第6章 一次编程实践
6.1 保龄球比赛
6.2 结论
第II部分 敏捷设计
第7章 什么是敏捷设计
7.1 软件出了什么错
7.2 设计的臭味——腐化软件的气味
7.3 “Copy”程序
7.4 保持尽可能好的设计
7.5 结论
参考文献
第8章 单一职责原则(SRP)
8.1 单一职责原则(OCP)
8.2 结论
参考文献
第9章 开放—封闭原则(OCP)
9.1 开发—封闭原则(OCP)
9.2 描述
9.3 关键是抽象
9.4 结论
参考文献
第10章 Liskov替换原则(LSP)
10.1 Liskov替换原则(LSP)
10.2 一个违反LSP的简单例子
10.3 正方形和矩形,更微妙的违规
10.4 一个实际的例子
10.5 用提取公共部分的方法代替继承
10.6 启发式规则和习惯用法
10.7 结论
参考文献
第11章 依赖倒置原则(DIP)
11.1 依赖倒置原则(DIP)
11.2 层次化
11.3 一个简单的例子
11.4 熔炉示例
11.5 结论
参考文献
第12章 接口隔离原则(ISP)
12.1 接口污染
12.2 分离客户就是分离接口
12.3 接口隔离原则(ISP)
12.4 类接口与对象接口
12.5 ATM用户界面的例子
12.6 结论
参考文献
第III部分 薪水支付案例研究
第13章 COMMAND模式和ACTIVE OBJECT模式
13.1 简单的COMMAND
13.2 事务操作
13.3 UNDO
13.4 ACTIVE OBJECT模式
13.5 结论
参考文献
第14章 TEMPLATE METHOD模式和STRATEGY模式:继承与委托
14.1 TEMPLATE METHOD模式
14.2 STRATEGY模式
14.3 结论
参考文献
第15章 FACADE模式和MEDIATOR模式
15.1 FACADE模式
15.2 MEDIATOR模式
15.3 结论
参考文献
第16章 SINGLETON模式和MONOSTATE模式
16.1 SINGLETON模式
16.2 MONOSTATE模式
16.3 结论
参考文献
第17章 NULL OBJECT模式
17.1 结论
参考文献
第18章 薪水支付案例研究:第一次迭代开始
18.1 介绍
18.2 基于用例分析
18.3 反思:我们学到了什么
18.4 找出潜在的抽象
18.5 结论
参考文献
第19章 薪水支付案例研究:实现
19.1 增加雇员
19.2 删除雇员
19.3 时间卡、销售凭条以及服务费用
19.4 更改雇员属性
19.5 支付雇员薪水
19.6 主程序
19.7 数据库
19.8 薪水支付系统设计总结
第IV部分 打包薪水支付系统
第20章 包的设计原则
20.1 如何进行包的设计
20.2 粒度:包的内聚性原则
20.3 稳定性:包的耦合性原则
20.4 自顶向下设计
20.5 稳定依赖原则
20.6 稳定抽象原则
20.7 结论
第21章 FACTORY模式
21.1 依赖关系环
21.2 可替换的工厂
21.3 对测试支架使用对象工厂
21.4 使用对象工厂有多么重要
21.5 结论
参考文献
第22章 薪水支付案例研究(第2部分)
22.1 包结构和表示法
22.2 应用公共封闭原则(CCP)
22.3 应用重用发布等价原则(REP)
22.4 耦合和封装
22.5 度量
22.6 度量薪水支付应用程序
22.7 对象工厂
22.8 最终的包结构
22.9 结论
参考文献
第V部分 气象站案例研究
第23章 COMPOSITE模式
23.1 示例:组合命令
23.2 多重性带是非多重性
第24章 OBSERVER模式—回归为模式
24.1 数字时钟
24.2 结论
24.3 OBSERVER模式
参考文献
第25章 ABSTRACT SERVER模式、ADAPTER模式和BRIDGE模式
25.1 ABSTRACT SERVER模式
25.2 ADAPTER模式
25.3 BRIDGE模式
25.4 结论
参考文献
第26章 PROXY模式和STAIRWAY TO HEAVEN模式:管理第三方API
26.1 PROXY模式
26.2 STAIRWAY TO HEAVEN模式
26.3 可以用于数据库的其他模式
26.4 结论
参考文献
第27章 案例研究:气象站
27.1 Cloud公司
27.2 Nimbus-LC软件设计
27.3 结论
参考文献
27.4 Nimbus-LC需求概述
27.5 Nimbus-LC用例
27.6 Nimbus-LC发布计划
第VI部分 ETS案例研究
第28章 VISITOR模式
28.1 VISITOR设计模式系列
28.2 VISITOR模式
28.3 ACYCLIC VISITOR模式
28.4 DECORATOR模式
28.5 EXTENSION OBJECT模式
28.6 结论
参考文献
第29章 STATE模式
29.1 有限状态自动机概述
29.2 实现技术
29.3 STATE模式
29.4 应该在哪些地方使用状态机
29.5 作为GUI中的高层应用策略
29.6 结论
29.7 程序
参考文献
第30章 ETS框架
30.1 介绍
30.2 框架
30.3 框架设计
30.4 TEMPLATE METHOD模式的一个例子
30.5 TASKMASTER构架
30.6 结论
参考文献
附录
附录A UML表示法I:CGI示例
A.1 课程登记系统:问题描述
A.2 小结
参考文献
附录B UML表示法II:统计多路复用器
B.1 统计多路复用器的定义
B.2 结论
参考文献
附录C 两上公司的讽刺小品
附录D 源代码就是设计
索引
UNIX操作系统设计(The Design of the UNIX Operating System)
第1章 系统概貌
1.1 历史
1.2 系统结构
1.3 用户看法
1.3.1 文件系统
1.3.2 处理环境
1.3.3 构件原语
1.4 操作系统服务
1.5 关于硬件的假设
1.5.1 中断与例外
1.5.2 处理机执行级
1.5.3 存储管理
1.6 本章小结
第2章 内核导言
2.1 UNIX操作系统的体系结构
2.2 系统概念介绍
2.2.1 文件子系统概貌
.2.2.2 进程
2.3 内核数据结构
2.4 系统管理
2.5 本章小结
2.6 习题
第3章 数据缓冲区高速缓冲
3.1 缓冲头部
3.2 缓冲池的结构
3.3 缓冲区的检索
3.4 读磁盘块与写磁盘块
3.5 高速缓冲的优点与缺点
3.6 本章小结
3.7 习题
第4章 文件的内部表示
4.1 索引节点
4.1.1 定义
4.1.2 对索引节点的存取
4.1.3 释放索引节点
4.2 正规文件的结构
4.3 目录
4.4 路径名到索引节点的转换
4.5 超级块
4.6 为新文件分配索引节点
4.7 磁盘块的分配
4.8 其他文件类型
4.9 本章小结
4.10 习题
第5章 文件系统的系统调用
5.1 系统调用open
5.2 系统调用read
5.3 系统调用write
5.4 文件和记录的上锁
5.5 文件的输入/输出位置的调整—lseek
5.6 系统调用close
5.7 文件的建立
5.8 特殊文件的建立
5.9 改变目录及根
5.10 改变所有者及许可权方式
5.11 系统调用stat和fstat
5.12 管道
5.12.1 系统调用pipe
5.12.2 有名管道的打开
5.12.3 管道的读和写
5.12.4 管道的关闭
5.12.5 例
5.13 系统调用dup
5.14 文件系统的安装和拆卸
5.14.1 在文件路径名中跨越安装点
5.14.2 文件系统的拆卸
5.15 系统调用link
5.16 系统调用unlink
5.16.1 文件系统的一致性
5.16.2 竞争条件
5.17 文件系统的抽象
5.18 文件系统维护
5.19 本章小结
5.20 习题
第6章 进程结构
6.1 进程的状态和状态的转换
6.2 系统存储方案
6.2.1 区
6.2.2 页和页表
6.2.3 内核的安排
6.2.4 u区
6.3 进程的上下文
6.4 进程上下文的保存
6.4.1 中断和例外
6.4.2 系统调用的接口
6.4.3 上下文切换
6.4.4 为废弃返回(abortive return)而保存上下文
6.4.5 在系统和用户地址空间之间拷贝数据
6.5 进程地址空间的管理
6.5.1 区的上锁和解锁
6.5.2 区的分配
6.5.3 区附接到进程
6.5.4 区大小的改变
6.5.5 区的装入
6.5.6 区的释放
6.5.7 区与进程的断接
6.5.8 区的复制
6.6 睡眠
6.6.1 睡眠事件及地址
6.6.2 算法sleep和wakeup
6.7 本章小结
6.8 习题
第7章 进程控制
7.1 进程的创建
7.2 软中断信号
7.2.1 软中断信号的处理
7.2.2 进程组
7.2.3 从进程发送软中断信号
7.3 进程的终止
7.4 等待进程的终止
7.5 对其他程序的引用
7.6 进程的用户标识号
7.7 改变进程的大小
7.8 shell程序
7.9 系统自举和进程init
7.10 本章小结
7.11 习题
第8章 进程调度和时间
8.1 进程调度
8.1.1 算法
8.1.2 调度参数
8.1.3 进程调度的例子
8.1.4 进程优先权的控制
8.1.5 公平共享调度
8.1.6 实时处理
8.2 有关时间的系统调用
8.3 时钟
8.3.1 重新启动时钟
8.3.2 系统的内部定时
8.3.3 直方图分析
8.3.4 记帐和统计
8.3.5 计时
8.4 本章小结
第9章 存储管理策略
9.1 对换
9.1.1 对换空间的分配
9.1.2 进程的换出
9.1.3 进程的换入
9.2 请求调页
9.2.1 请求调页的数据结构
9.2.2 偷页进程
9.2.3 页面错
9.2.4 在简单硬件支持下的请示调页系统
9.3 对换和请示调页的混合系统
9.4 本章小结
9.5 习题
第10章 输入/输出子系统
10.1 驱动程序接口
10.1.1 系统配置
10.1.2 系统调用与驱动程序接口
10.1.3 中断处理程序
Windows下MinGW的安装与配置及Eclipse搭配C++环境
Windows下MinGW的安装与配置
Eclipse搭配C++环境
excel文档
深入理解LINUX网络技术内幕
Linux如此的流行正是得益于它的特性丰富及有效的网络协议栈。如果你曾经惊叹于Linux能够实现如此复杂的工作,或者你只是想通过现实中的例子学习现代网络,《深入理解Linux网络内幕》将会给你指导。同其他O'Reilly的流行书籍一样,《深入理解Linux网络内幕》清楚地阐述了网络的基本概念,并指导你如何用C语言实现。虽然早先的 TCP/IP经验是有用的,但初学者通过《深入理解Linux网络内幕》仍然可以学习到协议本身和大量的应用信息。一旦彻底掌握了这些网络工具,你就可以使用《深入理解Linux网络内幕》这本书所附的代码,准确地指出Linux内核中最重要的部分如何工作。, , 网络功能的实现或破坏在不同的时候是由不同的代码块完成的,这正是理解网络和实现它的难点中的一部分。《深入理解Linux网络内幕》该书的成功之一就是描述这些代码块如何集成,以及众多的函数和数据结构之间的关系。《深入理解Linux网络内幕》不仅描述了Linux网络的全貌,而且是理解Linux网络细节的有效指南。
Linux那些事儿之我是USB_2nd
《Linux那些事儿之我是USB(第2版)》基于2.6.22内核,对USB子系统的大部分源代码逐行进行分析,系统地阐释了Linux内核中USB于系统是如何运转的,子系统内部的各个模块之间是如何互相协作、配合的。本次改版修改了第1版中出现的错误,增加了一个附录,主要内容是关于Linux内核的学习方法,是作者的经验总结,值得一读。
《Linux那些事儿之我是USB(第2版)》使用幽默诙谐的笔调对Linux内核中的USB子系统源代码进行了分析,形象且详尽地介绍了USB在Linux中的实现。《Linux那些事儿之我是USB(第2版)》从U盘、Hub、USB Core到主机控制器覆盖了USB实现的方方面面,被一些网友誉为USB开发的“圣经”。
对于Linux初学者,可以通过《Linux那些事儿之我是USB(第2版)》掌握学习内核、浏览内核代码的方法;对于Linux驱动开发者,可以通过《Linux那些事儿之我是USB(第2版)》对设备模型有形象深刻的理解:对于USB开发者,可以通过《Linux那些事儿之我是USB(第2版)》全面理解USB在一个操作系统中的实现;对于Linux内核开发者,也可以通过《Linux那些事儿之我是USB(第2版)》学习到很多Linux高手开发和维护一个完整子系统时的编程思想。
Advanced_Bash-Scripting_Guide
《Advanced_Bash-Scripting_Guide》,linux shell神器,不解释
GDSL - The Generic Data Structures Library
The Generic Data Structures Library (GDSL) is a collection of routines for generic data structures manipulation. It is a portable and re-entrant library fully written from scratch in pure ANSI C. It is designed to offer for C programmers common data structures with powerful algorithms, and hidden implementation. Available structures are lists, queues, stacks, hash tables, binary trees, binary search trees, red-black trees, 2D arrays, permutations and heaps.
Linux内核情景分析.pdf
<Linux内核情景分析>非扫描版本,带书签
orang一个操作系统的实现
《orang's一个操作系统的实现》光盘,主要是书中代码,上传分享。用7z压缩,压缩度较高
Understanding Linux Network Internals
Linux如此的流行正是得益于它的特性丰富并有效的网络协议栈。如果你曾经惊叹于Linux能够实现如此复杂的工作,或者你只是想通过现实中的例子学习现代网络,《深入理解Linux网络内幕》将会给你指导。本书为英文版
Linux内核完全注释
赵博士的经典书籍《Linux内核完全注释》对Linux早期操作系统内核(v0.11)全部代码文件进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础.书中首先以Linux源代码版本的变迁历史为主线,详细介绍了Linux系统的发展历史,着重说明了各个内核版本之间的重要区别和改进方面,给出了选择0.11(0.95)版作为研究的对象的原因。然后《Linux内核完全注释》依据内核源代码的组织结构对所有内核程序和文件进行了注释和详细说明。在注释的同时,还介绍了读者应该了解的相关知识,并给出了相关的硬件信息。《Linux内核完全注释》带介绍了内核源代码的组织结构信相互关系。
Linux内核0.11完全注释
赵博士的经典书籍《Linux内核完全注释》对Linux早期操作系统内核(v0.11)全部代码文件进行了详细全面的注释和说明,旨在使读者能够在尽量短的时间内对Linux的工作机理获得全面而深刻的理解,为进一步学习和研究Linux系统打下坚实的基础.书中首先以Linux源代码版本的变迁历史为主线,详细介绍了Linux系统的发展历史,着重说明了各个内核版本之间的重要区别和改进方面,给出了选择0.11(0.95)版作为研究的对象的原因。然后《Linux内核完全注释》依据内核源代码的组织结构对所有内核程序和文件进行了注释和详细说明。在注释的同时,还介绍了读者应该了解的相关知识,并给出了相关的硬件信息。《Linux内核完全注释》带介绍了内核源代码的组织结构信相互关系。
linux0.11/0.12
Linux早期的内核版本0.11、0.12,代码精简,便于阅读
minix-3.1.0-BOOKSRC
minix_source_3.1.0
Minix源码,对应的版本,minix3官网取得
RFC2328中文版
本备忘录说明了 OSPF 协议版本 2。OSPF 是一种连接状态/link-state 路由协议,被设计用于单一的自制系统/Autonomous System 中。每个 OSPF 路由器都维持着同样的数据库以描述 AS 的拓扑结构,并以此数据库来创建最短路径树并计算路由表。
minix_source_3_1_1.tar.bz2
minix_source_3_1_1.tar.bz2
Minix源码,学习操作系统的好东东
C语言标准与实现
C语言标准与实现
深入了解C语言的好书
用7-zip解压
Routing TCP/IP
CCIE Professional Development: Routing TCP/IP, Volume 1 takes you from a basic understanding of routers and routing protocols through a detailed examination of each of the IP interior routing protocols: RIP, RIP2, IGRP, EIGRP, OSPF, and IS-IS. In addition to specific protocols, important general topics such as redistribution, default routes and on-demand routing, route filtering, and route maps are covered. Throughout, the book emphasizes techniques for designing networks that efficiently utilize and integrate the IP routing protocols. You will gain a deep understanding of IP routing protocols and learn best-practice techniques for implementing these protocols using Cisco routers.
UNIX操作系统设计
UNIX操作系统设计
本书以UNIX系统V为背景,全面、系统地介绍了UNIX操作系统内核的内部数据结构和算法。本书首先对系统内核结构做了简要介绍,然后分章节描述了文件系统、进程调度和存储管理,并在此基础上讨论了UNIX系统的高级问题,如驱动程序接口、进程间通信与网络等。在每章之后,还给出了大量富有启发性和实际意义的题目。本书可作为大学计算机科学系高年级学生和研究生的教材或参考书。本书也为从事UNIX系统研究与实用程序开发人员提供了一本极有价值的参考资料。
Object-oriented Programming with ANSI-C
Object-oriented programming is the current cure-all — although it has been
around for much more then ten years. At the core, there is little more to it then
finally applying the good programming principles which we have been taught for
more then twenty years. C++ (Eiffel, Oberon-2, Smalltalk ... take your pick) is the
New Language because it is object-oriented — although you need not use it that
way if you do not want to (or know how to), and it turns out that you can do just as
well with plain ANSI-C. Only object-orientation permits code reuse between projects
— although the idea of subroutines is as old as computers and good programmers
always carried their toolkits and libraries with them.
C语言--标准与实现
C语言标准与实现
非常经典的一本讲述C标准的书.不用多说了! 相信对您大有帮助! pdf格式
LINUX设备驱动程序.pdf
《LINUX设备驱动程序》详细介绍了Linux。如果您希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。本书描述了如何针对各种设备编写驱动程序,而在过去,这些内容仅仅以口头形式交流,或者零星出现在神秘的代码注释中。