<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[funtaster的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/funtaster</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; funtaster]]></copyright><item><title><![CDATA[区块链（三、Truffle使用）]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/116062146</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/116062146</guid><author>funtaster</author><pubDate>Thu, 12 Aug 2021 17:02:16 +0800</pubDate><description><![CDATA[Truffle是什么？

Truffle是基于基于Javascript，对于以太坊Solidity语言的一套开发框架，目的是为了让开发更容易。有一下功能：

●内置的智能合约编译，链接，部署和二进制文件的管理。
●快速开发下的自动合约测试。
●脚本化的，可扩展的部署与发布框架。
●部署到不管多少的公网或私网的网络环境管理功能
●使用EthPM&amp;NPM提供的包管理，使用ERC190标准。
●与合约直接通信的直接交互控制台（写完合约就可以命令行里验证了）。
●可配的构建流程，支持紧密集成。
●在Truf]]></description><category></category></item><item><title><![CDATA[区块链（二、智能合约的开发）]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/115979668</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/115979668</guid><author>funtaster</author><pubDate>Thu, 12 Aug 2021 17:01:56 +0800</pubDate><description><![CDATA[合约是经过双方或多方约定执行一项交易的法律文件。具有强制性和可执行性。智能合约是按照用户的需求编写的代码，并部署和运行在以太坊虚拟机（EVM）上。智能合约在代码中限定了账户之间的交易规则，有利于通过原子化交易来实现数字资产的转移，也可以用于存储重要数据。智能合约就是由函数构成的小程序，类似面向对象的class类，可以互相调用，就像class类实例化和互相调用。
下面来说明一下智能合约的开发流程。

一、环境

1. 运行（部署）环境

合约可以运行在公共网络（以太坊网络）、测试网络或私有网络。

以太坊：是]]></description><category></category></item><item><title><![CDATA[区块链（一、概念）]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/115279260</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/115279260</guid><author>funtaster</author><pubDate>Fri, 16 Apr 2021 23:12:03 +0800</pubDate><description><![CDATA[一、什么是区块链

区块链是一个信息技术领域的术语。从本质上讲，它是一个共享数据库，存储于其中的数据或信息，具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。基于这些特征，区块链技术奠定了坚实的“信任”基础，创造了可靠的“合作”机制，具有广阔的运用前景。

起源：

区块链起源于比特币，2008年11月1日，一位自称中本聪(Satoshi Nakamoto)的人发表了《比特币:一种点对点的电子现金系统》一文 [4] ，阐述了基于P2P网络技术、加密技术、时间戳技术、区块链技术等的电子.]]></description><category></category></item><item><title><![CDATA[Java中的锁]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/114091706</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/114091706</guid><author>funtaster</author><pubDate>Thu, 08 Apr 2021 15:16:42 +0800</pubDate><description><![CDATA[四、锁

ReentrantLock可重入锁的使用

synchronized



ReentrantLock和synchronized都是可重入的独占锁，synchronized易于操作，但不够灵活。ReentrantLock加锁和解锁的过程需要手动进行，使用起来非常灵活，也更适合复杂的场景。synchronized是JVM级别的锁，即Java语言内置的锁，ReentrantLock是实现了Lock接口的锁。ReentrantLock、ReadLock、WriteLock 是Lock接口最重要的三个实.]]></description><category></category></item><item><title><![CDATA[Java多线程知识]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/114083619</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/114083619</guid><author>funtaster</author><pubDate>Tue, 16 Mar 2021 10:19:50 +0800</pubDate><description><![CDATA[一、进程和线程

进程（Process）：是正在运行的程序的实例。

线程（Thread）：是操作系统能够进行运算调度和分配资源的最小单位。

一个进程中可以并发多个线程，每条线程并行执行不同的任务。

二、Java多线程

三、线程池

Spring boot中的线程池
...]]></description><category></category></item><item><title><![CDATA[分布式事务框架Seata实践]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/113759025</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/113759025</guid><author>funtaster</author><pubDate>Tue, 16 Feb 2021 21:25:47 +0800</pubDate><description><![CDATA[一、介绍

Seata 是一款开源的分布式事务解决方案，致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式，为用户打造一站式的分布式解决方案。

Seata分TC、TM和RM三个角色，TC（Server端）为单独服务端部署，TM和RM（Client端）由业务系统集成。

概念：

TC (Transaction Coordinator) - 事务协调者
维护全局和分支事务的状态，驱动全局事务提交或回滚。

TM (Transaction Man]]></description><category></category></item><item><title><![CDATA[数据库知识分享（二）-----分布式事务]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/113575622</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/113575622</guid><author>funtaster</author><pubDate>Wed, 03 Feb 2021 22:49:09 +0800</pubDate><description><![CDATA[一、本地事务

对于同一个服务器上的同一个数据库，基于关系型数据库本身的事务特性实现的事务。

二、分布式事务

分布式系统中，部署在不同的服务器上的各个服务之间通过远程协作完成的事务操作。




...]]></description><category></category></item><item><title><![CDATA[数据库知识分享（一）----- 事务]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/113513150</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/113513150</guid><author>funtaster</author><pubDate>Tue, 02 Feb 2021 21:53:34 +0800</pubDate><description><![CDATA[一、概念

数据库的事务是用来维护数据的完整性和一致性，保证处理数据时，要么全部执行，要么全部不执行。

事务的四个属性（特性）：

原子性（Atomicity）：
即一个事务作为一个最小执行单元，不可分割。包含在内的所有操作要么全部被执行，要么都不执行。

一致性（Consistency）：
事务确保数据库的状态从一个一致状态转变为另一个一致状态。

隔离性（Isolation）：
多个事务并发执行时，一个事务的执行不应影响其他事务的执行。

持久性（Durability）：
一个事务...]]></description><category></category></item><item><title><![CDATA[ShardingSphere教程（一）]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/112795109</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/112795109</guid><author>funtaster</author><pubDate>Mon, 18 Jan 2021 23:01:07 +0800</pubDate><description><![CDATA[ShardingSphere教程（一、概念）

1、sharding-sphere及其组件

ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈，它由 JDBC、Proxy 和 Sidecar这 3 款相互独立，却又能够混合部署配合使用的产品组成。 它们均提供标准化的数据分片、分布式事务和数据库治理功能。

早期的名称为sharding-jdbc，当时由当当网开源出来。后来增加了sharding-Proxy，并改名为ShardingSphere。 现已成为Apache软件基金会]]></description><category></category></item><item><title><![CDATA[物联网项目-服务端架构优化分析]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/112572587</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/112572587</guid><author>funtaster</author><pubDate>Sat, 16 Jan 2021 18:12:45 +0800</pubDate><description><![CDATA[对于常规项目，服务端的压力通常来自以下几个方面：


	数据处理
	
1.1 接收请求

1.2 处理请求（响应时间）





数据存储
2.1物理介质存储容量上限

2.2大量数据的存储，影响数据处理速度







物联网项目特点

由于硬件设备的参与，导致系统架构相对复杂
	硬件设备一般需要
...]]></description><category></category></item><item><title><![CDATA[CentOS 7 下安装DOCLever]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/86619487</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/86619487</guid><author>funtaster</author><pubDate>Wed, 23 Jan 2019 23:58:26 +0800</pubDate><description><![CDATA[一. 安装node

1. 下载

wget https://nodejs.org/dist/latest-v8.x/node-v8.15.0-linux-x64.tar.xz

2.解压

tar xvJf node-v8.15.0-linux-x64.tar.xz

3.重命名并移动到 /user/local

mv node-v8.15.0-linux-x64 /usr/local/node...]]></description><category></category></item><item><title><![CDATA[Win10下安装RabbitMQ]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/83748833</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/83748833</guid><author>funtaster</author><pubDate>Mon, 05 Nov 2018 14:22:29 +0800</pubDate><description><![CDATA[一般来说，在windows下安装软件相比在Linux安装简单一些，所以有时为了方便开发和测试，会在windows上安装相应的软件。

一、下载所需安装文件（erlang和RabbitMQ）

1. 下载erlang

Rabbit MQ 是建立在Erlang平台上，所以安装Rabbit MQ的前提是安装Erlang。

下载地址：http://www.erlang.org/downloads


...]]></description><category></category></item><item><title><![CDATA[Spring boot 2.0教程]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/83621057</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/83621057</guid><author>funtaster</author><pubDate>Thu, 01 Nov 2018 15:41:55 +0800</pubDate><description><![CDATA[一、什么是Spring Boot

        Spring Boot 是一个轻量级的开发框架，用来简化基于 Spring 的应用程序的开发工作。相比以前xml的配置方式，spring boot可以使用最少的配置，来完成应用程序开发。

      是微服务（ Spring Cloud ）的基础，用于快速开发各个微服务，即Spring Cloud依赖于Spring Boot。

      官...]]></description><category></category></item><item><title><![CDATA[Java中Volatile关键字详解（转）]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/83620422</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/83620422</guid><author>funtaster</author><pubDate>Thu, 01 Nov 2018 14:57:55 +0800</pubDate><description><![CDATA[一、基本概念

先补充一下概念：Java 内存模型中的可见性、原子性和有序性。

可见性：

　　可见性是一种复杂的属性，因为可见性中的错误总是会违背我们的直觉。通常，我们无法确保执行读操作的线程能适时地看到其他线程写入的值，有时甚至是根本不可能的事情。为了确保多个线程之间对内存写入操作的可见性，必须使用同步机制。

　　可见性，是指线程之间的可见性，一个线程修改的状态对另一个线程是可见的。也就是...]]></description><category></category></item><item><title><![CDATA[使用Docker部署Spring boot项目]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/83274727</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/83274727</guid><author>funtaster</author><pubDate>Mon, 22 Oct 2018 16:28:23 +0800</pubDate><description><![CDATA[使用Docker部署Spring boot项目

 

一、前提条件

1.有一个Spring boot项目



 

编译打包（mvn package）后在工程target目录下生成文件springBootDocker.jar

 

项目源码：

 

 

maven打包的jar包：

 

 

2. 一台装有Docker的Linux主机和一台Docker Registry（Harbor...]]></description><category></category></item><item><title><![CDATA[Docker私有仓库搭建（Harbor）]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/83268974</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/83268974</guid><author>funtaster</author><pubDate>Mon, 22 Oct 2018 10:14:53 +0800</pubDate><description><![CDATA[概念说明：

仓库：集中存放镜像的地方，可分为公共仓库和私有仓库（公共仓库&quot;http://hub.docker.com&quot;或国内的&quot;http://www.daocloud.io&quot;）

注册服务器（Registry）：是存放仓库的服务器，每个服务器上都可以放置多个仓库，而每个仓库上可以放置多个镜像，每个镜像上可以运行多个容器，每个容器上可以跑一个应用或应用组。

 

　　 Docker hub为我们...]]></description><category></category></item><item><title><![CDATA[Docker安装手册（CentOS7）]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/83268704</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/83268704</guid><author>funtaster</author><pubDate>Mon, 22 Oct 2018 10:02:45 +0800</pubDate><description><![CDATA[运行环境：

[root@localhost ~]# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

 

Docker 运行在 CentOS 7 上，要求系统为64位、系统内核版本为 3.10 以上。通过uname -r 命令查看内核版本。

[root@localhost /]# uname -r

3.10.0-8...]]></description><category></category></item><item><title><![CDATA[多个部门厕所排队问题]]></title><link>https://blog.youkuaiyun.com/funtaster/article/details/78626946</link><guid>https://blog.youkuaiyun.com/funtaster/article/details/78626946</guid><author>funtaster</author><pubDate>Fri, 24 Nov 2017 17:52:26 +0800</pubDate><description><![CDATA[场景：公司有若干部门，每个部门一个厕所，每个部门的员工争抢本部门的厕所
import java.util.Map;
import java.util.Random;
import java.util.concurrent.ConcurrentHashMap;

/**
* @comments 测试main入口
* 场景：公司有若干部门，每个部门一个厕所，每个部门的员工争抢本部门的厕所
* @au]]></description><category></category></item></channel></rss>