<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jcmcom的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jcmcom</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jcmcom]]></copyright><item><title><![CDATA[git使用的shell脚本集合:一键切换分支,一键创建备份分支]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/131312701</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/131312701</guid><author>jcmcom</author><pubDate>Tue, 20 Jun 2023 18:03:08 +0800</pubDate><description><![CDATA[项目较多,需要手动操作较麻烦,故新增脚本操作。一键新建备份分支.sh。一键切换分支.sh。]]></description><category></category></item><item><title><![CDATA[统一设置VO中字段默认值工具类]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/128299139</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/128299139</guid><author>jcmcom</author><pubDate>Tue, 13 Dec 2022 11:19:36 +0800</pubDate><description><![CDATA[将VO中值为空的字符串字段,设置一个默认值]]></description><category></category></item><item><title><![CDATA[(接口反爬虫实战)前后端加密处理:AES加密算法]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/126832545</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/126832545</guid><author>jcmcom</author><pubDate>Tue, 13 Sep 2022 14:30:55 +0800</pubDate><description><![CDATA[前后端接口参数加密处理:AES加密算法]]></description><category></category></item><item><title><![CDATA[在异步线程中使用request的正确做法]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/126718426</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/126718426</guid><author>jcmcom</author><pubDate>Tue, 06 Sep 2022 09:46:28 +0800</pubDate><description><![CDATA[在异步线程中获取了request中的参数,然后下一个请求是get请求的话,会偶尔出现参数丢失的问题.在异步线程中使用request。提示没有传参数,实际传了.]]></description><category></category></item><item><title><![CDATA[mysql更新后变成科学记数,CONVERT函数解决]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/126509265</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/126509265</guid><author>jcmcom</author><pubDate>Wed, 24 Aug 2022 17:53:54 +0800</pubDate><description><![CDATA[mysql更新后变成科学记数,CONVERT函数解决]]></description><category></category></item><item><title><![CDATA[java修改Excel文件内容]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/125876780</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/125876780</guid><author>jcmcom</author><pubDate>Tue, 19 Jul 2022 17:53:13 +0800</pubDate><description><![CDATA[java修改excel内容]]></description><category></category></item><item><title><![CDATA[一键切换git分支]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/125805298</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/125805298</guid><author>jcmcom</author><pubDate>Fri, 15 Jul 2022 15:20:40 +0800</pubDate><description><![CDATA[git分支一键切换]]></description><category></category></item><item><title><![CDATA[Map排序工具类(正序,倒序)]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/120986765</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/120986765</guid><author>jcmcom</author><pubDate>Wed, 27 Oct 2021 09:51:44 +0800</pubDate><description><![CDATA[/**
 * map工具类
 *
 **/
public class MyMapUtils {


    /**
     * 根据map的key排序
     * @methodName orderByKey
     * @param map 原始map
     * @param isDesc 是否降序
     * @return java.util.Map&lt;K,V&gt;
     */
    public static &lt;K extends Comparable&lt;? su.]]></description><category></category></item><item><title><![CDATA[linux常用的自启动脚本设置(mysql,zookeeper, elasticsearch)]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/115233628</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/115233628</guid><author>jcmcom</author><pubDate>Fri, 26 Mar 2021 11:30:57 +0800</pubDate><description><![CDATA[背景:本地机房断电导致机器重启,一些常用服务无法使用,故在开发环境尝试配置启动脚本.reboot后服务正常启动了.

Ps:仅供参考学习使用



一.mysql的自启动

1.将服务文件复制一份到init.d下，并重命名为mysqld

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld


2.对文件赋予执行权限

chmod 777 /etc/init.d/mysqld


3.增加mysqld服务

chkconfi..]]></description><category></category></item><item><title><![CDATA[[小记] 按比例下发数据思路demo]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/113682590</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/113682590</guid><author>jcmcom</author><pubDate>Fri, 05 Feb 2021 10:38:30 +0800</pubDate><description><![CDATA[demo如下,如果是多个节点的服务,就相应替换为redis队列处理.


public static void main(String[] args) {
        /*
         *  测试按比例下发数据
         */
        int i = 1000000;//模拟请求次数
        int countA = 0;
        int countB = 0;
        int countC = 0;
        LinkedBlockingDeque ]]></description><category></category></item><item><title><![CDATA[【缓存】增删改数据时，更新缓存的正确姿势！]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/110135804</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/110135804</guid><author>jcmcom</author><pubDate>Wed, 25 Nov 2020 16:56:37 +0800</pubDate><description><![CDATA[public void updateCache() {
        // 没有开启事务，直接更新
        if (!TransactionSynchronizationManager.isSynchronizationActive()) {
            logger.info("&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;[未开启事务]&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;");
            // 异步更新缓存
 ..]]></description><category></category></item><item><title><![CDATA[【笔记】并发查询缓存工具类，自用]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/109736776</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/109736776</guid><author>jcmcom</author><pubDate>Tue, 17 Nov 2020 10:10:18 +0800</pubDate><description><![CDATA[package com.test.common.redis;

import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.gexin.fastjson.JSON;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.lang.reflect.ParameterizedType;
i.]]></description><category></category></item><item><title><![CDATA[【笔记】mysql的json类型的使用]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/108833759</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/108833759</guid><author>jcmcom</author><pubDate>Sun, 27 Sep 2020 18:37:50 +0800</pubDate><description><![CDATA[新增：


INSERT INTO test_json (
		json_value,
		create_time
	)
VALUES
	(
		'{"name":"limingming","age":15}',
		now()
	);

查询：


//查询全部json
SELECT
	json_value -&gt;&gt; '$' AS jsonValue
FROM
	test_json;

//查询json指定字段
SELECT
	json_value -&gt;&gt; '$.name' AS n]]></description><category></category></item><item><title><![CDATA[java中双基快速排序DualPivotQuicksort源码]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/108405075</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/108405075</guid><author>jcmcom</author><pubDate>Fri, 04 Sep 2020 15:35:48 +0800</pubDate><description><![CDATA[在1.7之后的版本中, Arrays.sort()方法在操作过程中实际调用的是DualPivotQuicksort类下的sort方法。



DualPivotQuicksort.sort()源码：


    /**
     * Sorts the specified range of the array using the given
     * workspace array slice if possible for merging
     *
     * @param a the arra]]></description><category></category></item><item><title><![CDATA[【小记】谷歌浏览器安装Axure插件，无需下载]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/108324929</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/108324929</guid><author>jcmcom</author><pubDate>Mon, 31 Aug 2020 17:03:21 +0800</pubDate><description><![CDATA[查找Axure在Chrome扩展插件

在Axure生成的HTML文件中找到“resources”文件夹--找到“chrome”文件夹--可以看到一个名为“axure-chrome-extension.crx”的文件，改文件即为Axure谷歌Chrome浏览器插件。



1.打开扩展程序页面



2.将文件拖到这个页面中

如果浏览器显示，程序包无效：“CRX_HEADER_INVALID”，

将后缀为 .crx 的插件文件 改名为后缀为 .zip 的文件。然后再拖到这页面就可以了。


...]]></description><category></category></item><item><title><![CDATA[【日常小记】BC比较软件的使用，cmd删除文件，文件夹存在空格时导致失败]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/108318117</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/108318117</guid><author>jcmcom</author><pubDate>Mon, 31 Aug 2020 14:00:55 +0800</pubDate><description><![CDATA[背景

刚好需要用到比较软件，但是需要pj。于是安装了BC

使用BC时，因为证书问题，需要30天删除缓存文件。于是写一个bat文件，通过定时任务去执行bat脚本，达到可以使用。写bat脚本时，运行出错。

原因

使用cmd命令行删除文件时，如果有文件夹有空格，那么路径就无法识别，导致失败。

解决方法

路径使用引号应用。如

del /f /s /q "C:\Users\xxx\AppData\Roaming\xxx xxx\*.*"



附录:

windows增加定时任务:

我的电脑--&g.]]></description><category></category></item><item><title><![CDATA[linux远程连接redis的步骤]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/107864929</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/107864929</guid><author>jcmcom</author><pubDate>Fri, 07 Aug 2020 16:25:13 +0800</pubDate><description><![CDATA[远程连接redis两个步骤：


1.redis-cli -h 连接地址 -p 端口


例如：redis-cli -h r-12345678.redis.rds.aliyuncs.com -p 6379


2.auth 密码


例如：auth test123456



PS:前提是装了redis-cli



PPS:记录一下，毕竟几乎不用命令行连接，都是用的可视化工具连接的。
...]]></description><category></category></item><item><title><![CDATA[java实现二维码生成demo]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/106758081</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/106758081</guid><author>jcmcom</author><pubDate>Mon, 15 Jun 2020 10:53:11 +0800</pubDate><description><![CDATA[1.pom文件引入：

&lt;!-- https://mvnrepository.com/artifact/com.google.zxing/core --&gt;
  &lt;dependency&gt;
    &lt;groupId&gt;com.google.zxing&lt;/groupId&gt;
    &lt;artifactId&gt;core&lt;/artifactId&gt;
    &lt;version&gt;3.3....]]></description><category></category></item><item><title><![CDATA[【笔记】接口幂等性]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/105950499</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/105950499</guid><author>jcmcom</author><pubDate>Wed, 06 May 2020 14:47:55 +0800</pubDate><description><![CDATA[概念

接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的，不会因为多次点击而产生了副作用。



那么如何设计接口才能做到幂等呢？常见的两种实现方案:

1. 通过代码逻辑判断实现：比如判断状态是否一致或者其它条件进行判断

2. 使用token机制实现：请求携带token,请求成功时首先执行删除redis中的token，

如果成功，说明请求是一致也就是只请求了一次，接...]]></description><category></category></item><item><title><![CDATA[mysql的函数GROUP_CONCAT,以及将结果集用map封装返回]]></title><link>https://blog.youkuaiyun.com/jcmcom/article/details/105188747</link><guid>https://blog.youkuaiyun.com/jcmcom/article/details/105188747</guid><author>jcmcom</author><pubDate>Sun, 29 Mar 2020 22:58:33 +0800</pubDate><description><![CDATA[GROUP_CONCAT把分组后的字段进行拼接;并且可以自定义分隔符号

例如:

名字相同的用户的id的结果以;分隔

SELECT name as 'name',GROUP_CONCAT(id SEPARATOR ';') as 'idStr' FROM user GROUP BY name



结果集用map去接收


service代码示例:

List&lt;Map&lt;Stri...]]></description><category></category></item></channel></rss>