作为一本书,我是如何把别的Java系列卷死的!

当音乐学博士搞起编程,用一本书改变了Java世界! 前言 说到Spring,也许现在的开发者们最先想到的是 Josh Long 超快的语速与现场代码能力,让很多Java开发者折服。 然后Spring的历史上,最传奇的还是要数其创始人:Rod Johnson! 先不说别的,看到他的学历,你就震惊的了,悉尼大学的音乐学博士!不要惊讶,不是计算机! 也许就是因为这样一颗理性思维与艺术细胞结合的秃顶大佬,才能造就Spring这样的产物吧。 Rod Johnson Rod Johnson,就是上图这位头顶略微地中海的男子,但是秃脑袋瓜并没有让Rod Johnson 阅读详情

我是一本书,一本独特的Java编程书。

我很厚,光是基础版加起来就有800页,这不能怪我,因为Java的基础知识非常庞大,要想掰开了揉碎了讲透不是件容易的事情。

创造我的主人非常厉害,他不但是一家公司的总裁,还发表过100多篇技术文章,他还是某个著名编程语言委员会的成员,有表决权的那种!

所以,他在书中夹杂了很多自己的“私货”,阐述自己对编程的想法和洞察。

没想到的是,这些闪闪发光的真知灼见给我带来了一点点的小麻烦。 

这一天天气不错,我走出房间,摘掉口罩,坐在路边的长凳上晒太阳。

我掀开书本,让温暖的阳光抚摸一下每一章的文字。

这时候,《22天精通Java编程》吹着口哨走了过来,他身后还跟着好几个程序员,应该是他的忠实拥趸。

他瞥我了一眼,看到了我的第一章,顿时哈哈大笑起来。

“有没有搞错,我们第一章讲的都是下载JDK,安装JDK,设置JAVA_HOME和Path……” 他掀开自己的衣服,露出了第一章,“而你,居然讲什么是对象?抽象的历程!甚至扯到Lisp、Prolog和Smalltalk去了!”

他身后的几个小迷弟也跟着笑了起来,路过的几个程序员听到他的声音,也停下脚步,准备围观。 

我有点不好意思,赶紧把第一章盖住:“Java是面向对象的语言,不讲面向对象讲什么?”

“应该讲封装、继承、多态啊!你看我,会用一些简单例子来展示extends、implements,大家很快就学会了!”

我稳住阵脚,反击道:“那些基本的语法我肯定也要讲啊,我还会讲组合和继承的区别,并且告诉大家什么时候用组合、什么时候用继承,各自的优缺点。防止大家勿入歧途,疯狂使用继承,这不是更有价值吗?”

“还有,在讲接口的时候,不仅讨论了接口的功能和大量新特性,如private接口,密封接口等,还和工厂模式关联,提出了一个非常有价值的问题:到底什么时候使用接口?”

“这……你讲得似乎有点太多了吧?” 《22天精通Java编程》有点儿底气不足。

路边有个胖胖的程序员,一直在认真地看我身上的这段话:

“许多人受到了这种诱惑,只要有可能就创建接口和工厂。这里的逻辑似乎是,你可能会用到不同的实现,因此应该始终添加这层抽象。这是一种过早的设计优化。

任何抽象都应该由真正的需求来驱动。接口应该是在必要时用来重构的东西,而不是在任何地方都多加一个间接层级,进而带来额外的复杂性。这种额外的复杂性影响很大,如果你让某人在克服这种复杂性上花费时间,而他最终却发现你添加接口只不过是为了‘以防万一’……”

胖程序员叫道:“我去,这讲得很有道理啊,我就是喜欢弄接口,后来发现根本没必要。”

《22天精通Java编程》看到我居然来了同盟军,摇摇头:“你说的这些恐怕小白们理解不了!”

这时候,《轻松学Java》牵着一条狗溜达了过来,拍了拍《22天精通Java编程》的肩膀:“兄弟,发生了什么事情?”

《22天精通Java编程》说道:“这儿出现了一本晒太阳的‘怪’书,你看他总是讲很多我们都不讲的东西!我感觉他是来砸场子来的。”

《轻松学Java》盯着我看了半天:“乖乖,泛型这一块儿我们都只讲基本的语法,你还深入讲Java所用的擦除法带来的问题,以及相关解决方案,带出了‘自限定’,‘参数协变性’……”

