<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[九天工作室]]></title><description><![CDATA[你好，欢迎学习交流]]></description><link>https://blog.youkuaiyun.com/yangxujia</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; yangxujia]]></copyright><item><title><![CDATA[2021-04-12]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/115625691</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/115625691</guid><author>yangxujia</author><pubDate>Mon, 12 Apr 2021 15:49:55 +0800</pubDate><description><![CDATA[前言

在实际工作中，经常由于设计不佳或者各种因素，导致类之间相互依赖。这些类可能单独使用时不会出问题，但是在使用Spring进行管理的时候可能就会抛出BeanCurrentlyInCreationException等异常 。当抛出这种异常时表示Spring解决不了该循环依赖，本文将简要说明Spring对于循环依赖的解决方法。

循环依赖的产生和解决的前提

循环依赖的产生可能有很多种情况，例如：

A的构造方法中依赖了B的实例对象，同时B的构造方法中依赖了A的实例对象
	A的构造方法中依赖了B的实例对象，]]></description><category></category></item><item><title><![CDATA[2020 CPU性能排行天梯图]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/111466767</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/111466767</guid><author>yangxujia</author><pubDate>Mon, 21 Dec 2020 08:50:04 +0800</pubDate><description><![CDATA[2020 CPU性能排行天梯图
排名	处理器	图例	分数
1	Intel Xeon Platinum 8173M @ 2.00GHz		28860
2	Intel Xeon Gold 6154 @ 3.00GHz		27789
3	Intel Core i9-7980XE @ 2.60GHz		27736
4	Intel Xeon W-2195 @ 2.30GHz		26470
5	Intel Core i9-7960X @ 2.80GHz		25515
6	Intel Xeon E5-2679 v4 @ ]]></description><category></category></item><item><title><![CDATA[幂等性总结]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/105215231</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/105215231</guid><author>yangxujia</author><pubDate>Tue, 31 Mar 2020 10:10:09 +0800</pubDate><description><![CDATA[一、概念：

幂等的的意思就是一个操作不会修改状态信息，并且每次操作的时候都返回同样的结果。即：做多次和做一次的效果是一样 的。

二、使用场景

幂等性问题在我们开发过程中、高并发、分布式、微服务架构中随处可见的，具体举例以下几个经常遇到的场景


	网络波动

	因网络波动，可能会引起重复请求
	
	
	MQ消息重复
	
生产者已把消息发送到mq，在mq给生产者返回ack的时候...]]></description><category></category></item><item><title><![CDATA[JNI原理总结]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/103738583</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/103738583</guid><author>yangxujia</author><pubDate>Fri, 27 Dec 2019 21:26:07 +0800</pubDate><description><![CDATA[原理：

1 、创建java native 方法

2、编译生成class文件

3、使用java自带工具Javah生成.h 文件

4、编写CPP代码, 实现具体调用

5、生成dll（windows） 或者.so 文件（Linux）

6、执行java程序

原理图




...]]></description><category></category></item><item><title><![CDATA[Netty 问题]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/103237742</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/103237742</guid><author>yangxujia</author><pubDate>Mon, 25 Nov 2019 14:45:00 +0800</pubDate><description><![CDATA[1.BIO、NIO和AIO的区别？
BIO：一个连接一个线程，客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。
伪异步IO：将请求连接放入线程池，一对多，但线程还是很宝贵的资源。
NIO：一个请求一个线程，但客户端发送的连接请求都会注册到多路复用器上，多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。
AIO：一个有效请求一个线程，客户端的I/O请求都是由OS先完成了再通...]]></description><category></category></item><item><title><![CDATA[ThreadPoolExecutor 分析]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/102944079</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/102944079</guid><author>yangxujia</author><pubDate>Wed, 06 Nov 2019 23:02:43 +0800</pubDate><description><![CDATA[先看看构造函数：


    public ThreadPoolExecutor(int corePoolSize,
                              int maximumPoolSize,
                              long keepAliveTime,
                              TimeUnit u...]]></description><category></category></item><item><title><![CDATA[为什么BigDecimal 计算不丢进度？]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/102921895</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/102921895</guid><author>yangxujia</author><pubDate>Tue, 05 Nov 2019 19:08:58 +0800</pubDate><description><![CDATA[1、先说下new BigDecimal("1.005") 和 new BigDecimal(1.005) 的差异

new BigDecimal(1.005)依然会丢进度，什么原因？因为传入的参数已经是double了，double本身存储就会丢数据，具体可以看我上篇文章浮点数加减丢失精度原因剖析。那为什么new BigDecimal("1.005") 不会丢数据（极端情况下还是会的）？先上代码

...]]></description><category></category></item><item><title><![CDATA[深入理解JVM—JVM内存模型]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/84660520</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/84660520</guid><author>yangxujia</author><pubDate>Fri, 30 Nov 2018 16:49:50 +0800</pubDate><description><![CDATA[我们知道，计算机CPU和内存的交互是最频繁的，内存是我们的高速缓存区，用户磁盘和CPU的交互，而CPU运转速度越来越快，磁盘远远跟不上CPU的读写速度，才设计了内存，用户缓冲用户IO等待导致CPU的等待成本，但是随着CPU的发展，内存的读写速度也远远跟不上CPU的读写速度，因此，为了解决这一纠纷，CPU厂商在每颗CPU上加入了高速缓存，用来缓解这种症状，因此，现在CPU同内存交互就变成了下面的样子...]]></description><category></category></item><item><title><![CDATA[浮点数加减丢失精度原因剖析]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/82766130</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/82766130</guid><author>yangxujia</author><pubDate>Thu, 20 Sep 2018 15:52:41 +0800</pubDate><description><![CDATA[这里以1.005为例子，模拟二进制存储

1为整数位




package baseJava;

import java.math.BigDecimal;
import java.util.HashMap;

public class DoubleTest {
	
	public static void main(String[] args) {
		double decimalPart = ...]]></description><category></category></item><item><title><![CDATA[MySQL explain用法]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/56486241</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/56486241</guid><author>yangxujia</author><pubDate>Wed, 22 Feb 2017 15:42:44 +0800</pubDate><description><![CDATA[EXPLAIN显示了MySQL如何使用索引来处理SELECT语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。

使用方法，在select语句前加上EXPLAIN就可以了：

如：

EXPLAIN SELECT `surname`,`first_name` FORM `a`,`b` WHERE `a`.`id`=`b`.`id` 



EXPLAIN列的解释：
]]></description><category></category></item><item><title><![CDATA[eclipse 去除XML验证]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/53462110</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/53462110</guid><author>yangxujia</author><pubDate>Mon, 05 Dec 2016 09:21:17 +0800</pubDate><description><![CDATA[1.菜单【Windows】 -【Preperences】-【Validation】
2.在右边找到“XML Validator”，把取消【Bulid】复选框的选中状态，保持【Manual】 的选中状态，因为我们最后还需要确保XML的正确性，这个可以通过选择XML文件，在右键菜单中选择【Validate】手工来验证，如果XML有错，会弹出窗口提示，但如果把【Manual】复选框也取消的话，再手工验]]></description><category></category></item><item><title><![CDATA[mysql分表存储过程]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/53036528</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/53036528</guid><author>yangxujia</author><pubDate>Fri, 04 Nov 2016 16:38:10 +0800</pubDate><description><![CDATA[分表存储过程
CREATE DEFINER=`hs_us_hq`@`%` PROCEDURE `bk_trade_data`()
BEGIN
    #Routine body goes here...
IF EXISTS (
    select * from us_trade_date
where TRADE_DATE = DATE(NOW())  and status = 1
) THEN
]]></description><category></category></item><item><title><![CDATA[序列化总结]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/53021926</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/53021926</guid><author>yangxujia</author><pubDate>Thu, 03 Nov 2016 18:02:00 +0800</pubDate><description><![CDATA[序列化方式

Serializable，Externalizable，KRYO，FastJSON

以下是序列化1千万个对象并写入本地的过程比较







序列化1千万个对象
Serializable
Externalizable
kryo

FastJSON


耗时(毫秒)
8387
7981
856

4000


对象大小（MB）]]></description><category></category></item><item><title><![CDATA[java ftp 断点下载，异常重连]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/52769847</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/52769847</guid><author>yangxujia</author><pubDate>Sun, 09 Oct 2016 19:47:33 +0800</pubDate><description><![CDATA[package com.yang.task.utils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.concurrent.Cal...]]></description><category></category></item><item><title><![CDATA[Maven 手动添加 JAR 包到本地仓库]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/51656768</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/51656768</guid><author>yangxujia</author><pubDate>Mon, 13 Jun 2016 12:27:03 +0800</pubDate><description><![CDATA[Maven 确确实实是个好东西，用来管理项目显得很方便，但是如果是通过 Maven 来远程下载 JAR 包的话，我宿舍的带宽是4兆的，
4个人共用，有时候用 Maven 来远程下载 JAR 包会显得很慢，一般我发现下载速度不明显的时候，我就 Ctrl + C 来终止它的下载。
然后改用手动来下载，因为用迅雷一类的工具来下载会快很多。我机子上 Maven 的本地仓库的很多 JAR 包我都是手动下]]></description><category></category></item><item><title><![CDATA[springMVC 接收支付宝回调接口]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/51500648</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/51500648</guid><author>yangxujia</author><pubDate>Wed, 25 May 2016 18:24:49 +0800</pubDate><description><![CDATA[/**
		 *  1、支付宝充值，或者任务支付
		 * @author yangxujia
		 * @throws UnsupportedEncodingException 
		 * @date 2015年10月28日上午11:44:07
		 */
		@RequestMapping(&quot;/receiveFromAlipay.do&quot;)
		@ResponseBody
		public St...]]></description><category></category></item><item><title><![CDATA[xml 报文转对象方法]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/51500587</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/51500587</guid><author>yangxujia</author><pubDate>Wed, 25 May 2016 18:17:05 +0800</pubDate><description><![CDATA[import java.io.StringReader;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

public class XmlTransTools {
	public static T Xml2JBean(Strin]]></description><category></category></item><item><title><![CDATA[javaIOzongji]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/51500118</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/51500118</guid><author>yangxujia</author><pubDate>Wed, 25 May 2016 17:32:51 +0800</pubDate><description><![CDATA[//		System.out.println(buildCartTypes());
		System.out.println(buildInfos());
		//读取文件操作
		//1、使用BufferReader ,FileReader进行读取
		String filePath = "."+File.separator+"data"+File.separator+"car.dat";
		]]></description><category></category></item><item><title><![CDATA[spring data jpa batch批处理]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/51315797</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/51315797</guid><author>yangxujia</author><pubDate>Wed, 04 May 2016 16:09:47 +0800</pubDate><description><![CDATA[1

public interface BatchDao
 {









2

    public void batchInsert(List
 list);









3

     









4

    public void batchUpdate(List
 list);

]]></description><category></category></item><item><title><![CDATA[9.1  数据库事务概述]]></title><link>https://blog.youkuaiyun.com/yangxujia/article/details/51262541</link><guid>https://blog.youkuaiyun.com/yangxujia/article/details/51262541</guid><author>yangxujia</author><pubDate>Wed, 27 Apr 2016 17:01:15 +0800</pubDate><description><![CDATA[9.1  数据库事务概述http://www.cnblogs.com/duanxz/p/3788190.html

事务首先是一系列操作组成的工作单元，该工作单元内的操作是不可分割的，即要么所有操作都做，要么所有操作都不做，这就是事务。

 

事务必需满足ACID（原子性、一致性、隔离性和持久性）特性，缺一不可：

原子性（Atomicity）：即事务是不可分割的最小工作单元，事]]></description><category></category></item></channel></rss>