调试体系
[TOC] 1. 前言 我们在使用idea启动debug时可以做好多事情,看变量的值; 随处打断点; 计算变量的值等等, 这些功能全都依赖了java的调试体系JP...
[TOC] 1. 前言 我们在使用idea启动debug时可以做好多事情,看变量的值; 随处打断点; 计算变量的值等等, 这些功能全都依赖了java的调试体系JP...
[TOC] 1.字节码 1.1 什么是字节码? Java之所以可以“一次编译,到处运行”,一是因为JVM针对各种操作系统、平台都进行了定制,二是因为无论在什么平...
[TOC] 1. 使用 1.1. 引包 <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>3.3.6</version> </dependency> 用最新版的就好 Maven Repository: dynamic-datasource-spring-boot-starter 不过做开发的经验来看, 应该选 倒数第二个大版本里最新的版本, 这样既能用更多的功能,又能保证没有大b...
[toc] 一. 为啥要泛型? 简单的说,我 new一个list,我想放字符串,数字等多种数据类型,怎么办? 那就整个泛型!(理解意思就行) https://www.cnblogs.com/lwbqqyumidi/p/3837629.html 二. 什么是泛型?...
[TOC] 前言 一图解读分布式事务 名词解释 事务:事务是由一组操作构成的可靠的独立的工作单元,事务具备ACID的特性,即原子性、一致性、隔离性和持久性。...
总的来说,让处理请求的时候变短,速度变快 前端 浏览器优化技术:合理布局,页面缓存,减少http请求数,页面压缩,减少 cookie 传输。 CDN DNS负载均衡 动...
[TOC] 1. volatile 1.1 volatile的内存语义 在Java中,volatile关键字有特殊的内存语义。volatile主要有以下两个功能: 保证变量的内存可...
[TOC] 介绍 在我们实际开发中,一个web应用可能要在多个地区使用,面对不同地区的不同语言,为了适应不同的用户,我们可以尝试在前端页面实现多语言的支...
[TOC] 前言 和大多数持久化框架一样,MyBatis 提供了一级缓存和二级缓存的支持。默认情况下,MyBatis 只开启一级缓存。 MyBatis提供了一...
[TOC] 1. 如果判断对象可以回收? 1.1 引用计数算法 定义: 在对象中添加一个引用计数器, 每当有一个地方引用它时, 计数器值就加一; 当引用失效时, 计数器值就减...
UserUtils.java package com.gree.ecommerce.utils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.gree.ecommerce.config.InheritableThreadPoolTaskExecutor; import com.gree.ecommerce.constant.Constant; import com.gree.ecommerce.constant.ServerResultCode; import com.gree.ecommerce.exception.BusinessException; import com.gree.ecommerce.module.user.BaseUserRedisVO; import com.gree.ecommerce.module.user.EocLoginUserRedisVO; import com.gree.ecommerce.module.user.LoginUserRedisVO; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import java.util.Collection; import java.util.List; import java.util.Optional; import java.util.concurrent.TimeUnit; import java.util.function.Supplier; import java.util.stream.Collectors; import java.util.stream.Stream; /** * 用户数据相关工具类 * * @createDate 2021/12/15 */ @Slf4j public class UserUtils { static RedisUtil redisUtil = new RedisUtil(); public UserUtils(RedisUtil ru) {...
[TOC] 1. 并发模型 两种并发模型可以解决这两个问题: 消息传递并发模型 (CSP->Go语言 ; Actor模型->akka框架) 共享内存并发模...
[toc] 一、什么是高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同...
[TOC] 一、什么是高可用 **高可用HA(**High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系...
[toc] 1. 适配器模式 类比插座,有欧洲标准,中国标准,为了在欧洲使用中国的插头,所以需要一个适配器,做到兼容 在正常开发中,一般是针对一个已有的类,想...