Java
重学Java设计模式(全彩) 豆瓣
付政委
作者: 付政委 2021 - 5
《重学Java设计模式》是一本基于互联网真实案例编写的Java设计模式实践图书。全书以解决方案为核心,从实际开发业务中抽离出交易、营销、规则引擎、中间件、框架源码等22个真实场景,对设计模式进行全面、彻底的分析。帮助读者灵活地使用各种设计模式,从容应对复杂变化的业务需求,编写出易维护、可扩展的代码结构。本书融合了生动有趣的动画插图和实践开发的类结构图,让读者不仅能体会设计模式的概念和原理,更能清楚地知晓落地方法。此外,本书还介绍了DDD四层架构、RPC中间件设计、分布式领域驱动设计和设计模式的结合使用等内容。
《重学Java设计模式》适合计算机相关行业的研发人员、高等院校计算机专业的学生阅读。无论是初学者,还是中、高级研发人员都能从本书中有所获益。
2021年6月28日 在读
微信读书ing。终于有个举的例子是pragmatic的了。
Java 软件工程
Spring Cloud 豆瓣
作者: 杨开振 2020 - 5
《Spring Cloud微服务和分布式系统实践》从企业的真实需求出发,理论结合实际,深入讲解Spring Cloud微服务和分布式系统的知识。书中既包括Spring Cloud微服务的各类常用组件的讲解,又包括分布式系统的常用知识的介绍。Spring Cloud组件方面主要讲解服务注册和服务发现(Eureka)、服务调用(Ribbon和OpenFeign)、断路器(Hystrix和Resilience4j)、网关(Zuul和Gateway)、配置(Config)、全链路追踪(Sleuth)、微服务的监控(Admin)等;分布式系统方面主要讲解分布式数据库、分布式缓存、会话和权限以及发号机制等。本书的实践部分通过Apache Thrift讲解了远程过程调用(RPC)在分布式系统中的应用,并且分析了处理高并发的一些常用方法,最后还通过一个简单的实例讲解了微服务系统的搭建。
本书适合想要学习Spring Cloud微服务、分布式系统开发的各类Java开发人员阅读,包括初学者和开发工程师。本书对架构师也有一定的帮助。
程序员面试金典(第6版) 豆瓣
Cracking the Coding Interview, 6th Edition: 189 Programming Questions and Solutions
9.0 (8 个评分) 作者: Gayle Laakmann McDowell 译者: 刘博楠 / 赵鹏飞 人民邮电出版社 2019 - 9
本书是原谷歌资深面试官的经验之作,层层紧扣程序员面试的每一个环节,全面而详尽地介绍了程序员应当如何应对面试,才能在面试中脱颖而出。内容主要涉及面试流程解析,面试官的幕后决策及可能提出的问题,面试前的准备工作,对面试结果的处理,以及出自微软、苹果、谷歌等多家知名公司的189道编程面试题及详细解决方案。第6版修订了上一版中一些题目的解法,为各章新增了介绍性内容,加入了更多的算法策略,并增添了对所有题目的提示信息。
Apache Kafka源码剖析 豆瓣
作者: 徐郡明 2017 - 5
《Apache Kafka源码剖析》以Kafka 0.10.0版本源码为基础,针对Kafka的架构设计到实现细节进行详细阐述。《Apache Kafka源码剖析》共5章,从Kafka的应用场景、源码环境搭建开始逐步深入,不仅介绍Kafka的核心概念,而且对Kafka生产者、消费者、服务端的源码进行深入的剖析,最后介绍Kafka常用的管理脚本实现,让读者不仅从宏观设计上了解Kafka,而且能够深入到Kafka的细节设计之中。在源码分析的过程中,还穿插了笔者工作积累的经验和对Kafka设计的理解,希望读者可以举一反三,不仅知其然,而且知其所以然。
《Apache Kafka源码剖析》旨在为读者阅读Kafka源码提供帮助和指导,让读者更加深入地了解Kafka的运行原理、设计理念,让读者在设计分布式系统时可以参考Kafka的优秀设计。《Apache Kafka源码剖析》的内容对于读者全面提升自己的技术能力有很大帮助。
Netty源码剖析与应用 豆瓣
作者: 刘耀林 2020 - 11
Netty涉及多线程技术、复杂数据结构与内存管理模型,它运用了各种设计模式及一些TCP的底层技术。本书对这些难点一一进行攻破,让读者能快速掌握相关知识。
《Netty源码剖析与应用》包含大量的分布式底层架构的编写,涉及多线程、负载均衡算法、性能调优、线上问题紧急处理等内容。本书通过非常简易的代码来讲解Netty在企业中的实际用法,通过对实例进行调试的方式对Netty源码进行了详细的剖析,力图使读者通过实际操作快速入门,并深入了解Netty底层的各个组件。
本书适合有一定Java基础的架构师、设计师、开发工程师、测试工程师,以及对Java NIO框架、Netty感兴趣的相关人士阅读。
实战Java高并发程序设计(第2版) 豆瓣
作者: 葛一鸣 电子工业出版社 2018 - 10
在单核CPU时代,单任务在一个时间点只能执行单一程序,随着多核CPU的发展,并行程序开发变得尤为重要。
《实战Java高并发程序设计(第2版)》主要介绍基于Java的并行程序设计基础、思路、方法和实战。第一,立足于并发程序基础,详细介绍Java进行并行程序设计的基本方法。第二,进一步详细介绍了JDK对并行程序的强大支持,帮助读者快速、稳健地进行并行程序开发。第三,详细讨论了“锁”的优化和提高并行程序性能级别的方法和思路。第四,介绍了并行的基本设计模式,以及Java 8/9/10对并行程序的支持和改进。第五,介绍了高并发框架Akka的使用方法。第六,详细介绍了并行程序的调试方法。第七,分析Jetty代码并给出一些其在高并发优化方面的例子。
《实战Java高并发程序设计(第2版)》内容丰富,实例典型,实用性强,适合有一定Java基础的技术开发人员阅读。
新一代垃圾回收器ZGC设计与实现 豆瓣
2019 - 8
Java 11版本包含一个全新的垃圾收集器ZGC,它由Oracle开发,承诺在数TB的堆上具有非常低的暂停时间。ZGC是2017年Oracle公司贡献给OpenJDK社区的,正式成为OpenJDK的开源项目。ZGC 所针对的是这些在未来普遍存在的大容量内存:TB 级别的堆容量,具有很低的停顿时间(小于 10 毫秒),对整体应用性能的影响也很小(对吞吐量的影响低于 15%)。ZGC 所采用的机制也可以在未来进行扩展,以支持一些令人兴奋的特性,如多层堆(用于热对象的 DRAM 和用于低频访问对象的 NVMe 闪存)
或压缩堆。
本书详细介绍ZGC涉及的基本概念和运行原理,以及调优方法。主要内容共9章,主要
内容有:垃圾回收器概述、ZGC内存管理、ZGC线程、ZGC垃圾回收算法的设计、ZGC日
志解读、ZGC参数和基准测试、ZGC的编译调试、ZGC特性总结和展望、ZGC的编译调试、Shenandoah简介等。
Spring Boot技术内幕:架构设计与实现原理 豆瓣
作者: 朱智胜 2020 - 7
这是一本从源码角度分析Spring Boot底层原理和实现方式,以求帮助读者掌握Spring Boot多场景联合运用、项目性能调优的实践指导书。作者是Spring Boot领域的布道者、技术专家,曾以视频、文章等形式分享自己多年实践及研究Spring Boot的经验,影响近50万该领域的读者。
本书以最新版本的Spring Boot 2.x的源码为基础进行分析,不仅提炼出了Spring Boot源码的核心思想,还从多个维度对Spring Boot框架中的数十个主流功能模块进行了源码级的分析,更为难能可贵的是,书中还对Spring Boot外置辅助工具进行了源码级的分析。此外,为了指导读者实践应用,本书除了在各章相关部分给出实践方法外,还以用独立章节以实际案例的形式进行专门指导。
本书从逻辑上可分为4个部分:
第①部分准备部分,包括第1章,这部分主要介绍进行Spring Boot解析需要做的准备工作,包括源码的获取与调试、源码阅读工具等,同时还给出了需要在思想层面做的准备——整体了解源码目录结构和Spring Boot设计思想。
第②部分为原理部分,包含第2~4章内容,着重讲解Spring Boot实现的原理及基本流程,这是Spring Boot的核心之一,也是后面章节的基础。
第③部分为内置组件部分,包含第5~12章,着重讲解Spring Boot内置集成框架的实现原理、源代码分析及实战分析,其中包括对外化配置、web应用、内置servlet容器、数据库、消息源、缓存、日志进行的源码级的分析和实践运用指导。
第④部分为外置组件部分,包含第13~16章,着重讲解实际项目实施过程中肯定会用到的单元测试、打包、部署、监控等相关外置辅助工具,这部分不仅介绍了相关工具的集成方法,还从源码角度进行了详细解析。
Java并发实现原理:JDK源码剖析 豆瓣
作者: 余春龙 电子工业出版社 2020 - 4
《Java并发实现原理:JDK源码剖析》全面而系统地剖析了Java Concurrent包中的每一个部分,对并发的实现原理进行了深刻的探讨。全书分为8章,第1章从最基础的多线程知识讲起,理清多线程中容易误解的知识点,探究背后的原理,包括内存重排序、happen-before、内存屏障等;第2~8章,从简单到复杂,逐个剖析Concurrent包的每个部分,包括原子类、锁、同步工具类、并发容器、线程池、ForkJoinPool、CompletableFuture共7个部分。本书遵循层层递进的逻辑,后一章建立在前一章的知识点基础之上,建议读者由浅入深,逐步深入阅读。
《Java并发实现原理:JDK源码剖析》适合有一定Java开发经验的工程师、架构师阅读。通过本书,读者可以对多线程编程形成一个“深刻而直观”的认识,而不是再仅仅停留在概念和理论层面。
Spring Start Here 谷歌图书 豆瓣
作者: Laurentiu Spilca Manning Publications 2021 - 6 其它标题: Spring Start Here
Spring Quickly teaches you how to build professional-quality applications using Spring and Spring Boot. Author Laurentiu Spilca draws on a decade of Java experience to show you when, where, and why to use Spring in existing and brand-new apps. You'll start with the core components of the framework and then learn how features like Spring Boot simplify the tedious repetitive tasks you face in every project. When you're done, you'll be able to create Spring apps, secure it with authentication and authorization, and move on to the next exciting steps of your Spring journey.
what's inside
Manage application objects with Spring context
Implement data persistence using data sources and transactions
Implement data exchange between applications using REST services
Learn Spring Boot's convention-over-configuration approach
Write unit and integration tests for apps implemented with Spring
Java工程师修炼之道 豆瓣
作者: 杭建 电子工业出版社 2018 - 3
Java 开发一直是当前互联网领域最火热的开发技能之一,Java 工程师也一直是需求量非常大的开发职位。本书主要针对一名合格的Java 工程师的必备技能做了大纲性的总结和阐述。本书内容包括了工程化、常用开发框架、数据存储、数据传输、Java 编程高级知识、性能优化、安全技术等内容,基本涵盖了Java 工程师需要掌握的绝大部分技能点。
《Java工程师修炼之道》可以看作一本Java 工程师的入职指南,也可以看作一本串联Java 后端技能点的参考手册。通过精心编排的内容,刚入门的Java 工程师能够体系化地学习相关开发技能,有经验的Java 工程师能够查漏补缺,巩固自己的相关开发技能,进一步完善自身的Java 技术体系。
2020年10月3日 在读
Java
Real-World Software Development 豆瓣
O'Reilly Media 2019
Explore the latest Java-based software development techniques and methodologies through the project-based approach in this practical guide. Unlike books that use abstract examples and lots of theory, Real-World Software Development shows you how to develop several relevant projects while learning best practices along the way.
With this engaging approach, junior developers capable of writing basic Java code will learn about state-of-the-art software development practices for building modern, robust and maintainable Java software. You’ll work with many different software development topics that are often excluded from software develop how-to references.
Featuring real-world examples, this book teaches you techniques and methodologies for functional programming, automated testing, security, architecture, and distributed systems.
Spring Boot: Up and Running 豆瓣
作者: Mark Heckler O'Reilly Media, Inc. 2021 - 2
With over 75 million downloads per month, Spring Boot is the most widely used Java framework available. Its ease and power have revolutionized application development from monoliths to microservices. Yet Spring Boot’s simplicity can also be confusing. How do developers learn enough to be productive immediately? This practical book shows you how to use this framework to write successful mission-critical applications.
Mark Heckler from VMware, the company behind Spring, guides you through Spring Boot’s architecture and approach, along with topics such as debugging, testing, and deployment. If you want to develop cloud native Java or Kotlin applications with Spring Boot rapidly and effectively—using reactive programming, building APIs, and creating database access of all kinds—this book is for you.
Learn how Spring Boot simplifies cloud native application development and deployment
Build reactive applications and extend communication across the network boundary to create distributed systems
Understand how Spring Boot’s architecture and approach increases developer productivity and application portability
Deploy Spring Boot applications for production workloads rapidly and reliably
Monitor application and system health for optimal performance and reliability
Debug, test, and secure cloud-based applications painlessly
图解Java多线程设计模式 豆瓣
増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編
作者: [日] 结城浩 译者: 侯振龙 / 杨文轩 人民邮电出版社 2017 - 8
本书通过具体的Java 程序,以浅显易懂的语言逐一说明了多线程和并发处理中常用的12 种设计模式。内容涉及线程的基础知识、线程的启动与终止、线程间的互斥处理与协作、线程的有效应用、线程的数量管理以及性能优化的注意事项等。此外,还介绍了一些多线程编程时容易出现的失误,以及多线程程序的阅读技巧等。在讲解过程中,不仅以图配文,理论结合实例,而且提供了运用模式解决具体问题的练习题和答案,帮助读者加深对多线程和并发处理的理解,并掌握其使用技巧。
2020年4月26日 已读
其实是2006年的书 但喜欢日本人的写作方式, 简直是手把手教会你Java concurrency pattern for JDK 1.5. 读完很有收获, 可以开始读Java Concurrency in Practice了.
计算机科学 2017 Java 软件工程
图解设计模式 豆瓣
増補改訂版Java言語で学ぶデザインパターン入門
作者: 结城浩 译者: 杨文轩 人民邮电出版社 2017 - 1
原版连续畅销12年、重印25次!
194张图表 + Java示例代码 = 轻松理解GoF的23种设计模式
《程序员的数学》《数学女孩》作者结城浩又一力作
◆图文并茂
194张图表(包括57张UML类图)穿插文中,帮助理解各设计模式
◆通俗易懂
用浅显的语言逐一讲解23种设计模式,读完此书会发现GoF书不再晦涩难懂
◆专业实用
编写了Java程序代码来实现设计模式,每章附带练习题和答案,用以熟练掌握设计 模式
◆拓展进阶
必要时对Java语言的功能进行了补充说明,可加深对Java的理解。此外,如果了解C++语言,同样可以轻松理解本书内容
本书适合以下读者阅读
•对面向对象开发感兴趣的人
•对设计模式感兴趣的人(特别是阅读了GoF书但是觉得难以理解的人)
•所有Java程序员(特别是对抽象类和接口的理解不充分的人)
本书以浅显易懂的语言逐一说明了GoF的23种设计模式。在讲解过程中,不仅搭配了丰富的图片,而且理论结合实例,用Java语言编写代码实现了设计模式的程序,让程序真正地运行起来,并提供了运用模式解决具体问题的练习题和答案。除此以外,本书在必要时还对Java语言的功能进行补充说明,以加深读者对Java的理解。
2020年4月26日 在读
结城浩必须好, 刚读完他的Concurrency, 可惜有些老: jdk 1.5. 所以要接着看黄文海的<Java多线程编程实战指南>
计算机科学 2017 Java 软件工程
On Java 8 豆瓣
作者: Bruce Eckel MindView LLC 2017 - 6
NOTE: Although the book refers to the web site www.OnJava8.com, that site is not yet live.
The examples are freely available at https://github.com/BruceEckel/OnJava8-Examples.
On Java 8 is only available as an eBook, and only via Google Play Books. Any other source or delivery mechanism is illegitimate.
This book is far too large to publish as a single print volume, and my intent has always been to only publish it as an eBook. Color syntax highlighting for code listings is, alone, worth the cost of admission. Searchability, font resizing or text-to-voice for the vision-impaired, the fact you can always keep it with you---there are so many benefits to eBooks it's hard to name them all.
Anyone buying this book needs a computer to run the programs and write code, and the eBook reads nicely on a computer (I was also surprised to discover that it even reads tolerably well on a phone). However, the best reading experience is on a tablet computer. Tablets are inexpensive enough you can now buy one for less than you'd pay for an equivalent print version of this book (which, note, does not exist). It's much easier to read a tablet in bed (for example) than trying to manage the pages of a physical book, especially one this big. When working at your computer, you don't have to hold the pages open when using a tablet at your side. It might feel different at first, but I think you'll find the benefits far outweigh the discomfort of adapting.
I've done the research, and Google Play Books provides a very nice reading experience on every platform, including Linux and iOS devices. As an experiment, I've decided to try publishing exclusively through Google Books.
The free sample includes a complete table of contents.
Java Network Programming 豆瓣
作者: Elliotte Rusty Harold O'Reilly Media 2004 - 10
The new third edition of this highly regarded introduction to Java networking programming has been thoroughly revised to cover all of the 100+ significant updates to Java Developers Kit (JDK) 1.5. It is a clear, complete introduction to developing network programs (both applets and applications) using Java, covering everything from networking fundamentals to remote method invocation (RMI). Java Network Programming, 3rd Edition includes chapters on TCP and UDP sockets, multicasting protocol and content handlers, servlets, multithreaded network programming, I/O, HTML parsing and display, the Java Mail API, and the Java Secure Sockets Extension. There's also significant information on the New I/O API that was developed in large part because of the needs of network programmers. This invaluable book is a complete, single source guide to writing sophisticated network applications. Packed with useful examples, it is the essential resource for any serious Java developer.
2020年2月12日 在读
果然和面试时说的一样, experienced SWE就该对见过的东西非常熟悉, 不然就代表态度不行.
分布式的基础还是Network.
Networking很容易判断出经验/能力. 快速定位api call失败的原因: 到了TCP层? DNS? whitelist?
Java 软件工程
Enterprise Microservices 豆瓣
作者: Ken Finnigan Manning Publications 2018 - 11
Enterprise Java Microservices teaches you to design and build JVM-based microservices applications. You'll start by learning how microservices designs compare to traditional Java EE applications. Always practical, author Ken Finnigan introduces big-picture concepts along with the tools and techniques you'll need to implement them. You'll discover ecosystem components like Netflix Hystrix for fault tolerance and master the Just enough Application Server (JeAS) approach. To ensure smooth operations, you'll also examine monitoring, security, testing, and deploying to the cloud.
Modern Java Recipes: Simple Solutions to Difficult Problems in Java 8 and 9 豆瓣
作者: Ken Kousen O'Reilly Media 2017 - 8
Need simple solutions to specific challenges with Java 8 and Java 9? This book of practical recipes provides a quick, easy reference for developers who prefer useful examples over detailed explanations. Modern Java Recipes shows you how to solve a wide range of problems using the newest features of Java.Learn functional programming with lambdas, method references, and streamsAdopt the new static and default methods in interfacesWork with the new set of functional interfaces added to the languageUse collectors and comparators to search, filter, and sort dataEmploy the new Optional type and use it correctlyUnderstand the new java.time package to handle Date and Time functionality, including time zone adjustmentsUse the Java Read-Eval-Print-Loop in Java 9Employ the new Jigsaw mechanism to modularize deployables