<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sinat_38281141的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sinat_38281141</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sinat_38281141]]></copyright><item><title><![CDATA[mysql乐观锁+自旋]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/116298039</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/116298039</guid><author>sinat_38281141</author><pubDate>Fri, 30 Apr 2021 11:19:00 +0800</pubDate><description><![CDATA[使用 MySQL 5.7 做测试，数据库引擎为 InnoDB，数据库隔离级别为可重复读（REPEATABLE-READ），读读共享，读写互斥。在这个隔离级别下，在多事务并发的情况下，还是会出现数据更新的冲突问题。

先分析一下更新冲突的问题是如何产生的。

假设我们有一张销量表goods_sale，表结构如下：

字段
			数据类型
			说明
		goods_sale_id
			varchar(32)
			销量 id
		goods_id
			varchar(32)
			商品 id
		co..]]></description><category></category></item><item><title><![CDATA[JVM GC]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/113743655</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/113743655</guid><author>sinat_38281141</author><pubDate>Sun, 07 Feb 2021 16:46:34 +0800</pubDate><description><![CDATA[日前查看某个程序的日志，发现一直在报GC相关的信息，不确定这样的信息是代表正确还是不正确，所以正好借此机会再复习下GC相关的内容：

以其中一行为例来解读下日志信息：

[GC (Allocation Failure) [ParNew: 367523K-&gt;1293K(410432K), 0.0023988 secs] 522739K-&gt;156516K(1322496K), 0.0025301 secs] [Times: user=0.04 sys=0.00, real=0.01 secs]

.]]></description><category></category></item><item><title><![CDATA[geode]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/107209663</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/107209663</guid><author>sinat_38281141</author><pubDate>Wed, 08 Jul 2020 16:51:23 +0800</pubDate><description><![CDATA[铁总在用的高性能分布式缓存计算框架 Geode
什么是 Geode，有哪些特性
官网定义
Apache Geode 是一个数据管理平台，可在广泛分布的云架构中提供对数据密集型应用程序的实时、一致的访问。Geode 跨多个进程汇集内存、CPU、网络资源和可选的本地磁盘，以管理应用程序对象和行为。它使用动态复制和数据分区技术来实现高可用性、改进的性能、可伸缩性和容错性。除了作为分布式数据容器之外，Geode 还是一个内存数据管理系统，可提供可靠的异步事件通知和有保证的消息传递。

主要组件概念
locator：]]></description><category></category></item><item><title><![CDATA[linux 安装node]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/103280710</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/103280710</guid><author>sinat_38281141</author><pubDate>Wed, 27 Nov 2019 18:02:46 +0800</pubDate><description><![CDATA[网络上的资源、教程等等的非常的丰富，但是，有时候照着教程来走，依旧行不通，可能是时代的变更，技术的更新，导致已不可行；可能是，作者并没有从一个读者的角度出发，导致天马行空或者说倒序教程，等等原因。

安装之前


sudo su root #切换到root帐号
cd / #进入根目录
node -v #查看有无
npm -v #查看有无




安装之前

download

从 nodejs官网...]]></description><category></category></item><item><title><![CDATA[版本号比较]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/103255443</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/103255443</guid><author>sinat_38281141</author><pubDate>Tue, 26 Nov 2019 14:17:45 +0800</pubDate><description><![CDATA[public class CompareVersionUtil {
    /**
     * 版本号比较
     *
     * @param v1
     * @param v2
     * @return 0代表相等，1代表左边大，-1代表右边大
     * Utils.compareVersion("1.0.358_20180820090554","1.0.358_20...]]></description><category></category></item><item><title><![CDATA[mysql查找json的某个字段]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/102959586</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/102959586</guid><author>sinat_38281141</author><pubDate>Thu, 07 Nov 2019 17:36:01 +0800</pubDate><description><![CDATA[SELECT json_extract(字段名,'$.json结构') FROM 表名;
如果json里有双引号，那这样取出来的数据也带双引号，要去掉就使用REPLACE函数
例如：
ps_push_data表里的push_data字段存的数据为：{"carRenewalInfoVo":{"licence":"浙AF55Z0"},"code":"1","msg":"成功"}
使用sql


SEL...]]></description><category></category></item><item><title><![CDATA[linux搭建maven私服]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/102950424</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/102950424</guid><author>sinat_38281141</author><pubDate>Thu, 07 Nov 2019 11:30:03 +0800</pubDate><description><![CDATA[最近对接很多第三方，有些需要自己重新封装一层，很多jar包需要互相传来传去，索性搭个私服，方便大家。

网上看了不少文档，具体细节不再赘述，只说我遇到的问题。

一、安装jdk

nexus3.x需要JDK1.8支持，所以我们首先在Linux下面安装JDK1.8.

JDK下载地址：http://www.oracle.com/technetwork/cn/java/javase/downloads...]]></description><category></category></item><item><title><![CDATA[linux清理物理内存]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/101445633</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/101445633</guid><author>sinat_38281141</author><pubDate>Thu, 26 Sep 2019 15:11:20 +0800</pubDate><description><![CDATA[当在Linux下频繁存取文件后，物理内存会很快被用光，当程序结束后，内存不会被正常释放，而是一直作为caching

因此我们很有必要手动清理系统缓存释放内存。



我们在清理缓存前应该先

sync下

因为系统在操作的过程当中，会把你的操作到的文件资料先保存到buffer中去，因为怕你在操作的过程中因为断电等原因遗失数据，所以在你操作过程中会把文件资料先缓存。

所以我们在清理缓存先要先把...]]></description><category></category></item><item><title><![CDATA[nginx限制某个IP同一时间段的访问次数]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/98730185</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/98730185</guid><author>sinat_38281141</author><pubDate>Wed, 07 Aug 2019 10:28:17 +0800</pubDate><description><![CDATA[如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题，特别面对恶意的ddos攻击的时候。其中CC攻击（Challenge Collapsar）是DDOS（分布式拒绝服务）的一种，也是一种常见的网站攻击方法，攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包，造成对方服务器资源耗尽，一直到宕机崩溃。

cc攻击一般就是使用有限的ip数对服务器频繁发送数据来达到攻击的目的，nginx...]]></description><category></category></item><item><title><![CDATA[hashmap原理]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/94613772</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/94613772</guid><author>sinat_38281141</author><pubDate>Thu, 04 Jul 2019 13:59:14 +0800</pubDate><description><![CDATA[HashMap的工作原理是近年来常见的Java面试题。几乎每个Java程序员都知道HashMap，都知道哪里要用HashMap，知道HashTable和HashMap之间的区别，那么为何这道面试题如此特殊呢？是因为这道题考察的深度很深。这题经常出现在高级或中高级面试中。投资银行更喜欢问这个问题，甚至会要求你实现HashMap来考察你的编程能力。ConcurrentHashMap和其它同步集合的引入...]]></description><category></category></item><item><title><![CDATA[根据短链接获取长链接方法]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/92647966</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/92647966</guid><author>sinat_38281141</author><pubDate>Mon, 17 Jun 2019 16:34:48 +0800</pubDate><description><![CDATA[public static String  getLocationMethod(String reqUrl) {

    DefaultHttpClient httpclient = new DefaultHttpClient();

    String location = null;

    int responseCode = 0;

    try {

        final...]]></description><category></category></item><item><title><![CDATA[邮箱服务器搭建]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/90598375</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/90598375</guid><author>sinat_38281141</author><pubDate>Mon, 27 May 2019 11:05:20 +0800</pubDate><description><![CDATA[最近需要用到发邮件功能，奈何第三方邮件（腾讯、网易、雅虎、阿里）都有次数限制，超过限制会判定为垃圾邮件或者进行拦截。只能自己搭建邮件服务器，目前常规的做法是安装Postfix, Dovecot以及数据库，但是过程极其麻烦。本文使用国内开源ewomail搭建，亲测可用

前期准备

服务器一台：国内国外都行，但是需要开启25端口，内存1G以上，本文使用的是华为云服务器，需要开启25端口，直接拨打客服...]]></description><category></category></item><item><title><![CDATA[华为OBS、阿里云OSS文件图片上传下载]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/90167051</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/90167051</guid><author>sinat_38281141</author><pubDate>Mon, 13 May 2019 09:39:33 +0800</pubDate><description><![CDATA[package com.vulcan.controller.attachment;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.obs.services.ObsClient;
import com.obs.services.exception.ObsException;...]]></description><category></category></item><item><title><![CDATA[后台管理系统之系统操作日志开发(Java实现)]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/89282442</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/89282442</guid><author>sinat_38281141</author><pubDate>Sat, 13 Apr 2019 14:44:51 +0800</pubDate><description><![CDATA[一，功能点

实现管理员操作数据的记录。效果如下

二，代码实现

基于注解的Aop日志记录

1.Log实体类


package com.vulcan.facade.operationlog.entity;

import lombok.Data;
import org.springframework.data.annotation.Id;

import javax.persistence....]]></description><category></category></item><item><title><![CDATA[重启gitlab ruby_block[supervise_redis_sleep] action run]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/88953849</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/88953849</guid><author>sinat_38281141</author><pubDate>Mon, 01 Apr 2019 18:09:02 +0800</pubDate><description><![CDATA[在卸载gitlab然后再次安装执行sudo gitlab-ctl reconfigure的时候往往会出现：ruby_block[supervise_redis_sleep] action run，会一直卡无法往下进行！

解决方案：

1、按住CTRL+C强制结束；

2、运行：sudo systemctl restart gitlab-runsvdir；

3、再次执行：sudo gitlab-...]]></description><category></category></item><item><title><![CDATA[centos 7 64bit 安装gitlab]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/88953812</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/88953812</guid><author>sinat_38281141</author><pubDate>Mon, 01 Apr 2019 18:08:21 +0800</pubDate><description><![CDATA[1. 安装依赖软件

yum -y install policycoreutils openssh-server openssh-clients postfix

2.设置postfix开机自启，并启动，postfix支持gitlab发信功能

systemctl enable postfix &amp;&amp; systemctl start postfix

3.下载gitlab安装包，然后...]]></description><category></category></item><item><title><![CDATA[POI 设置Excel样式（转）]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/87348979</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/87348979</guid><author>sinat_38281141</author><pubDate>Fri, 15 Feb 2019 11:22:13 +0800</pubDate><description><![CDATA[POI 设置Excel样式

POI 设置Excel样式


POI中可能会用到一些需要设置EXCEL单元格格式的操作小结：
先获取工作薄对象:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFCellStyle setBorder = wb.createCellStyle();
一、设置背...]]></description><category></category></item><item><title><![CDATA[面试]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/87096148</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/87096148</guid><author>sinat_38281141</author><pubDate>Tue, 12 Feb 2019 16:20:08 +0800</pubDate><description><![CDATA[本人最近几年一直在做java后端方面的技术面试官，而在最近两周，又密集了面试了一些java初级和高级开发的候选人，在面试过程中，我自认为比较慎重，遇到问题回答不好的候选人，我总会再三从不同方面提问，只有当反复确认能力不行才会下结论，相反，如果候选人给我的印象不错，我也会从多个角度来衡量，以免招进会说但不会干活的“大忽悠”。

    其实倒也不是我故意要为难候选人，毕竟入职后就是同事，但面试官的职...]]></description><category></category></item><item><title><![CDATA[spring cloud主要组件详解]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/86520464</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/86520464</guid><author>sinat_38281141</author><pubDate>Thu, 17 Jan 2019 11:06:03 +0800</pubDate><description><![CDATA[概述

毫无疑问，Spring Cloud是目前微服务架构领域的翘楚，无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面，其底层的很多原理，很多人可能并不知晓。因此本文将通过大量的手绘图，给大家谈谈Spring Cloud微服务架构的底层原理。
实际上，Spring Cloud是一个全家桶式的技术栈，包含了很多组件。本文先从其最核心的几个组件入手，来剖析...]]></description><category></category></item><item><title><![CDATA[查看文章 mysql:表注释和字段注释]]></title><link>https://blog.youkuaiyun.com/sinat_38281141/article/details/83347937</link><guid>https://blog.youkuaiyun.com/sinat_38281141/article/details/83347937</guid><author>sinat_38281141</author><pubDate>Wed, 24 Oct 2018 17:47:37 +0800</pubDate><description><![CDATA[1 创建表的时候写注释

create table test1

(

    field_name int comment '字段的注释'

)comment='表的注释';

 

2 修改表的注释

alter table test1 comment '修改后的表的注释';

 

3 修改字段的注释

alter table test1 modify column field_name i...]]></description><category></category></item></channel></rss>