上一篇: 1.4 被隐藏的具体实现 文中笔记均为个人观点,如有错误请大家不吝指出,谢谢! 原书为《java编程思想 第四 中文》1.5 复用具体实现一旦类被创建并被测试完成,那么它就应该(在理想情况下)代表一个有用的代码单元。事实证明,这种复用性并不容易到达我们所希望的那种程度,产生一个可复用的对象设计需要丰富的经验和敏锐的洞察力。但是一旦你有了这样的设计,他就可供复用。代
01 如何理解高并发?高并发意味着大流量,需要运用技术手段抵抗流量的冲击,这些手段好比操作流量,能让流量更平稳地被系统所处理,带给用户更好的体验。我们常见的高并发场景有:淘宝的双11、春运时的抢票、微博大V的热点新闻等。除了这些典型事情,每秒几十万请求的秒杀系统、每天千万级的订单系统、每天亿级日活的信息流系统等,都可以归为高并发。很显然,上面谈到的高并发场景,并发量各不相同,那到底多大并发才算高并
1. 实现类的复用通常有两种方式组合:在新的类中产生现有类的对象继承:按照现有类的类型来创造新类2. 一个特殊的方法toString()在非基本类型的对象中, 都有toString()方法当编译器需要一个String而你只有一个对象时, toString()方法会被自动调用3. 父类方法的定义要求所有的方法都是public的. 原因: 如果没有修饰符,则是包访问权限, 那么包以外的其他类继
第二十四章 并发编程 爱丽丝:“我可不想到疯子中间去” 猫咪:“啊,那没辙了,我们这都是疯子。我疯了,你也疯了” 爱丽丝:“你怎么知道我疯了”。 猫咪:“你一定是疯了,否则你就不会来这儿” ——爱丽丝梦游仙境 6章。 在本章之前,我们惯用一种简单顺序的叙事方式来编程,有点类似文学中的意识流:第一件
原创 2021-12-16 16:18:27
169阅读
第十四章 流式编程 集合优化了对象的存储,而流和对象的处理有关。 流是一系列与特定存储机制无关的元素——实际上,流并没有“存储”之说。 使用流,无需迭代集合中的元素,就可以从管道提取和操作元素。这些管道通常被组合在一起,形成一系列对流进行操作的管道。 在大多数情况下,将对象存储在集合中是为了处理他们
原创 2021-12-16 16:23:14
194阅读
第二十二章 枚举 关键字 enum 可以将一组具名的值的有限集合创建为一种新的类型,而这些具名的值可以作为常规的程序组件使用。这是一种非常有用的功能 在初始化和清理 这章结束的时候,我们已经简单地介绍了枚举的概念。现在,你对 Java 已经有了更深刻的理解,因此可以更深入地学习 Java 中的枚举了
原创 2021-12-16 16:06:21
170阅读
第十七章 文件 在丑陋的 Java I/O 编程方式诞生多年以后,Java终于简化了文件读写的基本操作。 这种"困难方式"的全部细节都在 Appendix: I/O Streams。如果你读过这个部分,就会认同 Java 设计者毫不在意他们的使用者的体验这一观念。打开并读取文件对于大多数编程语言来说
原创 2021-12-16 16:07:02
70阅读
第十五章 异常 Java 的基本理念是“结构不佳的代码不能运行”。 改进的错误恢复机制是提高代码健壮性的最强有力的方式。错误恢复在我们所编写的每一个程序中都是基本的要素,但是在 Java 中它显得格外重要,因为 Java 的主要目标之一就是创建供他人使用的程序构件。 发现错误的理想时机是在编译阶段,
原创 2021-12-16 16:12:57
143阅读
前言 本书基于 Java 8 版本来教授当前 Java 编程的最优实践。 我之前的 Java 书籍 Thinking in Java, 4th Edition(《Java编程思想 (4)》 Prentice Hall 2006)依然适用于 Java 5 编程,在此版本 Java 语言开始用作 A
原创 2021-12-16 16:13:36
115阅读
目录​​第十二章 集合​​​​泛型和类型安全的集合​​​​基本概念​​​​添加元素组​​​​集合的打印​​​​列表List​​​​迭代器Iterators​​​​ListIterator​​​​链表LinkedList​​​​堆栈Stack​​​​集合Set​​​​映射Map​​​​队列Queue​​​​优先级队列PriorityQueue​​​​集合与迭代器​​​​for-in和迭代器​​​​适
原创 2021-12-16 16:21:32
75阅读
第十章 接口 接口和抽象类提供了一种将接口与实现分离的更加结构化的方法。 这种机制在编程语言中不常见,例如 C++ 只对这种概念有间接的支持。而在 Java 中存在这些关键字,说明这些思想很重要,Java 为它们提供了直接支持。 首先,我们将学习抽象类,一种介于普通类和接口之间的折中手段。尽管你的
原创 2021-12-16 16:22:53
134阅读
第九章 多态 曾经有人请教我 “ Babbage 先生,如果输入错误的数字到机器中,会得出正确结果吗?” 我无法理解产生如此问题的概念上的困惑。 —— Charles Babbage (1791 - 1871) 多态是面向对象编程语言中,继数据抽象和继承之外的第三个重要特性。 多态提供了另一个维度的
原创 2021-12-16 16:03:27
84阅读
第二十一章 数组 在 初始化和清理 一章的最后,你已经学过如何定义和初始化一个数组。 简单来看,数组需要你去创建和初始化,你可以通过下标对数组元素进行访问,数组的大小不会改变。大多数时候你只需要知道这些,但有时候你必须在数组上进行更复杂的操作,你也可能需要在数组和更加灵活的 集合 (Collecti
原创 2021-12-16 16:08:32
360阅读
第二十三章 注解 注解(也被称为元数据)为我们在代码中添加信息提供了一种形式化的方式,使我们可以在稍后的某个时刻更容易的使用这些数据。 注解在一定程度上是把元数据和源代码文件结合在一起的趋势所激发的,而不是保存在外部文档。这同样是对像 C# 语言对于 Java 语言特性压力的一种回应。 注解是 Ja
原创 2021-12-16 16:15:40
71阅读
第一章 对象的概念 “我们没有意识到惯用语言的结构有多大的力量。可以毫不夸张地说,它通过语义反应机制奴役我们。语言表现出来并在无意识中给我们留下深刻印象的结构会自动投射到我们周围的世界。” -- Alfred Korzybski (1930) 计算机革命的起源来自机器。编程语言就像是那台机器。它不仅
原创 2021-12-16 16:16:32
166阅读
第七章 封装 访问控制(Access control)(或者隐藏实现(implementation hiding))与“最初的实现不恰当”有关。 所有优秀的作者——包括那些编写软件的人——都知道一件好的作品都是经过反复打磨才变得优秀的。如果你把一段代码置于某个位置一段时间,过一会重新来看,你可能发现
原创 2021-12-16 16:14:17
98阅读
第四章 运算符 运算符操纵数据。 Java 是从 C++ 的基础上做了一些改进和简化发展而成的。对于 C/C++ 程序员来说,Java 的运算符并不陌生。如果你已了解 C 或 C++,大可以跳过本章和下一章,直接阅读 Java 与 C/C++ 不同的地方。 如果理解这两章的内容对你来说还有点困难,那
原创 2021-12-16 16:20:22
57阅读
第十三章 函数式编程 函数式编程语言操纵代码片段就像操作数据一样容易。 虽然 Java 不是函数式语言,但 Java 8 Lambda 表达式和方法引用 (Method References) 允许你以函数式编程。 在计算机时代早期,内存是稀缺和昂贵的。几乎每个人都用汇编语言编程。人们虽然知道编译器
原创 2021-12-16 16:21:01
134阅读
# 如何实现“Java编程思想4 中文PDF下载” 作为一名经验丰富的开发者,我很高兴能帮助你,一位刚入行的小白,实现“Java编程思想4 中文PDF下载”的功能。下面是整个实现流程的步骤表格: | 步骤 | 操作 | | --- | --- | | 1. 下载PDF文件 | 使用网络请求库下载PDF文件 | | 2. 保存PDF文件 | 使用文件操作库将下载的文件保存到本地 | |
原创 2023-07-21 04:21:04
518阅读
第十六章 代码校验 你永远不能保证你的代码是正确的,你只能证明它是错的。 让我们先暂停编程语言特性的学习,看看一些代码基础知识。特别是能让你的代码更加健壮的知识。 测试 如果没有测试过,它就是不能工作的。 Java是一个静态类型的语言,程序员经常对一种编程语言明显的安全性感到过于舒适,“能通过编译器
原创 2021-12-16 16:12:54
182阅读
  • 1
  • 2
  • 3
  • 4
  • 5