《疯狂Java讲义(第6版)(下册)》是《疯狂Java讲义》第6版的下册,第6版保持了前5版系统、全面、讲解浅显、细致的特性,全面新增介绍了Java 12到Java 17的新特性。
《疯狂Java讲义》第6版深入介绍了Java编程的相关方面,上、下册内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、Java GUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制,覆盖了java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下绝大部分的类和接口。第6版重点介绍了Java的模块化系统,还详细介绍了Java 12到Java 17引入的块字符串,instanceof的模式匹配,增强型switch语句、switch表达式及模式匹配,密封类,Record类,以及Java 12到Java 17新增的各种API功能。
与前5版类似,第6版并不单纯地从知识角度来讲解Java,而是从解决问题的角度来介绍Java语言,所以涉及大量实用案例开发:五子棋游戏、梭哈游戏、仿QQ的游戏大厅、MySQL企业管理器、仿EditPlus的文本编辑器、多线程、断点下载工具、Spring框架的IoC容器……这些案例既能让读者巩固每章所学的知识,又可以让读者学以致用,激发编程自豪感,进而引爆内心的编程激情。第6版相关资料包中包含书中所有示例的代码和《疯狂Java实战演义》的所有项目代码,这些项目可以作为本书课后练习题的“非标准答案”。如果读者需要获取关于课后练习题的解决方法、编程思路,可关注“疯狂讲义”微信服务号,加入读者微信群后,与作者及本书庞大的读者群相互交流。
《疯狂Java讲义》为所有打算深入掌握Java编程的读者而编写,适合各种层次的Java学习者和工作者阅读,也适合作为大专院校、培训机构的Java教材。
《向上生长》九边|北大信科教授齐荐,基于Java17|11|8,渗透Java编程思想,李刚作品行销几十万册,成为海峡两岸读者之选,赠送1700分钟Java学习视频、源代码、课件、面试题,交流答疑群
李刚,十余年软件开发从业经验,疯狂软件教育中心教学总监。疯狂Java体系原创图书作者。CSDN爆款课程讲师。培训的学生已在腾讯、阿里、华为、IBM、网易等名企就职。国内知名高端IT技术图书作家,已出版《疯狂Java讲义》《疯狂Spring Boot终极讲义》《疯狂Android讲义》《轻量级Java EE企业应用实战》《疯狂前端开发讲义》《疯狂HTML5/CSS3/讲义》等著作。其中疯狂Java体系图书均已沉淀多年,赢得极高的市场认同,多次重印,多部著作印刷数量超过10万册,并被多所”双一流““985”“211”院校选作教材,部分图书以繁体中文版,授权到宝岛台湾。
前言
2021年9月14日,Oracle如约发布了Java 17正式版,并宣布从Java 17开始正式免费,Java迈入新时代。正如Oracle之前承诺的,Java不再基于功能特征来发布新版本,而是改为基于时间来发布新版本:固定每半年发布一个版本,但每3年才发布一个长期支持版(LTS),其他所有版本将被称为“功能性版本”。“功能性版本”都只有6个月的维护期,相当于技术极客反馈的过渡版,不推荐在企业项目中使用。
因此,Java 17才是上一个LTS版(Java 11)之后最新的LTS版。
虽然目前有些企业可能还在使用早期的Java 8、Java 11,但Spring Boot 3.0已经官宣只支持Java 17,因此建议广大开发者尽快过渡到Java 17。
为了向广大工作者、学习者介绍最新、最前沿的Java知识,在Java 17正式发布之前,笔者就已经深入研究过Java 12到Java 17绝大部分可能新增的功能;当Java 17正式发布之后,笔者在第一时间开始了《疯狂Java讲义》(第5版)的升级:使用Java 17改写了全书所有程序,全面介绍了Java 17的各种新特性。
在以“疯狂Java体系”图书为教材的疯狂软件教育中心,经常有学生询问:为什么叫疯狂Java这个名字?也有一些读者通过网络、邮件来询问这个问题。其实这个问题的答案可以在本书第1版的前言中找到。疯狂的本质是一种“享受编程”的状态。在一些不了解编程的人看来,编程的人总面对着电脑,在键盘上敲打,这种生活实在太枯燥了。有这种想法的人并未真正了解编程,并未真正走进编程。在外人眼中:程序员不过是在敲打键盘;但在程序员心中:程序员敲出的每个字符,都是程序的一部分。
程序是什么呢?程序是对现实世界的数字化模拟。开发一个程序,实际是创造一个或大或小的“模拟世界”。在这个过程中,程序员享受着“创造”的乐趣,程序员沉醉在他所创造的“模拟世界”里:疯狂地设计、疯狂地编码实现。实现过程不断地遇到问题,然后解决它们;不断地发现程序的缺陷,然后重新设计、修复它们——这个过程本身就是一种享受。一旦完全沉浸到编程世界里,程序员是“物我两忘”的,眼中看到的、心中想到的,只有他正在创造的“模拟世界”。
在学会享受编程之前,编程学习者都应该采用“案例驱动”的方式,学习者需要明白程序的作用是:解决问题——如果你的程序不能解决你自己的问题,如何期望你的程序去解决别人的问题呢?那你的程序的价值何在?知道一个知识点能解决什么问题,才去学这个知识点,而不是盲目学习!因此,本书强调编程实战,强调以项目激发编程兴趣。
仅仅看完这本书,你不会成为高手!在编程领域里,没有所谓的“武林秘籍”,再好的书一定要配合大量练习,否则书里的知识依然属于作者,而读者则仿佛身入宝山而一无所获的笨汉。本书配置了大量高强度的练习题,希望读者强迫自己去完成这些项目。这些练习题的答案可以参考本书相关资料包中《疯狂Java实战演义》的配套代码。如果需要获得编程思路和交流,可以关注“疯狂讲义”微信服务号,加群后与广大读者和笔者交流。
在《疯狂Java讲义》前5版面市的十多年时间里,无数读者已经通过本书步入了Java编程世界,而且销量不断攀升,这说明“青山遮不住”,优秀的作品,经过时间的沉淀,往往历久弥新。再次衷心感谢广大读者的支持,你们的认同和支持是笔者坚持创作的最大动力。
《疯狂Java讲义》(第3版)的优秀,也吸引了中国台湾地区的读者,因此中国台湾地区的出版社成功引进并出版了繁体中文版的《疯狂Java讲义》,相信繁体版的《疯狂Java讲义》能更好地服务于中国台湾地区的Java学习者。
广大读者对疯狂Java的肯定、认同、赞誉,既让笔者十分欣慰,也鞭策笔者以更高的热情、更严谨的方式创作图书。时至今日,每次笔者创作或升级图书时,总有一种诚惶诚恐、如履薄冰的感觉,唯恐辜负广大读者的厚爱。
笔者非常欢迎所有热爱编程、愿意推动中国软件业发展的学习者、工作者对本书提出宝贵的意见,非常乐意与大家交流。中国软件业还处于发展阶段,所有热爱编程、愿意推动中国软件业发展的人应该联合起来,共同为中国软件行业贡献自己的绵薄之力。
本书有什么特点
本书并不是一本简单的Java入门教材,也不是一本“闭门造车”式的Java读物。本书来自笔者十余年的Java培训和研发经历,凝结了笔者一万余小时的授课经验,总结了数千名Java学员学习过程中的典型错误。
因此,《疯狂Java讲义》具有如下三个特点。
1.案例驱动,引爆编程激情
《疯狂Java讲义》不是知识点的铺陈,而是致力于将知识点融入实际项目的开发中,所以其中涉及了大量Java案例:仿QQ的游戏大厅、MySQL企业管理器、仿EditPlus的文本编辑器、多线程、断点下载工具……希望读者通过编写这些程序找到编程的乐趣。
2.再现李刚老师课堂氛围
《疯狂Java讲义》的内容是笔者十余年授课经历的总结,知识体系取自疯狂Java实战的课程体系。书中内容力求再现笔者的课堂氛围:以浅显的比喻代替乏味的讲解,以疯狂实战代替空洞的理论。
本书中包含了大量“注意”“学生提问”部分,这些正是数千名Java学员所犯错误的汇总。
3.注释详细,轻松上手
为了降低读者阅读的难度,书中代码的注释非常详细,几乎每两三行代码就有一行注释。不仅如此,本书甚至还把一些简单理论作为注释穿插到代码中,力求让读者能轻松上手。
本书所有程序中的关键代码均以粗体字标出,这是为了帮助读者迅速找到这些程序的关键点。
本书写给谁看
如果你仅仅想对Java有所涉猎,那么本书并不适合你;如果你想全面掌握Java语言,并使用Java来解决问题、开发项目,或者希望以Java编程作为你的职业,那么《疯狂Java讲义》将非常适合你。希望本书能引爆你内心潜在的编程激情,如果本书能让你产生废寝忘食的感觉,那笔者就非常欣慰了。