随笔分类 -  开发

摘要:一、背景 1、系统在运行的时候可能会有下面这些种类的错误/失败发生: (1) 依赖组件挂了,可能是 db,可能是 mq,可能是 cache。 (2)依赖服务挂了,可能是别人给你提供的 http/rpc 服务挂了。 (3)可能是你的依赖方超时了。 (4)可能是调用方的参数有问题。 (5)可能是调用方的 阅读全文
posted @ 2024-09-11 11:09 琅琊甲乙木 阅读(58) 评论(0) 推荐(0) 编辑
摘要:git rebase命令经常被认为是Git巫术,初学者应该远离它,但它实际上可以让开发团队在使用时更加轻松。在本文中,我们将git rebase与相关git merge命令进行比较。 概念 首先要理解的是git rebase和git merge解决了同样的问题。这两个命令都旨在将更改从一个分支集成到 阅读全文
posted @ 2024-06-03 16:32 琅琊甲乙木 阅读(41) 评论(0) 推荐(0) 编辑
摘要:Flowable基本操作 1.创建ProcessEngine 创建一个基本的maven工程,可以是Eclipse也可以是其他IDEA。然后添加两个依赖 Flowable流程引擎。使我们可以创建一个ProcessEngine流程引擎对象,并访问Flowable API。 一个是MySQL的数据库驱动 阅读全文
posted @ 2024-05-20 14:12 琅琊甲乙木 阅读(63) 评论(0) 推荐(0) 编辑
摘要:本文是关于 Exception 处理的一篇不错的文章,从 Java Exception 的概念介绍起,依次讲解了 Exception 的类型(Checked/Unchecked),Exception 处理的最佳实现: 选择 Checked 还是 Unchecked 的几个经典依据 Exception 阅读全文
posted @ 2024-05-11 11:39 琅琊甲乙木 阅读(103) 评论(0) 推荐(0) 编辑
摘要:分布式事务Seata1. 本地事务2. 分布式事务3. 实现思路:两阶段提交协议(2PC)3.1 基础理解3.2 2PC的隐患4. Seata4.1 Seata是什么4.2 Seata的三大角色4.3 Seata一次事务的生命周期4.4 Seata AT模式的设计思路4.4.1 设计思路4.4.1. 阅读全文
posted @ 2024-04-12 17:35 琅琊甲乙木 阅读(78) 评论(0) 推荐(0) 编辑
摘要:1. 探索Spring的后置处理器(BeanPostProcessor) 1.1 BeanPostProcessor的设计理念 BeanPostProcessor的设计目标主要是提供一种扩展机制,让开发者可以在Spring Bean的初始化阶段进行自定义操作。这种设计理念主要体现了Spring的一种 阅读全文
posted @ 2024-02-19 09:40 琅琊甲乙木 阅读(40) 评论(0) 推荐(0) 编辑
摘要:目录 Dubbo 架构演进:从 RMI 到 Dubbo 1. 自定义 RPC 2. RMI 架构 2.1 整体架构 2.2 RPC 调用 3. Dubbo 架构 3.1 整体架构 3.2 RPC 调用 3.3 服务治理 4. 总结时刻 推荐阅读 谈谈你对 Dubbo 的认知?对于这个问题,你是怎么回 阅读全文
posted @ 2024-01-29 10:10 琅琊甲乙木 阅读(55) 评论(0) 推荐(0) 编辑
摘要:本文主要讲解浏览器端的缓存,缓存的作用是不言而喻的,能够极大的改善网页性能,提高用户体验。 1、浏览器缓存 缓存这东西,第一次必须获取到资源后,然后根据返回的信息来告诉如何缓存资源,可能采用的是强缓存,也可能告诉客户端浏览器是协商缓存,这都需要根据响应的header内容来决定的。下面用两幅图来描述浏 阅读全文
posted @ 2023-06-05 18:33 琅琊甲乙木 阅读(43) 评论(0) 推荐(0) 编辑
摘要:【SpringBoot深入浅出系列】SpringBoot集成Eureka及Feign https://blog.csdn.net/u012069313/article/details/122901024 feign和ribbon区别(负载均衡) feign和ribbon是Spring Cloud的N 阅读全文
posted @ 2023-03-27 16:05 琅琊甲乙木 阅读(124) 评论(0) 推荐(0) 编辑
摘要:上篇文章,我介绍了 HTTP 协议中的 Accept-Encoding/Content-Encoding 机制。这套机制可以很好地用于文本类响应正文的压缩,可以大幅减少网络传输,从而一直被广泛使用。但 HTTP 请求的发起方(例如浏览器),无法事先知晓要访问的服务端是否支持解压,所以现阶段的浏览器没 阅读全文
posted @ 2022-10-11 19:48 琅琊甲乙木 阅读(474) 评论(0) 推荐(0) 编辑
摘要:最近恢复Venus的工作,恰逢十一假期尾声,突发一个Bug,让人匪夷所依。我们今天快速倒序追踪,层层回顾。 1. 背景 Venus交易中需要并行开数十至百个线程分别快速计算,程序中使用CountDownLatch用于计数,因为之后后做其他处理分析,需要等待所有交易结束。 程序运行稳定正常,线上也已经 阅读全文
posted @ 2022-06-29 16:35 琅琊甲乙木 阅读(982) 评论(0) 推荐(0) 编辑
摘要:前言 之前有很多同学问我,性能测试中到底该如何去定位分析瓶颈并进行性能优化?感觉压测场景设计做的很全面,分析工具也用了很多,但一直无法快速的定位分析并进行优化。 性能分析和优化一直是技术领域热门的一个话题,无论是三高(高性能、高可用、高稳定),还是 CAP(数据一致性、服务可用性、分区容错性),都强 阅读全文
posted @ 2022-05-20 11:33 琅琊甲乙木 阅读(105) 评论(0) 推荐(0) 编辑
摘要:网络上关于这方面的博文有些偏理论,有些通篇代码,都不能深入浅出。本文用图文并茂的方式,配上行云流水般的代码,非要摆清楚这个问题。相关代码已提交至码云(点击这里下载)。 事务是现代关系型数据库的核心之一。在多个事务并发操作数据库(多线程、网络并发等)的时候,如果没有有效的避免机制,就会出现以下几种问题 阅读全文
posted @ 2021-12-21 10:26 琅琊甲乙木 阅读(177) 评论(0) 推荐(0) 编辑
摘要:2016年,React在Web端和移动端都实现了迅速的成长,稳稳地领先于其主要竞争对手Augular,巩固了其作为前端框架之王的地位。 但是Vue在这一年里的表现也可谓同样的耀眼。Vue.js 2.0 的发布在整个JavaScript社区都引起了巨大反响,这一点仅从它在Github中涨了25,000 阅读全文
posted @ 2021-10-23 11:08 琅琊甲乙木 阅读(408) 评论(0) 推荐(0) 编辑
摘要:开始之前 Java 虚拟机有自己完善的硬件架构, 如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 Java 虚拟机上运行的目标代码 (字节码), 就可以在多种平台上不加修改地运行。Java 虚拟机在执行字节码时,实际上最终还 阅读全文
posted @ 2021-09-08 15:02 琅琊甲乙木 阅读(79) 评论(0) 推荐(0) 编辑
摘要:1. 可见性 如果一个线程对共享变量值的修改,能够及时的被其他线程看到,叫做共享变量的可见性。如果一个变量同时在多个线程的工作内存中存在副本,那么这个变量就叫共享变量 2. JMM(java内存模型) 多个线程同时对主内存的一个共享变量进行读取和修改时,首先会读取这个变量到自己的工作内存中成为一个副 阅读全文
posted @ 2021-08-25 15:01 琅琊甲乙木 阅读(636) 评论(0) 推荐(0) 编辑
摘要:任何应用的开发中安全都是重中之重,在信息交互异常活跃的现在,信息加密技术显得尤为重要。在app应用开发中,我们需要对应用中的多项数据进行加密处理,从而来保证应用上线后的安全性,给用户一个安全保障。 本节只讲原理和应用,具体的代码请到这里下载,都是封装好的工具类,包括终端命令操作。下面介绍常用三种加密 阅读全文
posted @ 2021-08-25 10:37 琅琊甲乙木 阅读(1197) 评论(0) 推荐(0) 编辑
摘要:文章简介 很多人对Thread.join的作用以及实现了解得很少,毕竟这个api我们很少使用。这篇文章仍然会结合使用及原理进行深度分析 内容导航 Thread.join的作用 Thread.join的实现原理 什么时候会使用Thread.join Thread.join的作用 之前有人问过我一个这样 阅读全文
posted @ 2021-08-25 10:25 琅琊甲乙木 阅读(512) 评论(0) 推荐(0) 编辑
摘要:文章目录 简介 SAML OAuth2 两者的对比 CAS简介 简介 SSO是单点登录的简称,常用的SSO的协议有两种,分别是SAML和OAuth2。本文将会介绍两种协议的不同之处,从而让读者对这两种协议有更加深入的理解。 SAML SAML的全称是Security Assertion Markup 阅读全文
posted @ 2021-08-04 19:01 琅琊甲乙木 阅读(487) 评论(0) 推荐(0) 编辑
摘要:当Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。但GC算法复杂,影响GC性能的参数众多,且参数调整又依赖于应用各自的特点,这些因素很大程度上增加了GC优化的难度。即便如此,GC调优也不是无章可循,仍然有一些通用的思考方法。本篇会介绍 阅读全文
posted @ 2021-04-23 15:53 琅琊甲乙木 阅读(429) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示