摘要:
《Java 开发手册》(以下简称《手册》)是每个 Java 工程师人手必备的一本参考指南。该手册包括 编程规约、异常日志、单元测试、安全规约、MySQL 数据库、工程结构、设计规约 7 个部分 ,涵盖了 Java 开发的常见知识点。认真实践该《手册》能够帮助 Java 开发者养成好的编程习惯,帮助企 阅读全文
摘要:
1 数据库设计 1.1 表关系梳理 仔细思考业务关系,得到如下表关系图 1.2 用户表结构 1.3 分类表结构 id=0为根节点,分类其实是树状结构 1.4 商品表结构 注意价格字段的类型为 decimal 1.5 支付信息表结构 1.6 订单表结构 乍一看,有必要搞这么多种的时间嘛?有以下诸多原因 阅读全文
摘要:
现如今,支付成为热点 对于电商业务,这都是不可或缺的 核心功能剖析 下单 》支付 nginx 将用户请求反向代理到我们编写的电商系统 = 下单 之后,点击支付跳转到支付系统,最后对接 通过跳转将业务和支付解耦,不管电商系统,还是新增的活动系统都可调支付系统 支付结果通知 本教程侧重 电商经典案例 真 阅读全文
摘要:
CAS全称 Compare And Swap(比较与交换),在不使用锁的情况下实现多线程之间的变量同步。属于硬件同步原语,处理器提供了基本内存操作的原子性保证。juc包中的原子类就是通过CAS来实现了乐观锁。 CAS算法涉及到三个操作数: 需要读写的内存值 V。 进行比较的旧值A (期望操作前的值) 阅读全文
摘要:
[相关源码] (https://github.com/Wasabi1234/Java Concurrency Progamming Tutorial) 1 Unsafe类的park和unpark park方法用来阻塞一个线程,第一个参数用来指示后面的参数是绝对时间还是相对时间,true表示绝对时间, 阅读全文
摘要:
1 描述 给定一个 ,返回其最大路径和。 路径 : 一条从树中 出发,达到 的序列。该路径 ,且不一定经过根节点。 用例 解析 二叉树 abc,a 是根结点(递归中的 root),bc 是左右子结点(代表其递归后的最优解)。 最大的路径,可能的只有三种路径情况: 1. b + a + c。 2. b 阅读全文
摘要:
既然是集群,必然有多个Kafka节点,只有单节点构成的Kafka伪集群只能用于日常测试,不可能满足线上生产需求。 真正的线上环境需要考量各种因素,结合自身的业务需求而制定。看一些考虑因素(以下顺序,可是分了顺序的哦) 1 操作系统 OS 可能你会问Kafka不是JVM上的大数据框架吗?Java又是跨 阅读全文
摘要:
本文概要:大白话剖析调用链监控原理,然后学习Sleuth,Zipkin,然后将Sleuth整合Zipkin,最后学习Zipkin数据持久化(Elasticsearch)以及Zipkin依赖关系图 实战至此,基本功能已经全部实现 1 剖析调用链监控原理 如果我们的项目出现异常了,怎么办呢? 1.1 问 阅读全文
摘要:
本章主要内容是:使用Nacos管理配置以及实现配置管理的原因,配置如何管理以及动态刷新和最佳实现总结,最后是Nacos配置刷新原理解读 该技术类似于Spring Cloud Config 1 配置管理的意义 项目痛点 不同环境 ,不同配置 配置属性动态刷新 为了解决痛点,常用方案是引入配置服务器,架 阅读全文
摘要:
欢迎关注全是干货的技术公众号:JavaEdge 本文主要内容: 如何实现用户认证与授权? 实现的三种方案,全部是通过画图的方式讲解.以及三种方案的对比 最后根据方案改造Gateway和扩展Feign 0 "相关源码" 1 有状态 vs 无状态 1.1 有状态 也可使用粘性会话,即:对相同IP的请求, 阅读全文