《22天精通Java编程》接着说:“不仅如此,他还讲什么Mixin!用C++、Python、Go 等语言展示了Mixin的实现,并且和Java的装饰器模式、动态代理实现的“Mixin”做了对比!程序员们把Java学会都很不容易,他还给大家增加负担!”

“看来编程语言的双减政策很有必要!” 《轻松学Java》表示同意。 

旁边几个刚刚学习Java的程序员居然点头表示附和,这让我有点心酸。

正在这时,一个头发稀疏、戴眼镜的老程序员又对我表示了支持:“不对不对,初级程序员也许不需要,但是想要进阶,得有更广阔的视野,得理解编程的思想,学会编程,而不仅仅是学会Java。”

“你们看,这本书跳出了‘简单’的Lambda表达式,延伸到了闭包、函数组合、科里化、部分求值……这才是全面的函数式编程嘛!你们俩能讲解到这种程度吗?”

面对这个问题,《22天精通Java编程》和《轻松学Java》沉默了。

“其实,理解这些以后,再去看别的编程语言,就会发现思想都是想通的,只是表现形式不同——当然,Java的形式要啰嗦一些。”这位头发稀疏的程序员继续给我摇旗呐喊,我心里都有点儿感激他了。

看来还是老家伙识货啊!

《22天精通Java编程》还不太服气,掀开我“代码校验”那一章,展示给大家:“大家伙儿瞧瞧,一个Java书,居然不务正业,讲什么断言、基于契约的编程(前置条件、后置条件、不变项),单元测试、TDD、基准测试、代码审查、重构、持续集成……”

围观的人群窃窃私语:“基于契约的编程?我好像都没听说过……”

老程序说:“这是人家作者用心良苦,希望每个人都成为真正的程序员,而不仅仅是一个coder,把代码写出来是一回事,写对、写好,容易读、容易维护是更高一级的要求,这也是程序员应该具备的能力。”

程序员们纷纷点头。

《轻松学Java》还不服气,翻到了我的最后一章:“看看,这里居然讲设计模式,你一个Java书,这不是抢别人家的生意吗?完全是恶意竞争!”

有了大家的支持,我的底气也足了:“我和你们不一样,我不仅讲Java,我还讲编程思想,为什么不能讲设计模式?在最后的‘模式重构’,有一个漂亮的例子,以一种逐渐演进的方式来应用设计模式,先选取一种设计用于最初的方案,然后验证,随用尝试更多的设计模式来解决问题,在不断寻找解决方案的过程中,最终体现出设计模式的精髓思想:‘发现变化,并且隔离变化’,程序员看完,绝对会大呼过瘾!”。

围观的程序员似乎被说服了,有几个甚至鼓起掌来:“说得好!”

还有人小声说道:“我看他怎么有点眼熟?这难道是传说中的‘Java圣经’?”

我感觉不能再隐藏了,我站起身来,抖了抖身体,露出了漂亮的封面。

2bf0ce246ef7f1cab52ca000fd15b526.png

后记:

我现在还记得上大学时,宿舍的兄弟捧着一本大厚书《Java编程思想》看,刚开始我还瞧不上,主要是第一章看起来太累,哈哈。

当时确实没有意识到这本书的巨大价值和它在Java界的地位,过了几年以后,再翻起它才明白错过了一座宝藏:这本书不但讲语法和实践,还讲背后的编程思想。

不过,遗憾的是这本书最后的一个版本是2007年的第四版,距今已经有15年了。

漫长的等待以后,Bruce Eckel才推出这本最新的Java力作《ON JAVA 中文版》,除了保留原作的写作风格之外,还增加了函数式编程、设计模式、代码校验等新内容,也删除了我讨厌的Java GUI编程,继续保持了超高水准。英文版豆瓣评分9.3,中文版出来后,评分在9分以上肯定是毫无悬念了。

学会编程,而不仅仅学会Java,和大家共勉。

java核心技术 卷一 第十版 中文版勘误(更新ing) 本文主要是阅读java核心技术 卷一 第十版时发现的错误,整理下来。本人小白,如果整理有误,还望指出。如果有的错误没有指出,还望补充。谢谢! 第34页最下方 警告部分 换行符的Unicode值为\u000a,把\u00A0修改为\u000a ... 阅读详情

相关推荐

FOC电机控制实战:增量式编码器零位校准的5个关键步骤(附STM32代码)

