经逐节审查,此前所有文档的核心内容均准确无误,只存在极个别表述可进一步精确之处(如切片扩容规则的完整流程),已在本版修正。 以下整合了前几版的所有精华,并再次深度扩充了原理、内部实现、更多示例与最佳实践,是一份最详尽的 Go 语言完全教程。 Go 语言完全教程(终极详尽版) 涵盖 Go 语言至今几乎所有在生产中使用的特性,从语法基础到运行时原理、并发模型、泛型、工具链等。每个主题均附深度解释、代
《Java核心技术卷一》第十二章
第12章 并发多任务(multitasking),这是操作系统的一种能力,看起来可以在同一时刻运行多个程序。并发执行的进程数并不受限于 CPU 数。操作系统会为每个进程分配 CPU 时间片,给人并行处理的感觉。 多线程程序在更低一层扩展了多任务的概念:单个程序看起来在同时完成多个任务。每个任务在一个线程(thread)中执行,线程是控制线程的简称。如果一个程序可以同时运行多个线程,则称这个程序是多
《Java核心技术卷一》第九章
第9章 集合本章将介绍如何利用 Java 类库帮助我们实现程序设计所需的传统数据结构。 9.1 Java 集合框架Java 最初的版本只为最常用的数据结构提供了很少的一组类:Vector、Stack、Hashtable、BitSet 与 Enumeration 接口,其中 Enumeration 接口提供了一种抽象机制,用于访问任意容器中的元素。 9.1.1 集合接口与实现分离Java 集合类库将
《Java核心技术卷一》第八章
第8章 泛型程序设计8.1 为什么要使用泛型程序设计泛型程序设计(generic programming) 意味着编写的代码可以对多种不同类型的对象重用。例如,你并不希望为收集 String 和 File 对象分别编写不同的类。实际上一个 ArrayList 类就可以收集任何类的对象。 8.1.1 类型参数的好处在 Java 中增加泛型类之前,泛型程序设计是用继承(inheritance)实现的。
《Java核心技术卷一》第七章
第 7 章 异常、断言和日志如果由于程序的错误或一些外部环境的影响,导致用户在运行程序期间做的所有工作统统丢失,这个用户有可能永远不会再使用这个程序了。为了尽量避免这类事情的发生,至少应该做到以下几点: 向用户通知错误; 保存所有工作; 允许用户妥善地退出程序。 对于异常情况,例如,可能造成程序崩溃的糟糕的输入数据,Java 使用了一种称为**异常处理(exception handli
《Java核心技术卷一》第六章
第6章 接口、lambda 表达式与内部类首先介绍第一种技术,即接口(interface),接口用来描述类应该做什么,而不指定它们具体应该如何做。一个类可以实现(implement)一个或多个接口。只要符合所要求的接口,就可以使用实现了这个接口的类(即实现类)的对象。讨论接口以后,我们会继续介绍 lambda 表达式,这是一种简洁的方法,用来创建可以在将来某个时间点执行的代码块。通过使用 lamb
《Java核心技术卷一》第四章
第4章 对象与类4.1 面向对象程序设计概述**面向对象程序设计(Object-Oriented Programming, OOP)**是当今的主流程序设计范型,它取代了 20 世纪 70 年代的”结构化”或过程式编程技术。 Java 是面向对象的。 面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能和隐藏的实现。程序中的很多对象是来自标准类的”成员”,还有一些是自定义的。究竟是自己
《Java核心技术卷一》第五章
1234public class Manager extends Employee{ added methods and fields} 在Java中,所有的继承都是公共继承。 关键字extends指示正在构造的新类派生于一个已存在的类。 这个已存在的类称为超类、基类或父类;新类称为子类或派生类。 子类比超类拥有的功能更多。所有员工组成的集合包含所有经理组成的集合,员工