<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lamb7758的博客]]></title><description><![CDATA[一个开发人员的个人总结，希望可以和大家一起交流，欢迎批评指导！]]></description><link>https://blog.youkuaiyun.com/lamb7758</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lamb7758]]></copyright><item><title><![CDATA[vue打包到jar资源访问被shiro拦截]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/132079956</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/132079956</guid><author>lamb7758</author><pubDate>Thu, 03 Aug 2023 11:33:26 +0800</pubDate><description><![CDATA[先记录一下配置，具体原理有时间再整理]]></description><category></category></item><item><title><![CDATA[SpringBoot中整合PageHelper]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/97242350</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/97242350</guid><author>lamb7758</author><pubDate>Thu, 25 Jul 2019 10:44:21 +0800</pubDate><description><![CDATA[1.添加依赖
 
    &lt;dependency&gt;
        &lt;groupId&gt;com.github.pagehelper&lt;/groupId&gt;
        &lt;artifactId&gt;pagehelper-spring-boot-starter&lt;/artifactId&gt;
        &lt;version&gt;1.2.5&lt...]]></description><category></category></item><item><title><![CDATA[Java并发编程：Lock]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/90263805</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/90263805</guid><author>lamb7758</author><pubDate>Thu, 16 May 2019 15:37:01 +0800</pubDate><description><![CDATA[从Java 5之后，在java.util.concurrent.locks包下提供了另外一种方式来实现同步访问，那就是Lock。既然都可以通过synchronized来实现同步访问了，那么为什么还需要提供Lock？这个问题将在下面进行阐述。本文先从synchronized的缺陷讲起，然后再讲述java.util.concurrent.locks包下常用的有哪些类和接口，最后讨论以下一些关于锁的概...]]></description><category></category></item><item><title><![CDATA[分布式事物方案]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/89842616</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/89842616</guid><author>lamb7758</author><pubDate>Sun, 05 May 2019 12:08:10 +0800</pubDate><description><![CDATA[背景



四月初，去面试了本市的一家之前在做办公室无人货架的公司，虽然他们现在在面临着转型，但是对于我这种想从传统企业往互联网行业走的孩子来说，还是比较有吸引力的。

在面试过程中就提到了分布式事物问题。我又一次在没有好好整理的问题上吃了亏，记录一下，还是长记性 ！！！

先看面试过程

面试官先是在纸上先画了这样一张图：



让我看这张图按照上面的流程走，有没有什么问题？面试官并没有直接说...]]></description><category></category></item><item><title><![CDATA[OAuth 2.0 的四种方式]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/89599590</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/89599590</guid><author>lamb7758</author><pubDate>Sat, 27 Apr 2019 11:39:17 +0800</pubDate><description><![CDATA[OAuth 2.0 是一种授权机制，主要用来颁发令牌（token）。

RFC 6749

OAuth 2.0 的标准是RFC 6749文件。该文件先解释了 OAuth 是什么。


OAuth 引入了一个授权层，用来分离两种不同的角色：客户端和资源所有者。......资源所有者同意以后，资源服务器可以向客户端颁发令牌。客户端通过令牌，去请求数据。


这段话的意思就是，OAuth 的核心就是...]]></description><category></category></item><item><title><![CDATA[CAP 定理的含义]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/89599513</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/89599513</guid><author>lamb7758</author><pubDate>Sat, 27 Apr 2019 11:34:09 +0800</pubDate><description><![CDATA[分布式系统（distributed system）正变得越来越重要，大型网站几乎都是分布式的。

分布式系统的最大难点，就是各个节点的状态如何同步。CAP 定理是这方面的基本定理，也是理解分布式系统的起点。

本文介绍该定理。它其实很好懂，而且是显而易见的。

一、分布式系统的三个指标



1998年，加州大学的计算机科学家 Eric Brewer 提出，分布式系统有三个指标。


Consis...]]></description><category></category></item><item><title><![CDATA[Redis 总结精讲 看一篇成高手系统-4]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/89434571</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/89434571</guid><author>lamb7758</author><pubDate>Sun, 21 Apr 2019 16:23:40 +0800</pubDate><description><![CDATA[本文围绕以下几点进行阐述
1、为什么使用redis
2、使用redis有什么缺点
3、单线程的redis为什么这么快
4、redis的数据类型，以及每种数据类型的使用场景
5、redis的过期策略以及内存淘汰机制
6、redis和数据库双写一致性问题
7、如何应对缓存穿透和缓存雪崩问题
8、如何解决redis的并发竞争问题

正文

1、为什么使用redis

分析:博主觉得在项目中使用redis...]]></description><category></category></item><item><title><![CDATA[OAuth 2.0 的四种方式]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/89235706</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/89235706</guid><author>lamb7758</author><pubDate>Fri, 12 Apr 2019 14:01:41 +0800</pubDate><description><![CDATA[RFC 6749

OAuth 2.0 的标准是RFC 6749文件。该文件先解释了 OAuth 是什么。


OAuth 引入了一个授权层，用来分离两种不同的角色：客户端和资源所有者。......资源所有者同意以后，资源服务器可以向客户端颁发令牌。客户端通过令牌，去请求数据。


这段话的意思就是，OAuth 的核心就是向第三方应用颁发令牌。然后，RFC 6749 接着写道：


（由于互联...]]></description><category></category></item><item><title><![CDATA[OAuth 2.0 的一个简单解释]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/89235147</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/89235147</guid><author>lamb7758</author><pubDate>Fri, 12 Apr 2019 13:55:28 +0800</pubDate><description><![CDATA[OAuth 2.0是目前最流行的授权机制，用来授权第三方应用，获取用户数据。

这个标准比较抽象，使用了很多术语，不容易理解。其实说起来并不复杂，下面我就通过一个简单的类比，帮助大家轻松理解，OAuth 2.0 到底是什么。

一、快递员问题

场景：我住在一个大型的居民小区，小区装有门禁系统，进入的时候需要输入密码。

需求：我经常网购和外卖，每天都有快递员来送货。我必须找到一个办法，让快递员通...]]></description><category></category></item><item><title><![CDATA[TCP—-SYN、ACK-、FIN、RST、PSH、URG-详解]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/89147474</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/89147474</guid><author>lamb7758</author><pubDate>Tue, 09 Apr 2019 14:39:35 +0800</pubDate><description><![CDATA[三次握手图



四次握手图





三次握手Three-way Handshake 
一个虚拟连接的建立是通过三次握手来实现的
1. (B) --&gt; [SYN] --&gt; (A)
假如服务器A和客户机B通讯. 当A要和B通信时，B首先向A发一个SYN (Synchronize) 标记的包，告诉A请求建立连接.
注意: 一个 SYN包就是仅SYN标记设为1的TCP包(参见TCP包头R...]]></description><category></category></item><item><title><![CDATA[TCP的几个状态 (SYN, FIN, ACK, PSH, RST, URG)]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/89145453</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/89145453</guid><author>lamb7758</author><pubDate>Tue, 09 Apr 2019 13:52:01 +0800</pubDate><description><![CDATA[在TCP层，有个FLAGS字段，这个字段有以下几个标识：SYN, FIN, ACK, PSH, RST, URG.

其中，对于我们日常的分析有用的就是前面的五个字段。

它们的含义是：

SYN表示建立连接，

FIN表示关闭连接，

ACK表示响应，

PSH表示有 DATA数据传输，

RST表示连接重置。

其中，ACK是可能与SYN，FIN等同时使用的，比如SYN和ACK可能同时为1，...]]></description><category></category></item><item><title><![CDATA[JVM内存模型]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/88884629</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/88884629</guid><author>lamb7758</author><pubDate>Fri, 29 Mar 2019 10:28:17 +0800</pubDate><description><![CDATA[JVM内存模型图



这张图中很直观的看到，程序计数器，jvm栈，native栈是线程私有的，堆是线程共有的。

1.堆（Heap）

是java虚拟机所管理的内存中最大的一块内存区域，也是被各个线程共享的内存区域，该内存区域存放了对象实例及数组（但不是所有的对象实例都在堆中）。其大小通过-Xms(最小值)和-Xmx(最大值)参数设置（最大最小值都要小于1G），前者为启动时申请的最小内存，默认...]]></description><category></category></item><item><title><![CDATA[什么是java OOM？如何分析及解决oom问题？]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/88862686</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/88862686</guid><author>lamb7758</author><pubDate>Thu, 28 Mar 2019 10:00:36 +0800</pubDate><description><![CDATA[**
1）什么是OOM？
**
OOM，全称“Out Of Memory”，翻译成中文就是“内存用完了”，来源于java.lang.OutOfMemoryError。看下关于的官方说明： Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more me...]]></description><category></category></item><item><title><![CDATA[MariaDB字符编码修改]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/88420319</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/88420319</guid><author>lamb7758</author><pubDate>Tue, 12 Mar 2019 14:33:02 +0800</pubDate><description><![CDATA[MariaDB是什么？就是mysql的分支，按照mysql使用就可以的。其他这里不在赘述。只说一下修改编码的问题。
前提，MariaDB已安装完成。
1.查看数据库字符编码
MariaDB [wordpress-db]&amp;gt; show variables like 'character%';
+--------------------------+------------------------...]]></description><category></category></item><item><title><![CDATA[Zookeeper集群部署和使用]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/88365180</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/88365180</guid><author>lamb7758</author><pubDate>Sat, 09 Mar 2019 13:46:33 +0800</pubDate><description><![CDATA[Zookeeper 由 Apache Hadoop 的 Zookeeper 子项目发展而来，Google Chubby的一个开源实现。ZooKeeper是一个分布式应用程序协调服务，提供的功能包括：配置管理，名字服务，提供分布式同步、队列管理、集群管理等。所有这些类型的服务都以分布式应用程序的某种形式使用。每次实施它们都需要做很多工作来修复不可避免的错误和竞争条件。由于难以实现这些类型的服务，应用...]]></description><category></category></item><item><title><![CDATA[nginx 添加http_ssl_module模块]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/86585223</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/86585223</guid><author>lamb7758</author><pubDate>Tue, 22 Jan 2019 09:33:50 +0800</pubDate><description><![CDATA[1.进入源文件目录
cd /usr/local/src/nginx-1.8.0

2.编译安装nginx时，已安装模块
[root@lamb ~]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.8.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 
built with Op...]]></description><category></category></item><item><title><![CDATA[获取SSH登陆用户的IP地址]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/82755447</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/82755447</guid><author>lamb7758</author><pubDate>Tue, 18 Sep 2018 11:48:37 +0800</pubDate><description><![CDATA[
转自：https://blog.youkuaiyun.com/github_2011/article/details/60966976
一、找sshd进程
ps -ef|grep sshd
root      1693     1  0 Aug13 ?        00:00:00 /usr/sbin/sshd   #父进程号是1的是系统服务进程
root     12598  1693  2 14:59...]]></description><category></category></item><item><title><![CDATA[Linux上的字体安装（pdfbox把pdf转换成图片的时，invalid characters codes问题处理）]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/81460516</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/81460516</guid><author>lamb7758</author><pubDate>Mon, 06 Aug 2018 20:23:20 +0800</pubDate><description><![CDATA[在使用pdfbox把pdf转换成图片的时，出现以下 invalid characters codes问题的问题，经查为linux无引用的字体导致。



Windows下的.ttf字体与linux是兼容的！故可以将windows系统下面的字体（C:\Windows\Fonts）拷贝到linux上使用。具体操作如下：
1. 在/usr/share/fonts目录下建立一个子目录win：
    # ...]]></description><category></category></item><item><title><![CDATA[linux环境下安装nginx步骤]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/80461476</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/80461476</guid><author>lamb7758</author><pubDate>Sat, 26 May 2018 14:42:35 +0800</pubDate><description><![CDATA[安装准备开始前，请确认gcc g++开发类库是否装好，默认已经安装。ububtu平台编译环境可以使用以下指令apt-get install build-essentialapt-get install libtoolcentos平台编译环境使用如下指令　安装make：yum -y install gcc automake autoconf libtool make　　安装g++:yum insta...]]></description><category></category></item><item><title><![CDATA[好好耕耘 redis和memcached的区别（总结）]]></title><link>https://blog.youkuaiyun.com/lamb7758/article/details/80461434</link><guid>https://blog.youkuaiyun.com/lamb7758/article/details/80461434</guid><author>lamb7758</author><pubDate>Sat, 26 May 2018 14:13:29 +0800</pubDate><description><![CDATA[观点一：1、Redis和Memcache都是将数据存放在内存中，都是内存数据库。不过memcache还可用于缓存其他东西，例如图片、视频等等；2、Redis不仅仅支持简单的k/v类型的数据，同时还提供list，set，hash等数据结构的存储；3、虚拟内存--Redis当物理内存用完时，可以将一些很久没用到的value 交换到磁盘；4、过期策略--memcache在set时就指定，例如set ke...]]></description><category></category></item></channel></rss>