<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[As097的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/As097</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; As097]]></copyright><item><title><![CDATA[利用&&优化if判断写法]]></title><link>https://blog.youkuaiyun.com/As097/article/details/125372037</link><guid>https://blog.youkuaiyun.com/As097/article/details/125372037</guid><author>As097</author><pubDate>Mon, 20 Jun 2022 14:21:37 +0800</pubDate><description><![CDATA[利用&&减少if判断]]></description><category></category></item><item><title><![CDATA[Windows无残留窗口快速启停redis]]></title><link>https://blog.youkuaiyun.com/As097/article/details/123361795</link><guid>https://blog.youkuaiyun.com/As097/article/details/123361795</guid><author>As097</author><pubDate>Tue, 08 Mar 2022 20:21:11 +0800</pubDate><description><![CDATA[适用于减少开启窗口数量过多场景。
常规redis启动残留窗口

解决
1. 设置redis作为Windows服务（未配置环境须在redis安装目录下）

2. 创建快速启动、关闭redis的bat文件

启动：
::进入D盘
d:
::进入redis目录    这里是自己的redis目录
cd D:\Program\Redis
::启动服务
redis-server --service-start

关闭：
::进入D盘
d:
::进入redis目录    这里是自己的redis目录
cd D:\Progr]]></description><category></category></item><item><title><![CDATA[MySQL查表数据，更改某些字段后，重新插入当前表中]]></title><link>https://blog.youkuaiyun.com/As097/article/details/122216347</link><guid>https://blog.youkuaiyun.com/As097/article/details/122216347</guid><author>As097</author><pubDate>Wed, 29 Dec 2021 15:26:46 +0800</pubDate><description><![CDATA[MySQL查表数据，更改某些字段后，重新插入当前表中]]></description><category></category></item><item><title><![CDATA[All elements are null：redis操作geo返回List＜Point＞集合size=1，但实际为null]]></title><link>https://blog.youkuaiyun.com/As097/article/details/121603756</link><guid>https://blog.youkuaiyun.com/As097/article/details/121603756</guid><author>As097</author><pubDate>Mon, 29 Nov 2021 10:55:12 +0800</pubDate><description><![CDATA[前提:使用redis保存经纬度坐标，判断redis中是否存在该坐标时，发现一直判断存在，导致无法存储坐标。
问题代码
//存储redis:查询redis中是否存在该坐标
//member存储经纬度，格式：[经度，纬度]
String member = "["+geoLocation.getLongitude()+","+geoLocation.getLatitude()+"]";
//geoKey可以看作整个经纬度集合的key
List&lt;Point&gt; points = redisGeoUtils]]></description><category></category></item><item><title><![CDATA[springboot配置外部访问静态资源404踩坑记录]]></title><link>https://blog.youkuaiyun.com/As097/article/details/121524095</link><guid>https://blog.youkuaiyun.com/As097/article/details/121524095</guid><author>As097</author><pubDate>Wed, 24 Nov 2021 20:43:51 +0800</pubDate><description><![CDATA[springboot配置静态资源404踩坑记录原因springboot配置外部静态资源后端jar包目录资源文件目录访问路径404原因解决
原因
外部静态资源目录文件没有创建，而先启动jar包，导致扫描不出外部静态资源文件出现404。
springboot配置外部静态资源
spring:
	  web:
	    resources:
	      static-locations: file:${user.dir}/myStatic/

后端jar包目录

资源文件目录
注意：yml配置外部静态资源mySt]]></description><category></category></item><item><title><![CDATA[Redis缓存复杂对象解决办法]]></title><link>https://blog.youkuaiyun.com/As097/article/details/115448710</link><guid>https://blog.youkuaiyun.com/As097/article/details/115448710</guid><author>As097</author><pubDate>Mon, 05 Apr 2021 21:29:38 +0800</pubDate><description><![CDATA[概述
redis缓存简单对象很容易，但对于复杂对象，如果想和简单对象一样，直接将复杂对象转成JSON字符串，那很容易出现cannot be cast to java.XXX.XXX，也就是ClassCastException类型转换异常，或者是该复杂对象从redis中取出后，直接通过含有@RestController注解的Controller返回给前端，那么前端接收后会出现大量反斜杠。
这一问题在开发WHITE’S时，就时常出现，看到网上也没有什么很好的解决办法，所以我写一下自己的解决办法。
例如：使用my]]></description><category></category></item><item><title><![CDATA[CAS如何实现原子性与ABA问题]]></title><link>https://blog.youkuaiyun.com/As097/article/details/114003802</link><guid>https://blog.youkuaiyun.com/As097/article/details/114003802</guid><author>As097</author><pubDate>Tue, 23 Feb 2021 21:46:50 +0800</pubDate><description><![CDATA[CAS（Compare and Swap）
CAS 全称是 compare and swap(比较并且交换)，是一种用于在多线程环境下实现同步功能的机制，其也是无锁优化，或者叫自旋，还有自适应自旋（说法不算准确，底层还是存在锁，后面会讲）。
由java到汇编来看CAS底层实现
//以AtomicInteger类的compareAndSet方法举例。

//其源码：
    //update与旧值一致，则用expect替换旧值
    public final boolean compareAndSet(in]]></description><category></category></item><item><title><![CDATA[写时复制：CopyOnWriteArrayList]]></title><link>https://blog.youkuaiyun.com/As097/article/details/114003717</link><guid>https://blog.youkuaiyun.com/As097/article/details/114003717</guid><author>As097</author><pubDate>Tue, 23 Feb 2021 21:44:05 +0800</pubDate><description><![CDATA[前情提要：首先提别感谢优快云博主（ThinkWon）的文章：https://blog.youkuaiyun.com/ThinkWon/article/details/102508258，让我更加理解CopyOnWriteArrayList的原理。本文也参考至该文。
CopyOnWriteArrayList
使用CopyOnWriteArrayList的前因后果


ArrayList是线程不安全的集合类，但由于它的效率高，所以使用的频率也很高。但它的效率是通过牺牲安全性换取，在多线程环境下，我们通常要保证使用的资源具]]></description><category></category></item><item><title><![CDATA[ThreadLocal源码分析及其常见问题]]></title><link>https://blog.youkuaiyun.com/As097/article/details/113871794</link><guid>https://blog.youkuaiyun.com/As097/article/details/113871794</guid><author>As097</author><pubDate>Fri, 19 Feb 2021 21:13:05 +0800</pubDate><description><![CDATA[参考博文：
https://blog.youkuaiyun.com/weixin_42126028/article/details/108345422
https://blog.youkuaiyun.com/zzg1229059735/article/details/82715741
ThreadLocal
ThreadLocal让线程拥有独立的可操作变量，各个不同线程之间不共享.
1. 证明ThreadLocal拥有独有变量
	public class ThreadLocalTest01 {
		//创建threadLocal
]]></description><category></category></item></channel></rss>