<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[TL_ATC的博客]]></title><description><![CDATA[世上只有10种人，一种懂2进制，一种不懂]]></description><link>https://blog.youkuaiyun.com/TL_ATC</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; TL_ATC]]></copyright><item><title><![CDATA[spring两种AOP的区别]]></title><link>https://blog.youkuaiyun.com/TL_ATC/article/details/125931019</link><guid>https://blog.youkuaiyun.com/TL_ATC/article/details/125931019</guid><author>TL_ATC</author><pubDate>Fri, 22 Jul 2022 14:05:58 +0800</pubDate><description><![CDATA[java动态代理是利用反射机制生成一个实现代理接口的匿名类，在调用具体方法前调用InvokeHandler来处理；
而cglib动态代理是利用asm开源包，对代理对象类的class文件加载进来，通过修改其字节码生成子类来处理。...]]></description><category></category></item><item><title><![CDATA[【转载】AtomicInteger原理分析]]></title><link>https://blog.youkuaiyun.com/TL_ATC/article/details/124809158</link><guid>https://blog.youkuaiyun.com/TL_ATC/article/details/124809158</guid><author>TL_ATC</author><pubDate>Mon, 16 May 2022 22:03:41 +0800</pubDate><description><![CDATA[本文转载自AtomicInteger原理分析


        
                
                  前言 
AtomicInteger的本质：自旋锁+CAS原子操作 
&nbsp; 
1. 源码分析 
public class AtomicInteger extends Number implements java.io.Serializable {    private static final long serialVersionUID = 62147902434.]]></description><category></category></item><item><title><![CDATA[配置Nginx的防盗链，实现网站资源防盗]]></title><link>https://blog.youkuaiyun.com/TL_ATC/article/details/123688216</link><guid>https://blog.youkuaiyun.com/TL_ATC/article/details/123688216</guid><author>TL_ATC</author><pubDate>Thu, 24 Mar 2022 14:44:12 +0800</pubDate><description><![CDATA[文章目录前言一、配置防盗链之前的效果二、配置Nginx的防盗链1. 修改nginx配置2、修改后效果三、说明总结

前言
  在项目中，经常会有不想让本站点的静态资源被他人盗取访问的需求。比如网站中的图片，前端加载的一些js文件等。此时，就可以配置nginx的防盗链来实现网站资源的防盗。
　　当然，此方案的前提是前端资源的访问是经过nginx的。

一、配置防盗链之前的效果
1、访问站点，是可以正常加载背景图的，也可以正常加载js


2、将图片和js地址拷贝到浏览器中访问，也是可以正常访问的
xxx
二、]]></description><category></category></item><item><title><![CDATA[主线程中delete数据，子线程中select发现数据没变]]></title><link>https://blog.youkuaiyun.com/TL_ATC/article/details/123183921</link><guid>https://blog.youkuaiyun.com/TL_ATC/article/details/123183921</guid><author>TL_ATC</author><pubDate>Tue, 01 Mar 2022 11:53:48 +0800</pubDate><description><![CDATA[项目场景：
  曾经有个项目，使用的是mysql数据库，innoDB引擎，默认的RR事务隔离级别。在项目中有个功能，需要从A表中删除一些数据，然后在B表中更新目前A表的实时数据条数。
　　出于性能考虑，另开了多个线程删除A表，等A表操作完后，主线程再更新B表。
　　
　　伪代码如下：
public void method() {
	// 从A表中删除一些数据
	deleteByMultiThread();
	// 更新表B
	updateB();
}

