<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[JavaSupeMan的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/JavaSupeMan</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; JavaSupeMan]]></copyright><item><title><![CDATA[Spring Bean生命周期（简洁易懂）]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/128922840</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/128922840</guid><author>JavaSupeMan</author><pubDate>Tue, 07 Feb 2023 17:40:37 +0800</pubDate><description><![CDATA[创建一个PersonBean，让它实现几个特殊的接口，我们来观察一下它的生命周期的流转。自定义了一个后处理器MyBeanPostProcessor。]]></description><category></category></item><item><title><![CDATA[ThreadLocal与nheritableThreadLocal的区别及使用]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/128614329</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/128614329</guid><author>JavaSupeMan</author><pubDate>Wed, 11 Jan 2023 09:33:48 +0800</pubDate><description><![CDATA[多线程环境中，共享变量的并发修改常常导致线程同步问题，ThreadLocal可以存储线程私有的本地变量，从而使线程之间的变量相互隔离因为ThreadLocal在线程执行的上下文可以传递变量的特性，所以可以很好的解决变量值传递问题：常见的web项目中，session需要在执行过程中进行传递，此时我们有两种选择每一个需要调用的方法，都增加session的入参使用ThreadLocal。]]></description><category></category></item><item><title><![CDATA[Jackson 自定义序列化器的使用]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/127922953</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/127922953</guid><author>JavaSupeMan</author><pubDate>Tue, 03 Jan 2023 10:23:26 +0800</pubDate><description><![CDATA[注意：从简单的例子去延伸使用，内容紧凑，排版就这样了哈
输出结果：
实现接口ContextualSerializer，判断类型然后返回具体的序列化器
但是使用的话会发现不能使用，是因为这个接口并没有实现JsonSerializer类

走起！
1.定义一个自定义注解：
2.使用

是不是更简洁了！]]></description><category></category></item><item><title><![CDATA[过滤器 和 拦截器的区别]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/126520589</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/126520589</guid><author>JavaSupeMan</author><pubDate>Thu, 25 Aug 2022 11:27:35 +0800</pubDate><description><![CDATA[Filert和拦截器的区别]]></description><category></category></item><item><title><![CDATA[Spring三级缓存原理]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/125620823</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/125620823</guid><author>JavaSupeMan</author><pubDate>Thu, 11 Aug 2022 09:24:06 +0800</pubDate><description><![CDATA[lambda表达式:作用是判断该对象是否AOP，存储普通对象还是代理对象。二级缓存:作用在于，不会多次创建出普通对象或者代理对象。]]></description><category></category></item><item><title><![CDATA[mysql-JPA对数据库中JSON类型数据的支持]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/125990369</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/125990369</guid><author>JavaSupeMan</author><pubDate>Tue, 26 Jul 2022 10:59:33 +0800</pubDate><description><![CDATA[代码】mysql-JPA对数据库中JSON类型数据的支持。]]></description><category></category></item><item><title><![CDATA[JVM详细解析]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/125643919</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/125643919</guid><author>JavaSupeMan</author><pubDate>Mon, 18 Jul 2022 15:18:22 +0800</pubDate><description><![CDATA[CPU（寄存器）记住jvm中下一条指令的执行地址。CPU中的寄存器来当作程序计数器。特点1.是线程私有的2.不会存在内存溢出栈线程运行时，需要的一个内存空间，由一个个栈帧组成，一个栈帧就对应着一个方法的调用，栈帧中主要存储着方法参数，局部变量，返回地址等信息。栈只对于线程是可见的。所以是线程私有，他的生命周期和线程相同。-Xss设置大小思考1.栈内存需要垃圾回收进行回收吗？答不需要，因为每次方法调用执行完毕后都会弹出栈，自动就释放了2.栈空间是否越大越好？答。...]]></description><category></category></item><item><title><![CDATA[poi-tl的使用（最全详解）]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/125654484</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/125654484</guid><author>JavaSupeMan</author><pubDate>Thu, 07 Jul 2022 14:03:32 +0800</pubDate><description><![CDATA[官网地址poi-tl，简单的说，就是通过一些标记，如{{text}},{{@image}}等，放到你指定的word模板里，然后去读取替换这些值，再输出填充数据后的word，可以做生成报表的功能
注意apache.poi版本要对应
二、准备工作
在D盘，自己创建两个文件夹，一个是用来存储模板文件，另一个是用来存储生成的文件
我这里是在D盘
D:\data\template    存放模板
D:\data\word    存放生成的文件注意，{{}}是官方指定的格式，可以查看官网，当然也可以自定义，这个后面来讲]]></description><category></category></item><item><title><![CDATA[MongDB学习笔记]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/125198882</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/125198882</guid><author>JavaSupeMan</author><pubDate>Tue, 05 Jul 2022 11:44:37 +0800</pubDate><description><![CDATA[是一种非关系型数据库,文档形式的存储
特点：文档数据库将数据以文档的形式存储，BSON格式，类似JSON，是一系列数据项的集合。每个数据项都有一个名称与对应的值，值既可以是简单的数据类型，如字符串/数字/日期等。也可以是复杂的类型。
==优点：==数据结构要求不严格，表结构可变，不需要像关系型数据库一样需要预先定义表结构
==缺点：==查询性能不高，缺乏统一的查询语法
应用场景：日志，web应用等
启动命令：
mongod --dbpath D:\MongDB\data\db



创建管理员账号
4.Mo]]></description><category></category></item><item><title><![CDATA[java下载文件接口]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/125391690</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/125391690</guid><author>JavaSupeMan</author><pubDate>Tue, 21 Jun 2022 15:20:19 +0800</pubDate><description><![CDATA[要注意，输出不同的文件类型，需要设置不同的请求头信息，常用的如下
IoUtil是hutool工具类，需要引入hutool依赖]]></description><category></category></item><item><title><![CDATA[JAVA-实现接入企业微信发送消息（最详细代码讲解!）]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/125281210</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/125281210</guid><author>JavaSupeMan</author><pubDate>Tue, 14 Jun 2022 17:10:33 +0800</pubDate><description><![CDATA[使用企业微信管理员登录到控制台
企业微信后台管理地址这个是每个企业独有的企业ID
agentId 相当于是应用ID，secret就理解成key
可以自己创建个应用，然后绑定到相关部门或者具体到人


知道这三个概念后，就可以通过SDK发送企业微信消息了
2.添加固定写法的代码
2.1.增加config类,自己新增个config包写到里面



2.2.增加builder类,自己新增个builder包写到里面


2.3 增加handle类，放在handler包下











2.4 增加表及实体类]]></description><category></category></item><item><title><![CDATA[hibernate之@FilterDef @Filter注解的使用]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/125179429</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/125179429</guid><author>JavaSupeMan</author><pubDate>Wed, 08 Jun 2022 10:35:56 +0800</pubDate><description><![CDATA[@FilterDef,@Filter]]></description><category></category></item><item><title><![CDATA[RabbitMQ学习笔记（下载安装，队列，交换机，死信队列，延迟队列，持久化，发布确认，集群）]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/123549996</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/123549996</guid><author>JavaSupeMan</author><pubDate>Thu, 07 Apr 2022 09:52:45 +0800</pubDate><description><![CDATA[一、RabbitMQ概念及作用

概念：是一个接收，存储，转发消息的中间件
（1）：生产者
（2）：交换机
（3）：队列
（4）：消费者
作用：
（1）流量削峰：
比如:订单系统，最大能处理一万次请求，但是在高峰期来了两万次，那么只能进行限制。如果使用消息队列，那么就可以取消掉这个限制，使用消息队列作缓冲。在用户端就是有的下单后就成功，有的过十几秒后收到成功下单信息，总比下单失败的体验好


（2）应用解耦
可以提高可用性，使用户感受不到故障

3.异步处理
比如A调B，B需要很长时间才能响应，那么就要采用]]></description><category></category></item><item><title><![CDATA[JSON转换问题最全详解（json转List，json转对象，json转JSONObject）]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/123919039</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/123919039</guid><author>JavaSupeMan</author><pubDate>Sat, 02 Apr 2022 15:06:36 +0800</pubDate><description><![CDATA[com.alibaba.fastjson包下相关方法
JSONObject相关：
1.json转JSONObject方法
 String json = "";
 JSONObject jsonObject = JSON.parseObject(json);

2.JSONObject转json方法
//使用方法
jsonObject.getString(key);

3.JSONObject转List
简单类型的：（json字段与接收字段一致的时候）
例：json：
{
	"count": 3,
	"ser]]></description><category></category></item><item><title><![CDATA[Nginx学习笔记（下载、安装、反向代理、负载均衡、高可用集群配置、原理）]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/123479312</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/123479312</guid><author>JavaSupeMan</author><pubDate>Thu, 17 Mar 2022 11:36:30 +0800</pubDate><description><![CDATA[一、nginx基本概念
（1）nginx是什么，做什么事情
Nginx是一个高性能的HTTP和反向代理服务器
特点：1.占用内存少，并发能力强，有报告声明最高达5万个连接数
2.具有很高的稳定性，其他的HTTP服务器遇到访问的峰值时，可能会导致服务器物理内存耗尽频繁切换，失去响应，只能重启服务器，但是Nginx采用了分阶段资源分配技术，使得它的CPU和内存占用率非常低，所以类似DOS这样的攻击对nginx来说基本上毫无用处。
3.无缓存的反向代理加速，简单的负载均衡和容错
4.模块化的架构
5.支持热部署，]]></description><category></category></item><item><title><![CDATA[SpringCloudAlibaba-----Nacos(最全学习笔记 单体--集群)]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/123353448</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/123353448</guid><author>JavaSupeMan</author><pubDate>Fri, 11 Mar 2022 14:23:27 +0800</pubDate><description><![CDATA[一、下载安装
进入官网，下载zip包，这里演示windows下的运行及启动
二、启动


进入bin目录，输入cmd，回车，然后执行命令startup.smd 命令进行启动。
启动成功后，在页面输入localhost:8848/nacos ，登录名和密码都是nacos
注意：这里可能会报错，下面是解决办法
错误1：db.num is null
解决方法：在本地mysql创建一个名为 nacos的数据库，然后执行 conf文件下的 nacos-mysql.sql文件。
修改application.proper]]></description><category></category></item><item><title><![CDATA[SpringSecurity学习第一讲（自定义配置类，登录逻辑）]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/121999000</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/121999000</guid><author>JavaSupeMan</author><pubDate>Fri, 24 Dec 2021 16:14:44 +0800</pubDate><description><![CDATA[入门
相关pom
 &lt;!--springsecurity相关依赖--&gt;
  		&lt;dependency&gt;
            &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
            &lt;artifactId&gt;spring-boot-starter-security&lt;/artifactId&gt;
        &lt;/dependency&gt;
		 &lt;dependency]]></description><category></category></item><item><title><![CDATA[postresql 常用sql语句（序列，字段，表相关）]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/121932238</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/121932238</guid><author>JavaSupeMan</author><pubDate>Thu, 23 Dec 2021 14:47:17 +0800</pubDate><description><![CDATA[新增，绑定，删除，查询序列
创建序列：
create sequence resource_security_rule_id_seq minvalue 1 maxvalue 99999999
increment by 1
start with 1;
绑定序列到字段上
alter table “public”.resource_security_rule alter column id set default
查看当前序列值
nextval(‘resource_security_rule_id_seq’)
删除]]></description><category></category></item><item><title><![CDATA[@RequiredArgsConstructor产生循环依赖问题 & 解决办法]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/121835983</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/121835983</guid><author>JavaSupeMan</author><pubDate>Thu, 09 Dec 2021 17:51:10 +0800</pubDate><description><![CDATA[@RequiredArgsConstructor
该注解是lombok提供的注解，作用是可以使用finanl注解注入bean

但是使用该注解会存在循环依赖的问题
解决方法：
1.改为@Autowired注解去注入bean，因为@Autowired注解本身就已经解决了循环依赖的问题
2.@RequiredArgsConstructor(onConstructor = @__(@Autowired))
这样写后，还可以用final的写法写，但是默认都是通过@Autowired注入的
3.@RequiredAr]]></description><category></category></item><item><title><![CDATA[配置Linux静态IP及xshell连接方法]]></title><link>https://blog.csdn.net/JavaSupeMan/article/details/121606215</link><guid>https://blog.csdn.net/JavaSupeMan/article/details/121606215</guid><author>JavaSupeMan</author><pubDate>Mon, 29 Nov 2021 11:57:52 +0800</pubDate><description><![CDATA[1.编辑
vi /etc/sysconfig/network-scripts/ifcfg-ens33

1.1  修改 BOOTPROTO=static
1.2  修改 ONBOOT=yes
1.3 增加 IPADDR,GATEWAY,DNS1的信息

2.重启网关
service network restart

3.永久关闭防火墙
查看防火状态
systemctl status firewalld
永久关闭防火墙
systemctl disable firewalld
永久关闭后重启
关闭 firewa]]></description><category></category></item></channel></rss>