摘要: Google 开源工具类库Guava Guava工程包含了若干被Google的 Java项目广泛依赖的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotati 阅读全文
posted @ 2022-01-05 22:46 残城碎梦 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 小而全的Java工具类库 Hutool (核心篇) Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅。 Hutool的存在就是为了减少代码搜索成本,避免网络上参差不齐的代码出现导致的bug。 官方文档:https://www.hutool.cn/ Hutool包含的 阅读全文
posted @ 2022-01-05 22:22 残城碎梦 阅读(2016) 评论(0) 推荐(1) 编辑
摘要: 高效的JSON和Java对象转换类库Jackson Java生态圈中有很多处理JSON和XML格式化的类库,Jackson是其中比较著名的一个。Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。Jackson 社区相对比较活跃,更新速度也比较快。 Spring MVC 的默认 json 解析器便是 Jac 阅读全文
posted @ 2022-01-05 17:00 残城碎梦 阅读(508) 评论(0) 推荐(1) 编辑
摘要: 构建及管理于一体的工具Maven pom.xml配置文件 setting.xml主要用于配置maven的运行环境等一系列通用的属性,是全局级别的配置文件;而pom.xml主要描述了项目的maven坐标,依赖关系,开发者需要遵循的规则,缺陷管理系统,组织和licenses,以及其他所有的项目相关因素,是项目级别的配置文件。 基础配置 阅读全文
posted @ 2022-01-05 16:29 残城碎梦 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 熔断、限流、降级三者的区别 熔断、限流、降级都是保持系统稳定运行的策略,但针对的场景有所不同。 熔断 服务熔断的作用类似于我们家用的保险丝,当某服务出现不可用或响应超时的情况时,为了防止整个系统出现雪崩,暂时停止对该服务的调用。 上面的解释中有两个很关键的词,一个是暂时,一个是停止。 停止是说,当前服务一旦对下游服务进行熔断, 阅读全文
posted @ 2022-01-05 16:14 残城碎梦 阅读(1494) 评论(0) 推荐(0) 编辑
摘要: 多种限流方案介绍 假设一个系统只能为 10W 人提供服务,突然有一天因为某个热点事件,造成了系统短时间内的访问量迅速增加到了 50W,那么导致的直接结果是系统崩溃,任何人都不能用系统了,显然只有少人数能用远比所有人都不能用更符合我们的预期,因此这个时候我们要使用「限流」了。 限流分类 限流的实现方案有很多种,稍微理了 阅读全文
posted @ 2022-01-05 15:32 残城碎梦 阅读(199) 评论(0) 推荐(0) 编辑
摘要: RESTful API接口设计标准及规范 RESTful发展背景及简介 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备…)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"APIFirst"的设计思想。RESTful API是目前 阅读全文
posted @ 2022-01-05 15:15 残城碎梦 阅读(862) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-01-05 14:42 残城碎梦 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 分布式版本控制系统Git常用命令 分布式版本系统的工作流程: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 git常用命令 说明:一些没有自动退出的命令,可以直接按 q 键进行退出。 git init # 初始化本地git仓库(创建新仓库) git 阅读全文
posted @ 2022-01-05 14:04 残城碎梦 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 远程连接命令telnet telnet简介 telnet 命令通常用来远程登录。telnet是基于TELNET协议的远程登录客户端程序。Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序 阅读全文
posted @ 2022-01-05 14:00 残城碎梦 阅读(2921) 评论(0) 推荐(0) 编辑
摘要: 进程内缓存Ehcache Ehcache简介 EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 1、主要特性 快速 简单 多种缓存策略 缓存数据有两级:内存和磁盘,因此无需担心容量问题 缓存数据会在虚拟机重启的过程中写入磁盘 可以通过RMI、可插 阅读全文
posted @ 2022-01-05 13:30 残城碎梦 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 当ContextLoaderListener和DispatcherServlet一起使用时, ContextLoaderListener 先创建一个根applicationContext,然后DispatcherSerlvet创建一个子applicationContext并且绑定到根applicat 阅读全文
posted @ 2022-01-05 12:42 残城碎梦 阅读(448) 评论(0) 推荐(0) 编辑
摘要: Spring Bean 的初始化是在 Spring 容器 refresh() 时进行的。 Spring 容器 refresh 时会调用 finishBeanFactoryInitialization() 来初始化所有非延迟加载的 bean。 org.springframework.context.s 阅读全文
posted @ 2022-01-05 12:28 残城碎梦 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 本地缓存Caffeine Cache DB + Redis + LocalCache = 高效存储,高效访问 Caffeine简介 Caffeine是基于Java 8的高性能,接近最佳的缓存工具库。Caffeine使用Google Guava启发的API提供内存缓存。所以它的使用成本较低,跟Guava的API基本一致。 它主要有以下几个 阅读全文
posted @ 2022-01-05 08:28 残城碎梦 阅读(1466) 评论(0) 推荐(0) 编辑
摘要: 方法重载是指在同一个类中,定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载。 方法签名是由:方法名称 + 参数类型 + 参数个数组成的一个唯一值,这个唯一值就是方法签名,而 JVM(Java 虚拟机)就是通过这个方法签名来决定调用哪个方法的。 从方法签名的组成规则我们可以看出, 阅读全文
posted @ 2022-01-05 08:22 残城碎梦 阅读(64) 评论(0) 推荐(0) 编辑