随笔分类 -  Java

Java 那点事
摘要:Dubbo 中的集群容错在微服务架构中,服务间的依赖关系复杂且动态,任何一个服务的故障都可能引发连锁反应,导致系统雪崩,一个好的容错设计至关重要。 阅读全文
posted @ 2025-04-04 23:36 mghio 阅读(287) 评论(0) 推荐(0)
摘要:什么是流言协议? 在分布式系统中,以下两个是典型的问题: 维护系统状态(节点的活跃性) 节点间的通信 解决这些问题的解决方案之一如下: 集中式状态管理服务 对等状态管理服务 集中式状态管理服务 像 Apache Zookeeper 这样的集中式状态管理服务可以被配置为服务发现,以跟踪系统中每个节点的 阅读全文
posted @ 2024-04-27 21:43 mghio 阅读(558) 评论(0) 推荐(0)
摘要:前言 在 Spring 框架中有很多实用的功能,不需要写大量的配置代码,只需添加几个注解即可开启。 其中一个重要原因是那些 @EnableXXX 注解,它可以让你通过在配置类加上简单的注解来快速地开启诸如事务管理(@EnableTransactionManagement)、Spring MVC(@E 阅读全文
posted @ 2022-05-22 12:53 mghio 阅读(485) 评论(0) 推荐(1)
摘要:前言 在并发编程中,当多个线程同时访问同一个共享的可变变量时,会产生不确定的结果,所以要编写线程安全的代码,其本质上是对这些可变的共享变量的访问操作进行管理。导致这种不确定结果的原因就是可见性、有序性和原子性问题,Java 为解决可见性和有序性问题引入了 Java 内存模型,使用互斥方案(其核心实现 阅读全文
posted @ 2021-08-22 15:13 mghio 阅读(586) 评论(0) 推荐(0)
摘要:前言 在我们日常开发的分层结构的应用程序中,为了各层之间互相解耦,一般都会定义不同的对象用来在不同层之间传递数据,因此,就有了各种 XXXDTO、XXXVO、XXXBO 等基于数据库对象派生出来的对象,当在不同层之间传输数据时,不可避免地经常需要将这些对象进行相互转换。 此时一般处理两种处理方式:① 阅读全文
posted @ 2021-08-09 09:21 mghio 阅读(1341) 评论(0) 推荐(2)
摘要:前言 在 上篇 介绍了 Feign 的核心实现原理,在文末也提到了会再介绍其和 Spring Cloud 的整合原理,Spring 具有很强的扩展性,会把一些常用的解决方案通过 starter 的方式开放给开发者使用,在引入官方提供的 starter 后通常只需要添加一些注解即可使用相关功能(通常是 阅读全文
posted @ 2021-07-04 21:03 mghio 阅读(558) 评论(0) 推荐(1)
摘要:What is Feign? Feign 是⼀个 HTTP 请求的轻量级客户端框架。通过 接口 + 注解的方式发起 HTTP 请求调用,面向接口编程,而不是像 Java 中通过封装 HTTP 请求报文的方式直接调用。服务消费方拿到服务提供方的接⼝,然后像调⽤本地接⼝⽅法⼀样去调⽤,实际发出的是远程的 阅读全文
posted @ 2021-06-27 16:05 mghio 阅读(2352) 评论(0) 推荐(1)
摘要:前言 在 上篇 实现了 判断一个类的方式是符合配置的 pointcut 表达式、根据一个 Bean 的名称和方法名,获取 Method 对象、实现了 BeforeAdvice、AfterReturningAdvice 以及 AfterThrowingAdvice并按照指定次序调用 等功能,这篇再来看 阅读全文
posted @ 2021-06-13 20:47 mghio 阅读(933) 评论(6) 推荐(1)
摘要:前言 前面两篇 如何实现 AOP(上)、如何实现 AOP(中) 做了一些 AOP 的核心基础知识简要介绍,本文进入到了实战环节了,去实现一个基于 XML 配置的简易版 AOP,虽然是简易版的但是麻雀虽小五脏俱全,一些核心的功能都会实现,通过实现这个简易版的 AOP,相信你会对 AOP 有深入的理解, 阅读全文
posted @ 2021-06-06 19:46 mghio 阅读(373) 评论(0) 推荐(2)
摘要:前言 在上篇 如何实现 AOP(上) 介绍了 AOP 技术出现的原因和一些重要的概念,在我们自己实现之前有必要先了解一下 AOP 底层到底是如何运作的,所以这篇再来看看 AOP 实现所依赖的一些核心基础技术。AOP 是使用动态代理和字节码生成技术来实现的,在运行期(注意:不是编译期!)为目标对象生成 阅读全文
posted @ 2021-05-30 14:36 mghio 阅读(319) 评论(5) 推荐(0)
摘要:前言 本文是「如何实现一个简易版的 Spring 系列」的第五篇,在之前介绍了 Spring 中的核心技术之一 IoC,从这篇开始我们再来看看 Spring 的另一个重要的技术——AOP。用过 Spring 框架进行开发的朋友们相信或多或少应该接触过 AOP,用中文描述就是面向切面编程。学习一个新技 阅读全文
posted @ 2021-05-23 10:43 mghio 阅读(323) 评论(0) 推荐(1)
摘要:前言 在计算机行业工作的人们,最大的感触就是这个行业里总是会出现很多的新东西,各种技术、框架等等,变化无处不在,有很大一部分人都比较焦虑。在一些论坛或者社区里面总是有人在问如何学习一门新技术?怎样才能跟上技术的潮流?我想说是,我们应该打牢基础,应对变化,以不变应万变。 从变化中寻找不变的东西 变化都 阅读全文
posted @ 2021-04-15 23:19 mghio 阅读(1644) 评论(3) 推荐(3)
摘要:前言 本文是 如何实现一个简易版的 Spring 系列第四篇,在 上篇 介绍了 @Component 注解的实现,这篇再来看看在使用 Spring 框架开发中常用的 @Autowired 注入要如何实现,大家用过 Spring 都知道,该注解可以用在字段、构造函数以及setter 方法上,限于篇幅原 阅读全文
posted @ 2021-03-07 23:58 mghio 阅读(646) 评论(0) 推荐(1)
摘要:搜索能力是被绝大多数人低估一项基本素质,绝大部分做编程技术相关的朋友应该都知道如何使用 Google,但是并不知道如何利用它的潜力。其实不管是 Google 还是 百度,会搜索的人一样都可以查找到需要的东西,不会搜索的人用什么都不好使。下面介绍一些 Google 常用的搜索技巧以及搜索快捷方式,可以 阅读全文
posted @ 2021-03-03 08:29 mghio 阅读(1117) 评论(0) 推荐(0)
摘要:前言 前面两篇文章(如何实现一个简易版的 Spring - 如何实现 Setter 注入、如何实现一个简易版的 Spring - 如何实现 Constructor 注入)介绍的都是基于 XML 配置文件方式的实现,从 JDK 5 版本开始 Java 引入了注解支持,带来了极大的便利,Sprinng 阅读全文
posted @ 2021-02-14 16:33 mghio 阅读(585) 评论(0) 推荐(0)
摘要:前言 之前在 上篇 提到过会实现一个简易版的 IoC 和 AOP,今天它终于来了。。。相信对于使用 Java 开发语言的朋友们都使用过或者听说过 Spring 这个开发框架,绝大部分的企业级开发中都离不开它,通过 官网 可以了解到其生态非常庞大,针对不同方面的开发提供了一些解决方案,可以说 Spri 阅读全文
posted @ 2020-11-29 16:14 mghio 阅读(407) 评论(0) 推荐(0)
摘要:前言 使用 Java 作为第一开发语言的朋友们,相信大家或多或少的都使用过 Spring 这个开发框架,可以说 Spring 框架真是我们 Java 程序员的春天,在 Spring 中 Bean 是其中最重要的概念之一,是学习其它高级知识的基础,Bean 说白了其实就是一个被 Spring 框架管理 阅读全文
posted @ 2020-10-08 16:08 mghio 阅读(629) 评论(0) 推荐(0)
摘要:一、前言 不同存储技术的访问时间差异很大,从 计算机层次结构 可知,通常情况下,从高层往底层走,存储设备变得更慢、更便宜同时体积也会更大,CPU 和内存之间的速度存在着巨大的差异,此时就会想到计算机科学界中一句著名的话:计算机科学的任何一个问题,都可以通过增加一个中间层来解决。 二、引入缓存层 为了 阅读全文
posted @ 2020-09-24 23:26 mghio 阅读(2241) 评论(2) 推荐(10)
摘要:现在的一些高级编程语言都会提供各种开箱即用的数据结构的实现,像 Java 编程语言的集合框架中就提供了各种实现,集合类包含 Map 和 Collection 两个大类,其中 Collection 下面的 List 列表是我们经常使用的集合类之一,很多的业务代码都离不开它,今天就来看看 List 列表 阅读全文
posted @ 2020-08-23 13:22 mghio 阅读(421) 评论(1) 推荐(0)
摘要:上一篇 RabbitMQ 入门之基础概念 介绍了 RabbitMQ 的一些基础概念,本文再来介绍其中的一些细节和其它的进阶的概念。 一、消息生产者发送的消息不可达时如何处理 RabbitMQ 提供了消息在传递过程中无法发送到一个队列(比如根据自己的类型和路由键没有找到匹配的队列)时将消息回传给消息发 阅读全文
posted @ 2020-08-09 18:41 mghio 阅读(490) 评论(0) 推荐(0)