代码改变世界

随笔分类 -  Java

策略模式在应用中的实践

2022-06-20 08:59 by coderidea, 431 阅读, 收藏, 编辑
摘要: ​ 行为模式有一种模式叫策略模式(Strategy Pattern),一个类的行为或其算法可以在运行时更改。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。 意图:定义一系列的算法,把它们一个个封装起来, 阅读全文

如何优雅的使用MyBatis?

2022-06-19 14:31 by coderidea, 404 阅读, 收藏, 编辑
摘要: ​本文目录 什么是 MyBatis ? 映射器(mappers) typeAliases 类型别名减少类完全限制名的冗余 处理枚举类型 多行插入 重用 SQL 代码段,消除重复 字符串替换#{}和${}的区别 Result Maps,表的列名和类的属性名不对应怎么处理? MyBatis关联的嵌套查询 阅读全文

微服务的故障处理

2022-06-17 19:35 by coderidea, 706 阅读, 收藏, 编辑
摘要: 当微服务发生故障后怎么办?最近线上发生一起故障,一个接口的慢查询拖垮了整个应用,导致整个应用变得不可用。如果正好赶上流量高峰,应用重启都变得很困难,除非把入口整个关闭,再重启应用等待应用的恢复。 在复盘时,结论是增加上线审核流程和控制来试图阻止故障的再次发生,很少花费心思想想如何更加容易地在第一时间 阅读全文

一文读懂Spring中的DI和AOP

2020-05-11 00:48 by coderidea, 1426 阅读, 收藏, 编辑
摘要: 前言 Spring框架通过POJO最小侵入性编程、DI、AOP、模板代码手段来简化了Java 开发,简化了企业应用的开发。POJO和模板代码相对来说好理解,本篇重点解读下DI和AOP。 一 DI DI(依赖注入)定义 对象的依赖关系将由系统中负责协调各对象的第三方组件在创建对象的时候进行设定。对象无 阅读全文

多线程的风险漫谈

2018-09-17 20:18 by coderidea, 604 阅读, 收藏, 编辑
摘要: 线程的风险 Java对线程内置支持是一把双刃剑。它通过提供语言和类库,以及一个规范的跨平台存储模型,简化了并发应用的开发。这样做同时提高了开发人员门槛,因为更多的程序需要使用线程,主流的开发人员都必须知道线程安全性的问题。 并发危险:竞争条件(race condition)。因为线程共享相同的内存地 阅读全文

Java的内存管理机制之内存区域划分

2018-08-23 21:43 by coderidea, 785 阅读, 收藏, 编辑
摘要: 各位,好久不见。先做个预告,由于最近主要在做Java服务端开发,最近一段时间会更新Java服务端开发相关的一些知识,包括但不限于一些读书笔记、框架的学习笔记、和最近一段时间的思考和沉淀。先从Java虚拟机的内存开始吧。 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据 阅读全文