《Java 并发编程的艺术》读书笔记

方鹏飞 魏鹏 程晓明 机械工业出版社 2020 年 12 月第 1 版 第 1 章 并发编程的挑战 (多线程会出现什么问题) 上下文切换过多, 解决: 1) 无锁; 2) CAS; 3) 减少线程; 4) 协程; ...

2021年5月7日 · 6 分钟 · 2530 字

Redis 命令大全

String SET key value [EX seconds] [PX milliseconds] [XX|NX] 为字符串键设置值, O(1) GET key 获取字符串键的值, O(1) GETSET 获取旧值并设置新值, O(1) MSET key value [key value ...] 一次为多个字符串键设置值, O(N), N 为用户指定的字符串键数量 ...

2021年4月5日 · 9 分钟 · 4491 字

你还在new对象吗?Java8通用Builder了解一下?

程序员经常会遇到灵魂拷问:你有对象吗? 没有,但我可以 new 一个! 1public class GirlFriend { 2 3 private String name; 4 private int age; 5 6 // 省略 getter & setter ... 7 8 public static void main(String[] args) { 9 GirlFriend myGirlFriend = new GirlFriend(); 10 myGirlFriend.setName("小美"); 11 myGirlFriend.setAge(18); 12 } 13} 没问题,老铁!但如果对象的属性太多,咋办? ...

2019年8月30日 · 4 分钟 · 1593 字

Spring Aop中解析spel表达式,实现更灵活的功能

前言 在Spring Aop中,我们可以拿到拦截方法的参数,如果能结合spel表达式,就能实现更加灵活的功能。典型的实现有Spring的缓存注解: 1@Cacheable(value = "user", key = "#id", condition = "#id lt 10") 2public User conditionFindById(final Long id) { 3} 1@Caching(put = { 2@CachePut(value = "user", key = "#user.id"), 3@CachePut(value = "user", key = "#user.username"), 4@CachePut(value = "user", key = "#user.email") 5}) 6public User save(User user) { 本文介绍如何在aop编程中解析spel表达式,提供几个通用的方法。 ...

2019年2月25日 · 2 分钟 · 865 字

Spring Boot中如何干掉if else

前言 看到crossoverJie的文章《利用策略模式优化过多 if else 代码》后受到启发,可以利用策略模式简化过多的if else代码,文章中提到可以通过扫描实现处理器的自注册,我在这里介绍在Spring Boot框架中的实现方法。 ...

2019年2月2日 · 4 分钟 · 1976 字

【Java】使用位运算(&)代替取模运算(%)

介绍 位运算(&)效率要比取模运算(%)高很多,主要原因是位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。 1a % b == a & (b - 1) 前提:b 为 2^n ...

2018年10月11日 · 1 分钟 · 476 字

《程序员的数学》思考题(一)

豆瓣:程序员的数学 《程序员的数学》这本书,除了前两章介绍数学的基本概念外,其它章节主要通过思考题的方式,在解答过程中给我们讲解数学知识和思维方式。所以看完整本书后,通过对思考题的不断训练 ,可以使我们串起书中的知识点,巩固知识。为了便于日后的复习,这里整理了书中绝大多数的思考题,内容舒适,请放心食用。 ...

2018年7月25日 · 7 分钟 · 3342 字

Spring Cloud Feign 熔断机制填坑

问题 最近在项目开发中,使用 Feign 调用服务,当触发熔断机制时,遇到了以下问题: 异常信息形如:TestService#addRecord(ParamVO) failed and no fallback available.; 获取不到服务提供方抛出的原始异常信息; 实现某些业务方法不进入熔断,直接往外抛出异常; 接下来将一一解决上述问题。 ...

2018年6月13日 · 4 分钟 · 1861 字

Spring Boot实现通用的接口参数校验

本文介绍基于Spring Boot和JDK8编写一个AOP,结合自定义注解实现通用的接口参数校验。 缘由 目前参数校验常用的方法是在实体类上添加注解,但对于不同的方法,所应用的校验规则也是不一样的,例如有一个AccountVO实体: ...

2018年5月10日 · 3 分钟 · 1486 字

Spring Cloud Feign 文件传输

微服务中通常使用 Feign 作为服务消费者,那么如何使用 Feign 接口传输文件呢? 一、配置文件解析器 服务提供者和消费者都需要配置文件解析器,这里使用commons-fileupload替换原有的解析器: ...

2018年4月27日 · 2 分钟 · 673 字
👋欢迎来到我的技术博客🌟
这是一片专注于前沿技术探索的园地,涵盖:
  • Web3与区块链(BTC、ETH、区块链基础设施)
  • 后端技术栈(Java、Go、Python)
  • 人工智能与数据科学(ML、DL、数据挖掘)
  • 系统安全与运维(服务器、网络、容器化)
📫 联系方式