<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xyfaneast的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xyfaneast</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xyfaneast]]></copyright><item><title><![CDATA[Json类型转换异常]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/138858880</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/138858880</guid><author>xyfaneast</author><pubDate>Tue, 14 May 2024 16:09:58 +0800</pubDate><description><![CDATA[大概率是因为  JSON.parseObject（a,A.class）  中 A 为泛型类，该代码执行一次，会导致JSON内部参数变化，导致其他地方调用 JSON.parseObject（a,B.class）  失败，其中B是非泛型类。，可以先获取 JSONObject  对象，再用key获取数据转换。JSON.parseObject  不能转换泛型类。]]></description><category></category></item><item><title><![CDATA[http请求调用RestTemplate和@FeignClient使用心得]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/109198016</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/109198016</guid><author>xyfaneast</author><pubDate>Wed, 21 Oct 2020 11:53:36 +0800</pubDate><description><![CDATA[一、RestTemplate

请求方法使用


public &lt;T&gt; ResponseEntity&lt;T&gt; exchange(String url, HttpMethod method, @Nullable HttpEntity&lt;?&gt; requestEntity,
			ParameterizedTypeReference&lt;T&gt; responseType, Object... uriVariables) throws RestClientException {]]></description><category></category></item><item><title><![CDATA[Java中只有值传递说明]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/106930852</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/106930852</guid><author>xyfaneast</author><pubDate>Tue, 23 Jun 2020 19:56:47 +0800</pubDate><description><![CDATA[参考：http://hollischuang.gitee.io/tobetopjavaer/#/basics/object-oriented/why-pass-by-reference

Java对象的传递，是通过复制的方式把引用关系传递了，如果我们没有改引用关系，而是找到引用的地址，把里面的内容改了，是会对调用方有影响的，因为大家指向的是同一个共享对象。

Java中的对象传递，如果是修改引用，是不会对原来的对象有任何影响的，但是如果直接修改共享对象的属性的值，是会对原来的对象有影响的。


public]]></description><category></category></item><item><title><![CDATA[IDEA添加实时模板]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/106922256</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/106922256</guid><author>xyfaneast</author><pubDate>Tue, 23 Jun 2020 14:09:36 +0800</pubDate><description><![CDATA[在添加新的实时模板之后，你需要在对话框底部指定合适的上下文。你需要选择Java → Other，然后定义缩写、描述和实际的模板代码。

特殊的变量$END$指定在使用模板之后的光标位置，所以你可以直接在这个位置上打字。

提示：你应该开启"Add unambiguous imports on the fly"（自动添加明确的导入）选项，便于让IDEA自动添加java.util.stream.Collectors的导入语句。选项在Editor → General → Auto Import中。
...]]></description><category></category></item><item><title><![CDATA[RabbitMQ多数据源使用]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/106276478</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/106276478</guid><author>xyfaneast</author><pubDate>Fri, 22 May 2020 11:33:57 +0800</pubDate><description><![CDATA[&lt;!-- rabbitMQ多集群包引用 --&gt;
&lt;dependencies&gt;
    &lt;dependency&gt;
        &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
        &lt;artifactId&gt;spring-boot-starter-amqp&lt;/artifactId&gt;
		&lt;version&gt;2.0.3&lt;/version&gt;
    &...]]></description><category></category></item><item><title><![CDATA[spring.factories文件作用]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/106157327</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/106157327</guid><author>xyfaneast</author><pubDate>Sat, 16 May 2020 12:27:11 +0800</pubDate><description><![CDATA[1、在spring-boot项目中pom文件里面添加的依赖中的bean需要注册到spring-boot项目的spring容器中

由于@ComponentScan注解只能扫描spring-boot项目包内的bean并注册到spring容器中，因此需要@EnableAutoConfiguration注解来注册项目包外的bean。而spring.factories文件，可用来记录项目包外需要注册的bean类名。

参考链接：https://blog.youkuaiyun.com/SkyeBeFreeman/article/]]></description><category></category></item><item><title><![CDATA[分布式事务介绍及解决方案]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/106042683</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/106042683</guid><author>xyfaneast</author><pubDate>Sun, 10 May 2020 22:07:07 +0800</pubDate><description><![CDATA[一、数据库事务

四大特性: ACID
1、Atomic原子性事务的整个操作是一个整体, 不可分割,要么全部成功,要么全部失败
2、Consistency一致性 指系统从一个正确的状态,迁移到另一个正确的状态
3、Isolation隔离性保证事务不受其他并发执行的事务的影响。
隔离性又分为四个级别：隔离级别介绍 https://www.cnblogs.com/EasyLive2006/p/7623863.html
读未提交(read uncommitted)、
读已提交(re...]]></description><category></category></item><item><title><![CDATA[springboot集成swagger定义属性时注意]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/106020069</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/106020069</guid><author>xyfaneast</author><pubDate>Sun, 10 May 2020 16:00:35 +0800</pubDate><description><![CDATA[一般用jackson序列化请求和响应。

jackson2对pojo类型序列化的处理：

Jackson2在初始化序列器时，对pojo类型对象会收集其属性信息，属性包括成员变量及方法，然后属性名称和处理过后的方法名称做为key保存到一个LinkedHashMap中。收集过程中会调用com.fasterxml.jackson.databind.util.BeanUtil中的legacyManglePropertyName方法用来处理方法名称，它会将get/set方法前缀，即get或set去掉，并将其后面的连续]]></description><category></category></item><item><title><![CDATA[fastjson处理包含转义字符的JSON]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105975158</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105975158</guid><author>xyfaneast</author><pubDate>Thu, 07 May 2020 16:19:20 +0800</pubDate><description><![CDATA[处理如下
public static void main(String[] args) {
    HashMap&lt;String, String&gt; stringStringHashMap = new HashMap&lt;&gt;();
    stringStringHashMap.put("a","b");
    stringStringHashMap.put("c","d")...]]></description><category></category></item><item><title><![CDATA[关于数据库跨库查询的理解]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105878981</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105878981</guid><author>xyfaneast</author><pubDate>Fri, 01 May 2020 16:47:13 +0800</pubDate><description><![CDATA[原来项目中没有用到跨库查询，但在Navicat中使用过，当时没有在意。最近同事问是否可以跨库查询，就想项目中配置了连接池，也指定了库名，当时以为只能查询当前库的，后来又想工具中可以用，代码中应该也可以用。

一、如果是同一个数据库下的不同库

1、直接查询表名前加上库名，如：库名.表名

2、数据库账号一定要有访问两个数据库的权限

跨库查询的原因分析：项目启动时建立数据库连接池是指定了用户名、密...]]></description><category></category></item><item><title><![CDATA[mysql的事务]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105620147</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105620147</guid><author>xyfaneast</author><pubDate>Sun, 19 Apr 2020 18:59:20 +0800</pubDate><description><![CDATA[1．事务的特性ACID

1）原子性（Atomicity）原子性是指事务是一个不可分割的工作单位，事务中的操作要么都发生，要么都不发生。

2）一致性（Consistency）一个事务中，事务前后数据的完整性必须保持一致。指系统从一个正确的状态,迁移到另一个正确的状态

3）隔离性（Isolation）多个事务，事务的隔离性是指多个用户并发访问数据库时， 一个用户的事务不能被其它用户的事务所干扰...]]></description><category></category></item><item><title><![CDATA[C#与.Net]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105612958</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105612958</guid><author>xyfaneast</author><pubDate>Sun, 19 Apr 2020 12:12:21 +0800</pubDate><description><![CDATA[1、C#与.Net的关系

谈到C#，不得不提.Net，Microsoft .NET Framework是微软的一套框架。
从XP的1.0版，到Win7的3.5版，到了Win8和Win8.1已经4.5和4.5.1版本了，win10是4.6版本的。
.NET Framework引入了"基于证据的安全"的概念。
.NET Framework 的目的就是要让建立Web Services 以及因特网应用程...]]></description><category></category></item><item><title><![CDATA[IDEA报错Unable to import maven project]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105612871</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105612871</guid><author>xyfaneast</author><pubDate>Sun, 19 Apr 2020 12:05:15 +0800</pubDate><description><![CDATA[如果maven的版本比IDEA支持的高，会导致无法下载包，报错如下

IDEA Unable to import maven project: See logs for details

解决;安装低版本的maven即可
]]></description><category></category></item><item><title><![CDATA[IDEA中新打开工程时设置]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105612781</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105612781</guid><author>xyfaneast</author><pubDate>Sun, 19 Apr 2020 12:00:46 +0800</pubDate><description><![CDATA[新打开工程即IDEA已装好，JDK、Git、Maven、快捷键等已设置好，然后打开新的Java工程时

新打开project设置（每个新工程需要单独设置的地方）

1、maven



2、编码



3、IDEA自动生成序列化ID

File -&gt; Settings -&gt; Editor -&gt; Inspections -&gt; 搜索Serialization issues ，...]]></description><category></category></item><item><title><![CDATA[IDEA读取工程同级目录下的配置文件时报错找不到文件解决（在eclipse中可以正常运行）]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105612577</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105612577</guid><author>xyfaneast</author><pubDate>Sun, 19 Apr 2020 11:49:15 +0800</pubDate><description><![CDATA[工程目录结构如下：



报错找不配置文件

文件读取方式如下图：





解决如下图：






]]></description><category></category></item><item><title><![CDATA[IDEA基本设置及常用插件]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105612543</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105612543</guid><author>xyfaneast</author><pubDate>Sun, 19 Apr 2020 11:48:00 +0800</pubDate><description><![CDATA[代码区字体及大小设置



控制台字体大小



菜单区域字体大小设置





编辑器快捷键设置



代码自动提示第一个字母大小写必须匹配的解决

Editor=&gt;Code Completion里把Case sensitive completion设置为None就可以了



idea设置main()方法快捷键：https://blog.youkuaiyun.com/weixin_398001...]]></description><category></category></item><item><title><![CDATA[NIO的buffer使用]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105349008</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105349008</guid><author>xyfaneast</author><pubDate>Mon, 06 Apr 2020 18:52:31 +0800</pubDate><description><![CDATA[Buffer 有三个属性:


	capacity
	
	
	position
	
	
	limit
	
capacity是分配时确定的，是一个常量；position和limit的含义与 Buffer 处于读模式或写模式有关,

写模式时，position是当前已写到的位置，limit是最大可写到的位置

读模式时，position是当前已读到的位置，limit是最大可读到的位置

limi...]]></description><category></category></item><item><title><![CDATA[项目自定义RPC服务实现主要流程]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105348981</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105348981</guid><author>xyfaneast</author><pubDate>Mon, 06 Apr 2020 18:50:39 +0800</pubDate><description><![CDATA[服务提供方

服务端启动服务及处理逻辑
1、启动加载配置
2、初始化服务端的提供服务的对象
3、启动netty服务端（添加编解码及服务端处理handler）
4、将服务注册到zookeeper中，会创建服务节点，临时子节点，子节点放提供服务的地址
5、服务端收到请求后，根据请求找到提供服务的对象。
6、通过cglib动态代理调用对应的方法
7、给客户端响应，并在完成后关闭连接

1、spring启...]]></description><category></category></item><item><title><![CDATA[Jetty嵌入式开发及参数设置]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105348939</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105348939</guid><author>xyfaneast</author><pubDate>Mon, 06 Apr 2020 18:48:40 +0800</pubDate><description><![CDATA[Jetty嵌入式开发

嵌入Jetty服务，通常执行下面的步骤：

 1）创建一个服务

   2）添加和配置服务器线程池

 3）添加和配置处理器

 4）添加和配置Servlet、Webapp到处理器

   5）添加和配置连接器

 6）启动服务

 7）等待（join服务防止主线程退出）

Jetty参数设置

线...]]></description><category></category></item><item><title><![CDATA[深入浅出Java多线程-第十章 CAS与原子操作-学习]]></title><link>https://blog.youkuaiyun.com/xyfaneast/article/details/105335238</link><guid>https://blog.youkuaiyun.com/xyfaneast/article/details/105335238</guid><author>xyfaneast</author><pubDate>Sun, 05 Apr 2020 22:36:06 +0800</pubDate><description><![CDATA[CAS的全称是：比较并交换（Compare And Swap）。在CAS中，有这样三个值：
V：要更新的变量(var)
E：预期值(expected)
N：新值(new)
比较并交换的过程如下：
判断V是否等于E，如果等于，将V的值设置为N；如果不等，说明已经有其它线程更新了V，则当前线程放弃更新，什么都不做。
所以这里的预期值E本质上指的是“旧值”。

CAS实现原子操作的三大问题
ABA问题：...]]></description><category></category></item></channel></rss>