本文详细解析了FOC电机控制中增量式编码器零位校准的5个关键步骤,包括电角度锁定、定时器计数清零、机械偏移角补偿等,并提供了STM32平台的实战代码。通过精准的零位校准,可显著提升电机控制系统的精度和稳定性,适用于工业伺服和机器人关节等高精度场景。

rum55的博客 619

你有没有注意到Java越来越卷了?

老铁们最近刷脉脉是不是总看到"Java已死"的帖子?前同事群里也天天有人吐槽简历投了200份全石沉大海...说实话,真不是Java不行了,上周我帮学弟改完简历+面试指导,解决空窗期时间问题,3天就拿了3个面试。上周辅导的兄弟更离谱:在项目里写"使用Elasticsearch实现搜索功能",结果被面试官怼:"你们索引用了多少分片?送个福利:关注后私信"Java避坑",送你3个真实调优案例模板(含GC日志分析过程)建议把"了解/熟悉"换成具体场景:"通过G1替换CMS,解决大对象内存碎片问题(某电商项目)"

2501_90143913的博客 400

标准恢复二极管整流器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

报告页数: 150 图表数: 100 报告价格:¥16800 本文研究全球与中国市场标准恢复二极管整流器的发展现状及未来发展趋势,分别从生产和消费的角度分析标准恢复二极管整流器的主要生产地区、主要消费地区以及主要的生产商。重点分析全球与中国市场的主要厂商产品特点、产品规格、不同规格产品的价格、产量、产值及全球和中国市场主要生产商的市场份额。 主要生产商包括: Yangzhou Yangjie Vishay Intertechnology Power Semiconductors Inc Nexperia B

Fj69258的博客 5850

JAVA卷死,嵌入式又如何?

需求少了,学习的人自然就少了,怕花时间学了,到时候找不到工作,或者没有预期的那么好,自然学的人就好了。并且嵌入式并不是就等于LINUX,等于C语言,还需要学习ARM,操作系统概念,通讯协议等知识,可以说嵌入式工程师的技术深度和广度都要比JAVA工程师深,JAVA工程师只需要掌握语言,网络,数据库,然后就可以语言开发业务逻辑。然后就是要用到硬件去学习,如果没有指导,卡到某个地方,不知道是硬件问题,还是软件问题,就没法进行下去,所以很多人学习都是半途而废。嵌入式是绝对不可能卷死,因为有这些门槛的存在。

STONE的博客 794

从零解析特斯拉线圈:谐振变压器的核心原理与DIY实践

本文深入解析特斯拉线圈的工作原理与DIY实践,从LC振荡电路到电磁耦合,详细介绍了谐振变压器的核心原理。通过材料清单、绕制技巧和安全指南,帮助爱好者从零开始打造迷你闪电发生器,体验高压电子实验的独特魅力。

weixin_33670786的博客 494

NRF24L01模块的5个常见问题及解决方案:从信号干扰到功耗优化

本文深入探讨NRF24L01无线模块在STM32开发中的5大常见问题及解决方案,包括通信距离优化、数据丢失排查、电源噪声抑制、SPI通信故障处理以及低功耗设计。通过代码示例和电路图分析,提供实用的优化策略,帮助开发者提升无线通信的稳定性和效率。

weixin_28256233的博客 226

【Java 数据结构 & 算法】宁可累死自己, 也要卷死别人 20 排序算法

【Java 数据结构 & 算法】⚠️宁可累死自己, 也要卷死别人 20⚠️ 排序算法.

我是小白呀的博客 1862

TypeError: XGBClassifier.fit() got an unexpected keyword argument ‘early_stopping_rounds‘ 解决方案

本文主要介绍了TypeError: XGBClassifier.fit() got an unexpected keyword argument 'early_stopping_rounds’解决方案,希望能对使用XGBoost的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 1万+

Go 是大厂的通行证,Error 是 Go 的墓志铭

上周和一个公司的 CTO 交流,最近金三银四他一直在忙着给技术团队扩充 Go 语言开发人才,他跟我感叹说:时代真的不一样了,以前找工作即使可能有能力也不敢喊很高的工资,现在刚毕业的学生,起...

云原生实验室 473

核心面试聚焦:业务问题+系统问题+设计题---字节、阿里、美团等整理统计

