Sunfy Blog

Life is diligent, no pains, no gains.
Viewed Times
Visitors In Total

更优雅的发HTTP请求(RestTemplate)

Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。

RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率。 我之前的HTTP开发是......

如何从容应对复杂性

软件的复杂性,是一个很泛的概念。但是一直都是开发过程中的一个难题,本文旨在探讨如何去从容应对复杂性。

一 软件的熵增、构造定律1 熵增定律熵的概念最早起源于物理学,热力学第二定律(又称“熵增定律”),表明了在自然过程中,一个孤立的系统总是从最初的集中、有序的排列状态,趋向于分散、混乱和无序;当熵......

高并发Redis缓存那些事儿

Redis缓存常见问题及相应问题的解决方案 缓存穿透查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的意义。 基本原因 自身业务代码或者数据出现问题。 一些恶意攻击、 爬虫等造成大量空命中。 解决方案1、缓存空对象 12345678910111......

LRU缓存算法的实现

一种常见的页面置换算法

LRULRU(Least Recently Used)是一种常见的页面置换算法,在计算中,所有的文件操作都要放在内存中进行,然而计算机内存大小是固定的,所以我们不可能把所有的文件都加载到内存,因......
LRU

CAS操作分析

Compare And Swap,比较并交换

CASCAS(Compare And Swap,比较并交换),通常值的是一种原子操作,针对一个变量,首先比较它的内存值与某个期望值是否相同,如果相同就给它赋值另一个值。正所谓比较并交换。 if......

深入理解 Java SPI机制

一种服务发现机制,自动加载文件里所定义的类。

SPI ,全称为 Service Provider Interface,是一种服务发现机制。在ClassPath路径下的META-INF/services文件夹查找文件,自动加载文件里所定义的类......
SPI

docker-compose 启动容器

docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。 docker-compose 是什么docker-compose 是一个用来把 docker 自动化的东西。有了 docker-compose 你可以把所有繁复的 docker 操作全都一条命令,自动化的完成。 为什么要用 docker-compose,他解决了什么用通俗的语言......

Spring推断构造方法

一个构造方法|多个构造方法

Spring推断构造方法 Spring中的一个bean,需要实例化得到一个对象,而实例化就需要用到构造方法。 一个构造方法一般情况下,一个类只有一个构造方法: 要么是无参的构造方法 要么是有......

CentOS、windows安装MySql5.7

mySQL5.7数据库在CentOS服务器上安装

mySQL5.7数据库在CentOS服务器上安装 一、安装YUM Repo1、由于CentOS 的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件。下载命令: 1wg......

Redis持久化、主从架构和哨兵架构

Redis数据持久化的三种方式,基本的架构模型,主从架构和哨兵架构。主从架构是哨兵架构以及后续的分布式集群架构的基础。 Redis持久化RDB(Redis DataBase)快照(snapShot)基本设置 1234# 在redis配置文件中做如下配置即可,redis在满足配置时就会自动进行持久化到本地文件中# 60秒内至少改动1000个键值对,就会触发save 60 1000 # 保存的为......

MyBatis源码编译环境构建

MyBatis源码阅读环境编译,能够更方便阅读源码,可以切换源码版本! 1、源码下载下载地址:https://github.com/mybatis/mybatis-3 12345--下载源码git clone https://github.com/mybatis/mybatis-3--进入到刚clone的目录文件--创建分支,切换至最新版本(from tag)git checkout -b......

IDEA Statistic插件使用,代码统计

IDEA插件 Statistic使用,主要代码行数,将代码数量统计并直观展示出来. 1.插件安装IDEA—>file—>settings—>plugins—>搜索插件(Statistic) 我这里已经安装,还未重启IDE,点击Install安装插件,安装完成后根据提重启IDE 2.插件使用重启IDE后,在屏幕下方会有一个statistic按钮,点击后可以看到如下页面......

Redis操作命令

Redis基本数据结构及常用操作命令以及对应的使用场景 Redis 最重要的一部分主题(topic)文档, 比如事务、持久化、复制、Sentinel、集群等 你可以通过网址 doc.redisfans.com 在线阅览本文档, 也可以下载 PDF 格式 或者 HTML 格式 的离线版本。 字符串(String)常用操作命令12345678910111213141516171819202122......

Ubuntu截图工具

Linux系统Ubuntu截图工具推荐使用 前言Windows上习惯了QQ的截图工具,本工具类似QQ截图工具功能,在习惯QQ截图的情况下可以很方便的使用。效果图: 安装过程1sudo apt-get install flameshot 启动命令1flameshot gui 设置快捷方式 本机操作系统版本为Ubuntu 20.04, 不同版本可能设置快捷键位置名称有些不同,可以自行根据系统......

IDEA 远程调试

本机调试此处不做过多解释,相信考虑远程debug调试的,肯定对本机调试是有一定了解的。说下自己在本机调试spring Boot项目时遇到的项目长时间卡顿,这个时候可能是因为本机环境中debug断点太多,去除一下后即可正常启动; 远程调试远程调试一个大前提就是我们需要保证远程代码和本地代码一致; 此处部署为war包项目 在远程环境中要开启允许远程debug调试 windows环境—》bin......

IDEA 翻译

IDEA翻译,插件安装及对应的代码消息提醒实时翻译 插件下载插件名称translation 插件设置 勾选下面的其他内容,才会实时翻译 设置百度翻译 此处不勾选可能会出现无法翻译的问题,这个主要是因为国内网络限制,对谷歌访问收到限制导致的。此时我们可以设置使用百度翻译。但是使用百度翻译时需要设置相应的AppID和密钥。这个在百度翻译中可以免费申请,目前来看还是免费的,不知道后续会不会......

IDEA中使用Debug功能详解

Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。   所以学习下如何在Intellij IDEA中使用好Debug,主要包括如下内容: Debug基础与配置  首先看下IDEA中Debug模式下的界面。   如下是在IDEA中启动......

CentOS安装JDK的几种方法及配置环境变量

CentOS安装JDK的几种方法及配置环境变量 一、下载jdk jdk下载地址: 1http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载jdk-8u152-linux-x64.rpm 或 jdk-8u15......