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,需要实例化得到一个对象,而实例化就需要用到构造方法。 一个构造方法一般情况下,一个类只有一个构造方法: 要么是无参的构造方法 要么是有......

Zookeeper集群

Zookeeper集群配置 Zookeeper 集群模式一共有三种类型的角色Leader: 处理所有的事务请求(写请求),可以处理读请求,集群中只能有一个LeaderFollower:只能处理读请求,同时作为 Leader的候选节点,即如果Leader宕机,Follower节点要参与到新的Leader选举中,有可能成为新的Leader节点。Observer:只能处理读请求。不能参与选举 ......

CentOS 修改vim的Tab为4个空格

CentOS根目录(/)下会有很多不同的子目录 演示环境12[root@hwc ~]# cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core) 操作步骤 编辑 1/etc/vimrc 文件 1vim /etc/vimrc 在文件最后添加以下内容 1234567set ts=4set autoindentse......

CentOS根目录下各目录介绍

CentOS根目录(/)下会有很多不同的子目录 bin :存放普通用户可执行的指令,即使在单用户模式下也能够执行处理 boot :开机引导目录,包括Linux内核文件与开机所需要的文件 dev :设备目录,所有的硬件设备及周边均放置在这个设备目录中 etc:各种配置文件目录,大部分配置属性均存放在这里 home:这里主要存放你的个人数据,具体每个用户的设置文件,用户的桌面文件夹,还有用户的......

Ubuntu系统解决Windows下Zip解压中文乱码问题

解决Ubuntu中解压Windows下的zip文件时乱码问题三种方法 : 1.通过指定字符集解压:1unzip -O CP936 file.zip #将file修改成你要解压的压缩包名 2.环境变量中指定参数:1)打开环境变量文件1sudo gedit /etc/environment2)在文件中添加两行内容后并保存:12UNZIP="-O CP936"ZIPINFO="-O CP93......

前端基础插件

前端基本开发环境安装,node、npm、cnpm、@angular 安装nodejs第一步,去 nodejs 官网 https://nodejs.org 看最新的版本号; 求稳的话建议选 LTS版。 第二步,添加源后安装重点来了,nodejs 的每个大版本号都有相对应的源,比如这里的 14.x.x版本的源是https://deb.nodesource.com/setup_14.x。 所以在终......
npm

tomcat配置日志输出

tomcat配置gc日志输出omcat目录/bin 找到catalina.sh(这是linux下,window下应该是catalina.bat) 配置JAVA_OPTS参数,我这里配置的是tomcat目录/log目录下 JAVA_OPTS= -Xms1024m -Xmx3048m -XX:PermSize=512m -XX:MaxPermSize=1524m -Xss4096K-Xloggc......

IDEA JRebel 破解最简单的使用

JRebel JRebel是一款JVM插件,它使得Java代码修改后不用重启系统,立即生效。IDEA上原生是不支持热部署的,一般更新了 Java 文件后要手动重启 Tomcat 服务器,才能生效,浪费时间浪费生命。 目前对于idea热部署最好的解决方案就是安装JRebel插件。 简单破解 步骤1:生成一个GUID: 生成GUID网站如下 在线生成GUID地址 步骤2: 根据反向代理服务......

批量修改文件后缀名

各个系统下批量修改文件后缀名(Windows,Ubuntu,CentOS) windows修改 在所需修改的文件目录下,新建txt文件.此处什么类型的文件都可以,主要就是新建一个文件,通过命令修改。 打开新建的文件,填写 1ren *.png *.txt 说明:此处命令将当前文件所在目录下的png后缀修改为txt 将新建文件后缀名修改为bat,将文件放在要修改目录下双击即可完成。......

Redis集群搭建

Redis集群架构搭建。 Windows搭建基本步骤打开redis文件路径,打开cmd.exe,在相应路径下运行 redis-server --service-install redis.windows.conf --loglevel verbose --service-name Redis6379 执行完成后会在服务中添加一个redis6379的服务 复制redis6379,粘贴分别命名为......