public void updateB(){
	// ]]></description><category></category></item><item><title><![CDATA[如何实现mq生产者消息的可靠性投递]]></title><link>https://blog.youkuaiyun.com/TL_ATC/article/details/52684516</link><guid>https://blog.youkuaiyun.com/TL_ATC/article/details/52684516</guid><author>TL_ATC</author><pubDate>Tue, 26 Jan 2021 21:05:49 +0800</pubDate><description><![CDATA[欢迎使用Markdown编辑器写博客

本Markdown编辑器使用StackEdit修改而来，用它写博客，将会带来全新的体验哦：


Markdown和扩展Markdown简洁的语法
代码块高亮
图片链接和图片上传
LaTex数学公式
UML序列图和流程图
离线写博客
导入导出Markdown文件
丰富的快捷键






快捷键


加粗    Ctrl + B 
斜体    Ctrl + I]]></description><category></category></item><item><title><![CDATA[接口安全设计：使用token+sign+时间戳，防止中间人和dos攻击]]></title><link>https://blog.youkuaiyun.com/TL_ATC/article/details/113092201</link><guid>https://blog.youkuaiyun.com/TL_ATC/article/details/113092201</guid><author>TL_ATC</author><pubDate>Sun, 24 Jan 2021 16:49:28 +0800</pubDate><description><![CDATA[在代码层面，对接口进行安全设计一、使用token进行用户身份认证二、使用sign防止传入参数被篡改三、用时间戳防止暴力请求
一、使用token进行用户身份认证
用户身份认证的流程图如下：

具体说明如下：
1、用户登录时，客户端请求接口，传入用户名和密文的密码
2、后台服务对用户身份进行验证。若验证失败，则返回错误结果；若验证通过，则生成一个随机不重复的token，并将其存储在redis中，设置一个过期时间。其中，redis的key为token，value为验证通过后获得的用户信息
3、用户身份校验通过后，]]></description><category></category></item><item><title><![CDATA[项目中，如何防止重复提交（保证接口幂等）]]></title><link>https://blog.youkuaiyun.com/TL_ATC/article/details/109902041</link><guid>https://blog.youkuaiyun.com/TL_ATC/article/details/109902041</guid><author>TL_ATC</author><pubDate>Sat, 21 Nov 2020 17:53:36 +0800</pubDate><description><![CDATA[处理重复提交的请求：
1、前端控制
2、接口幂等性
3、数据库锁]]></description><category></category></item><item><title><![CDATA[Spring父子容器关系引发的小问题 ——用@Value取值时失败]]></title><link>https://blog.youkuaiyun.com/TL_ATC/article/details/88798569</link><guid>https://blog.youkuaiyun.com/TL_ATC/article/details/88798569</guid><author>TL_ATC</author><pubDate>Mon, 25 Mar 2019 17:00:53 +0800</pubDate><description><![CDATA[  在SpringMVC项目中使用@Value从配置文件中取值时，发现service层中可以正常取值，但controller层却无法取到期望值。
  最终发现是Spring父容器无法使用子容器的配置引起的。对配置文件的扫描配置到了spring配置文件中，在springMVC配置文件中没有。而对Controller层的扫描只配置到了springMVC配置文件中，因此无法用@Value从配置文件中取值...]]></description><category></category></item><item><title><![CDATA[LigerUI之Grid使用详解(一)——显示数据]]></title><link>https://blog.youkuaiyun.com/TL_ATC/article/details/53098005</link><guid>https://blog.youkuaiyun.com/TL_ATC/article/details/53098005</guid><author>TL_ATC</author><pubDate>Wed, 09 Nov 2016 11:41:24 +0800</pubDate><description><![CDATA[LigerUI之Grid使用详解(一)——显示数据
      在开发web信息管理系统时，使用Web前端框架可以帮助我们快速搭建一组风格统一的界面效果，而且能够解决大多数浏览器兼容问题，提升开发效率。比较常见的有extjs、easyui、MiniUI、JQuery UI、DWZ、LigerUI、QUI等等，这些框架中有国外的，有国内的，有收费的、也有开源免费的，他们有各自的优势，也有各自的不足。在这里给大家介绍Liger UI框架中一些常见组件的用法。]]></description><category></category></item></channel></rss>