业务系统及其他相关面试问题整理:线上相关问题排查+高并发系统的限流+高并发秒杀系统设计+负载均衡+一个网站有 20 亿 url 存在一个黑名单中,这个黑名单要怎么存?若此时随便输入一个 url,你如何快速判断该 url 是否在这个黑名单中?并且需在给定内存空间(比如:500M)内快速判断出?

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

小论文/大论文必备 | RT-DETR目标检测、数据集增强 | 引入多种数据集增强方法,支持图像和标签同步扩充增强,助力小论文和大论文实验涨点策略,平均提升模型mAP约1-2个百分点

RT-DETR目标检测数据增强策略研究 ,本文针对RT-DETR目标检测模型提出9种数据增强方法,包括几何变换(水平/垂直翻转、中心裁剪)、光照调整(亮度、对比度)和噪声添加(高斯/椒盐噪声)等。所有增强操作均保持图像与标签同步变换,确保训练数据的准确性。实验表明,该策略可提升模型mAP 1-2个百分点,对小目标检测效果尤为显著。文中提供了完整的Python实现代码,支持批量处理图像和标签文件,并详细说明了各增强方法的功能特点。该方法通过提升数据多样性,有效增强了模型在复杂场景下的鲁棒性和泛化能力。

Ai缝合怪、助力小伙伴高效发论文 463

【Java 数据结构 & 算法】宁可累死自己, 也要卷死别人 19 记事法

【Java 数据结构 & 算法】⚠️宁可累死自己, 也要卷死别人 19⚠️ 记事法.

我是小白呀的博客 2861

对偶分解算法详解及其Python实现

对偶分解算法是一种广泛应用于求解凸优化问题的有效方法,尤其在大规模数据处理和分布式计算中展现出强大的实用性。在许多实际应用中,直接求解原始问题可能由于计算复杂度过高、资源受限或问题规模过大而变得不可行。这时,对偶分解方法为我们提供了一种高效的替代方案。对偶分解算法的核心思想是将复杂的原问题转化为其对应的拉格朗日对偶问题。通过引入拉格朗日乘子并构造对偶函数,该方法在一定程度上简化了问题的求解过程。特别是,对于包含多个约束条件的大规模优化问题,对偶分解可以将原问题分解为若干个小规模、相互独立的子问题。

闲人编程的博客 1754

大学四年因为读了这13本书,我成了别人眼中的大神!

经常有一些大学生找我推荐 Java 书籍,并且要循序渐进型的

沉默王二 7655

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【牛牛送书 | 第三期】《一本书讲透Java线程:原理与实践》带你深入JAVA多线程

互联网的每一个角落,无论是大型电商平台的秒杀活动社交平台的实时消息推送,还是在线视频平台的流量洪峰,背后都离不开多线程技术的支持。在数字化转型的过程中,高并发、高性能是衡量系统性能的核心指标,越来越多的公司对从业人员的多线程编程能力提出了更高的要求。

fckbb的博客 3736

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

对《Java核心技术卷一》读者的一些建议

思想不会变,所以《Java编程思想》还停留在第 4 版(2007 年);而技术是要更新迭代的,所以《Java核心技术卷一》来到了第十版(2016 年)。 我们来看一下《Java核心技术卷一》第十版的大纲。 前九章:包括 “Java 程序设计概述”、“Java 程序设计环境”、“Java 的基本程序设计结构”、“对象与类”、“继承”、“接口”、“lambda 表达式与内部类”、“异常”、“断言和日...

沉默王二 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Core Java最新版 卷Ⅱ 上市!快来看看有哪些重要更新!

Core Java最新版 卷Ⅱ 上市!快来看看有哪些重要更新!

小虚竹的专栏 1万+

【评论送书】一本书讲透Java线程:原理与实践

互联网的每一个角落,无论是大型电商平台的秒杀活动,社交平台的实时消息推送,还是在线视频平台的流量洪峰,背后都离不开多线程技术的支持。在数字化转型的过程中,高并发、高性能是衡量系统性能的核心指标,越来越多的公司对从业人员的多线程编程能力提出了更高的要求。**《一本书讲透Java线程:原理与实践》**一书深入介绍了。

不写代码没饭吃的博客 4649

Java面试回报率最高的5本书!别再傻傻的看入门到放弃系列了!

