摘要:
@ 背景 在上篇文章《Spring Cloud Alibaba微服务生态的基础实践》中,我们初步了解了Spring Cloud Alibaba微服务生态体系,并动手实践了Nacos与Sentinel的基本应用。 本文将继续对Spring Cloud Alibaba生态进行探索:研究以Dubbo框架作 阅读全文
摘要:
一、背景 身为Java程序员,微服务是必须要掌握的一种架构。Spring Cloud作为提供微服务架构的完整技术生态链,给我们提供了非常多的框架与组件。其中的重要成员Spring Cloud Netflix也形成了一系列的技术栈:包括服务注册与发现(Eureka),断路器(Hystrix),智能路由 阅读全文
摘要:
背景 大型互联网网站及应用是随着业务的逐步发展与不断创新慢慢演化而成的。在这个进化过程中,会有一些通用的问题需要解决,也会有一些常规的中间件需要构建,本文将对这个演化过程中涉及的分布式技术架构常用套路进行说明与分析。 1、单机架构 上线初期,负载较小,应用程序、数据库、文件等所有的资源都部署在一台服 阅读全文
摘要:
前言 对于分布式系统的理解不能光停留在理论上,本文旨在通过一个实际的案例来阐述分布式系统框架的基本概念,起到抛砖引玉的效果。 背景 第一次提到分布式系统,应该还是十几年前,当时的互联网还没有这么火热,相关的技术也没有如今这样成熟。 那是一个涉及银行安全系统的集成项目,项目的需求主要是对企业用户的票据 阅读全文
摘要:
一、背景 Java Servlet可以说是一项非常久远的技术了,甚至可以说是Java Web应用的起源。也就是说真正了解了这项技术的原理与实现细节,我们就掌握了Java Web的基础,也对以后能上手基于Java Servlet的框架起到事半功倍的作用。 本文旨在重温与Java Servlet密切相关 阅读全文
摘要:
一、背景 Spring生态的强大与完善,使得大多数的Java程序员,在刚刚接触Java Web应用开发时,往往依赖于SSM、SpringBoot等各种高级框架。 Java Web的基础的体系结构是什么?到底是怎么运作的?这些高级的框架与基础的体系结构之间是什么关系? 只有真正理清了这些底层基础的结构 阅读全文
摘要:
@ 事务传播 对于Spring事务传播的七大行为,我们往往还停留在一些概念上,比如下面这张表: 定义 说明 PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在一个事务,则加入到这个事务中。这是最常见的选择。 PROPAGATION_SUPPORTS 支持当前事务 阅读全文
摘要:
@ ORM ORM的出现,使得关系型数据库映射成了对象;简单来说,有了ORM之后,JAVA程序员从面向JDBC编程转化成面向JAVA对象编程。 Spring ORM Spring对ORM的解决方案主要体现在以下方面: 统一的资源管理方式与异常管理:Spring使用各种ORM框架,资源管理及使用方式都 阅读全文
摘要:
一、背景 二叉树是数据结构中的重点,也是难点。二叉树是一种非线性结构,比数组、栈、队列等线性结构相比复杂度更高,想要做到心中有“树”,需要自己动手画图、观察、思考,才能领会其真谛。该文将会结合图形,深入理解二叉树、满二叉树及完全二叉树的概念。 二、基本概念 2.1 结点 结点是组成二叉树的最小单元。 阅读全文
摘要:
@ 一、背景 二叉树是一种常用的数据结构,更是实现众多算法的一把利器。(可参考《自己动手作图深入理解二叉树、满二叉树及完全二叉树》) 二分搜索树(Binary Search Tree)做为一种能实现快速定位查找的二叉树也得到了广泛应用(底层实现可参考《用一个图书库实例搞懂二分搜索树的底层原理》)。 阅读全文