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

uni-app编译到微信报错forceUpdate

Cannot read property 'forceUpdate' of undefined解决方法

uni-app 微信小程序报错:Cannot read property ‘forceUpdate’ of undefined 在初次使用uni-app开发的时候,把项目运行到小程序的时候会包 ......

Linux常用命令

Linux系统常用基本命令 ack [待查询字符串]搜索当前文件夹内所有文件中对应的字符(递归查询) unar [待解压文件]解压命令,可以解压zip文件,主要可以解决windows系统中的部分文件解压后乱码问题 端口使用情况使用netstat命令:查看已经连接的服务端口(ESTABLISHED)netstat -a 查看所有的服务端口(LISTEN,ESTABLISHED) net......

docker基本命令

docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。 docker安装1curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun Docker Compose的安装 Compose的安装有多种方式,例如通过shell安装、通过pip安装、以及将compo......

java设计模式之动态代理实现与原理详细分析

关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式—代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。 代理模式代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤......

jmeter在ubuntu下面的配置以及使用

jmeter在ubuntu下面的配置以及使用 前言jmeter是apache的一个开源压力测试工具。话说,实在很好奇开发出来的程序性能如何。所以抽空配置一下jmeter,后续还会有实际压测例子。 对了,可以先看看文章,参考:Jmeter环境搭建与使用(Linux) JMeter学习(一)工具简单介绍 使用 JMeter 进行压力测试 几个重要地址:jmeter官网官方指导 这里先预告一下,下......

一个项目push到多个远程Git仓库

git项目同时提交至多个远程仓库 我创建了一个项目,然后通过下面的命令 push 到了 Git Hub 上。如何再将这个项目 push 到其他远程仓库呢? 12git remote add github https://github.com/zxbetter/test.gitgit push -u github master 方法一: 使用 git r......
git

java设计模式之观察者模式

Java设计模式, 眼观六路,耳听八方,观察者很忙,随时监控着关注对象的一举一动。观察者模式解决了基于一对多对象结构关系间的互动问题,使观察者(多方买家)专主动为被动,被观察者(单方商家)转被动为主动,此情此景,需动静结合,先后有序,以【一方动多方静】取代【多方动一方静】的模式,大大的提高了沟通效率。 先来看个图: 观察者模式的中的三个基本部分: 事件源 / 事件 / 时间监听器 定义事件......

MongoDB 通过配置文件启动

通过配置文件的方式配置这些参数加载配置。

通过配置文件的方式配置这些参数加载配置。 ./bin/mongod —config ./conf/mongodb.conf(或./bin/mongod -f ./conf/mongodb.con......

Linux执行定时任务

测试环境为CentOS7 一、通过定时任务备份mysql数据库 前提条件: 首先在备份机上安装mysql的客户端,或者直接安装mysql也可以。 开始备份1、 创建备份文件存储路径1mkdir /data/backup/test/ 2、创建备份脚本1vim backup.sh 写入shell: 12# -u用户名 -p密码 这两者中间不能添加空格,存在空格会备份失败mysqldump -h......

Zookeeper基础数据类型和基本客户端操作

Zookeeper一个分布式协调框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等 核心概念一个用于存储少量数据的基于内存的数据库,主要有如下两个核心的概念:文件系统数据结构+监听通知机制。 文件系统数据结构 PERSISTENT-持久化目录节点客户端与Zookeeper......