二八定律 工欲善其事,必先利其器 读一本好书 如果你是一名“程序猿”,那么你肯定免不了准备各种面试。毕竟无论校招还是社招都是要经过严格的面试流程,才能入职。可能每个人准备面试的方法也不一样,但是读一本好的技术书籍能够让我们事半功倍!本文就我个人认为对 Java 研发岗位的面试中回报率最高的 5 本书做下分享: 说明:豆瓣分数只作为参考! Top1 《Java编程思想》 ...

Java学习 1514

拿万元月薪必备的书单,学JAVA的程序员必看的5本书!

点击蓝色“程序员黄小斜”关注我哟 加个“星标”,每天带你读好书! 文/黄小斜 转载请注明出处 每一年的年初都是买书学习热情高涨的时候,虽然不知道你们是让这些书吃灰还是真的会好好阅读,但是有一些书籍,我还是希望能够推荐给你们。 作为一个自学Java 3年,在大厂工作的资深Java小白,我还是有很多经验和心得想分享给大家的,由于我的水平确实有限,除了分享求职心得和面试经验,能够帮到大家的并不多,而反...

程序员书单 879

Java 后端开发必读的 6 本书!

以下内容来自公众号逆锋起笔,关注每日干货及时送达如果你是一个小白,你打算自学JAVA,你如果想找到一份月薪1万的JAVA开发工程师的工作。那么很简单,你只需要花1个月的时间,学完我推荐的...

code小生 3174

评论送书:一本书讲透Java线程:原理与实践

例如,如何利用synchronized和CAS来解决并发冲突,如何使用Java线程池技术来优化高并发应用的性能,以及如何通过线程安全的容器来保证数据的一致性等,带领你应对日益复杂的互联网挑战。互联网的每一个角落,无论是大型电商平台的秒杀活动,社交平台的实时消息推送,还是在线视频平台的流量洪峰,背后都离不开多线程技术的支持。在数字化转型的过程中,高并发、高性能是衡量系统性能的核心指标,越来越多的公司对从业人员的多线程编程能力提出了更高的要求。这样不仅可以保证数据的一致性和完整性,而且可以提高系统的稳定性。

2301_77125316的博客 1407

《JAVA核心技术第12版(卷一+卷二)》下载仓库介绍

《JAVA核心技术第12版(卷一+卷二)》下载仓库介绍 【下载地址】JAVA核心技术第12版卷一卷二下载仓库介绍 《JAVA核心技术第12版(卷一+卷二)》是深入学习JAVA编程语言的权威指南,涵盖从基础到高级的全面内容。卷一详细讲解JAVA语言基础、面向对象编程及高级类特性,卷二则深入探讨异常处理、泛型程序设计、集合框...

gitblog_06717的博客 860

【免费下载】 Java核心技术卷一第10版PDF

Java核心技术卷一第10版PDF 去发现同类优质开源项目:https://gitcode.com/ 资源简介 《Java核心技术卷一第10版》是一本面向Java编程初学者及希望复习Java基础知识和核心概念的开发者们的权威指南。本书详细介绍了Java语言的基础知识,从基本的语法、数据类型、控制结构,到对象、类、继承等面向对象的核心特性,再到集合框架、异常处理、多线程等内容,全面而深入。 此版本为...

gitblog_09811的博客 516

【免费下载】 Java核心技术卷一、二免费资源

Java核心技术卷一、二免费资源 【下载地址】Java核心技术卷一二免费资源分享 Java核心技术卷一、二免费资源欢迎来到Java学习者的资源宝库!????这里为您提供《Java核心技术》卷一与卷二的免费电子书资源,这套书籍是由知名作者编写的Java领域经典之作,适用于Java编程的初学者至进阶开发者 ...

gitblog_06528的博客 1172

Java学习必备书籍推荐终极版!

很早就想把JavaGuide的书单更新一下了,昨晚加今天早上花了几个时间对之前的书单进行了分类和补充完善。虽是终极版,但一定还有很多不错的 Java 书籍我没有添加进去,会继续完善下去。希望这篇文章对你有帮助,不要再无书可看。 欢迎在留言区补充你觉得不错的 Java 方向的书籍或者计算机基础必看的书籍!你也可以直接到Github给我提PR,参与这个书单的完善。 Java 基础 《Head Fir...

JavaGuide 2万+
上一篇: 我决定辞掉工作,全职开发我的操作系统!(续)
下一篇: 面了一圈,还没offer...
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值