当前位置: 首页 > news >正文

推荐《架构探险:从零开始写Java Web框架》


版权声明

  • 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

在这里插入图片描述

春节读了《架构探险:从零开始写Java Web框架》,一本大概10年前的好书。

本书的作者是阿里巴巴架构师黄勇。黄勇对分布式服务架构与大数据技术有深入研究,具有丰富的B/S架构开发经验与项目实战经验,擅长敏捷开发模式。国内开源软件推动者之一,活跃于“开源中国”社区网站,SmartFramework开源框架创始人。热爱技术交流,乐于分享自己的工作经验。

这本书首先从一个简单的 Web 应用开始,让读者学会如何使用 IDEA、Maven、Git 等开发工具搭建 Java Web 应用;接着通过一个简单的应用场景,为该 Web 应用添加若干业务功能,从需求分析与系统设计开始,带领读者动手完成该 Web 应用,完善相关细节,并对已有代码进行优化;然后基于传统 Servlet 框架搭建一款轻量级 Java Web 框架,一切都是从零开始,逐个实现类加载器、Bean 容器、IoC 框架、MVC 框架,所涉及的代码也是整个框架的核心基础。为了使框架具备 AOP 特性,从代理技术讲到 AOP 技术,从 ThreadLocal 技术讲到事务控制技术。最后对框架进行优化与扩展,通过对现有框架的优化,使其可以提供更加完备的功能,并以扩展 Web 服务插件与安全控制插件为例,教会读者如何设计一款可扩展的Web应用框架。

这本书对框架感兴趣的小伙伴,尤其是想深入了解框架设计思路与实现原理的程序员来说非常值得一读。

相关文章:

  • 复习2:带头双向链表
  • Elasticsearch:适用于 iOS 和 Android 本机应用程序的 Elastic APM
  • wps使用方法(包括:插入倒三角符号,字母上面加横线,将word中的所有英文设置为time new roman)
  • [AIGC codze] Kafka 的 rebalance 机制
  • django通过指定用户手机号查询外键所关联的数据,倒序查询
  • 【51单片机】AT24C02(江科大、爱上半导体)
  • gem5学习(20):替换策略——Replacement Policies
  • C++11---(1)
  • 函数式编程要点
  • N-144基于微信小程序在线订餐系统
  • 嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第五天-ARM Linux编程之file_operations详解 (物联技术666)
  • C#既然数组长度不可改变,那么如何动态调整集合类型数组大小,以便添加或删除元素?
  • KingSCADA实现按钮点击效果
  • HCIA-HarmonyOS设备开发认证V2.0-轻量系统内核内存管理-动态内存
  • 在PyTorch中,如何查看深度学习模型的每一层结构?
  • (三)从jvm层面了解线程的启动和停止
  • [译] 怎样写一个基础的编译器
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • canvas绘制圆角头像
  • CSS实用技巧
  • Fabric架构演变之路
  • iOS小技巧之UIImagePickerController实现头像选择
  • Java的Interrupt与线程中断
  • js写一个简单的选项卡
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • nfs客户端进程变D,延伸linux的lock
  • passportjs 源码分析
  • PHP 7 修改了什么呢 -- 2
  • 创建一种深思熟虑的文化
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 深度解析利用ES6进行Promise封装总结
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 手机端车牌号码键盘的vue组件
  • 在Unity中实现一个简单的消息管理器
  • 正则表达式小结
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • #Linux(make工具和makefile文件以及makefile语法)
  • $().each和$.each的区别
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (四)c52学习之旅-流水LED灯
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)视频码率,帧率和分辨率的联系与区别
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .net 生成二级域名
  • .NET构架之我见
  • @font-face 用字体画图标
  • [ JavaScript ] JSON方法
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [8-27]正则表达式、扩展表达式以及相关实战
  • [ACTF2020 新生赛]Include
  • [AIGC] MySQL存储引擎详解